리눅스 팁 & 테크

조회 수 780 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

DOS용 (타자연습) 프로그램을 /usr/share에 집어넣고 $HOME에 프로그램 데이터를 집어넣을 수 있는 방법을 간략하게 연구해 봤습니다. overlayfs는 root 권한이 있어야지만 사용이 가능해서 unionfs-fuse와 fuse-zip을 써서 프로그램과 프로그램 데이터를 분리했습니다. root가 아닌 일반 유저가 직접 실행하는 쉘 스크립트를 작성하였습니다.


#!/bin/sh


# Command Arguments

zipfile=/usr/share/한컴타자연습-97/htt.zip

dosboxconf=/usr/share/한컴타자연습-97/dosbox.conf

progname=한컴타자연습97

exepath=HTT.exe


# Internal Variables

lower=/tmp/dosbox-launcher/$progname/lower
merged=/tmp/dosbox-launcher/$progname/merged

upper=~/.dosbox-launcher/$progname


fuse-zip -r $zipfile $lower
unionfs -o cow,hide_meta_files $upper=RW:$lower=RO $merged
dosbox -exit \
       -userconf \
       -conf $dosboxconf \
       -conf ~/.config/dosbox-launcher/dosbox-$progname.conf \
       $merged/$exepath
fusermount -u $merged

fusermount -u $lower


이 쉘 스크립트는 그냥 예제일 뿐이므로 실제로 패키지를 만들면 좀 더 잘 만들어야겠죠. 예를 들어서 파이썬으로 만들 수도 있구요. 이 쉘 스크립트를 각각의 DOS 프로그램 패키지에 직접 포함시킬 수도 있고 아니면 dosbox-launcher라는 프로그램으로 분리해서 여러 DOS용 프로그램과 공유할 수도 있다고 봅니다.


제가 구상한 한컴타자연습 97 패키지의 구성을 보여드리겠습니다.


1. /usr/share/한컴타자연습-97/htt.zip


2. /usr/share/한컴타자연습-97/dosbox.conf


3. /usr/bin/hancom_typing_practice-97


dosbox-launcher -zipfile /usr/share/한컴타자연습-97/htt.zip -dosboxconf /usr/share/한컴타자연습-97/dosbox.conf -progname 한컴타자연습97 -exepath HTT.exe


4. /usr/share/applications/hancom_typing_practice-97.desktop


[Desktop Entry]
Type=Application
Name=한컴타자연습 97
GenericName=DOS용 타자연습 프로그램
Comment=DOS용 타자연습 프로그램
Exec=hancom_typing_practice-97

Icon=한컴타자연습-97 # 적당한 아이콘이 없으면 dosbox 아이콘 또는 dos 아이콘을 활용하는 것을 추천


5. /usr/share/icons/hicolor/**x**/apps/한컴타자연습-97.png


List of Articles
번호 제목 추천 수 글쓴이 날짜 조회 수
공지 유튜브 프리미엄 우회 결제 - 우크라이나 file 1 Kevin 2023.12.17 4024
공지 리눅스에서 자기 노트북의 모델명이 무엇인지 궁금할때는 dmidecode file 1 Kevin 2023.12.17 300
공지 하드웨어 호환성을 확인하고 싶을 때는 linux-hardware.org 를 사용해보세요 file 0 Kevin 2023.11.23 657
공지 하모니카 7.0 카카오톡 hidpi 설정하기 1 file 0 Kevin 2023.11.22 426
공지 리브레오피스에서 hwp 사용하기 4 file 0 타조 2023.10.11 943
861 HamoniKR 4.0 Jin x86_64 stacer 실행되게 하는 방법 1 0 떠똘2 2021.03.11 681
860 드래곤 퀘스트 XI S 데모 스팀버젼 세이브 데이터. 본편에 연동시키기. 4 0 만화가엄두 2021.03.10 5855
859 나만의 단축명령 만들어 사용하기 팁 3 0 Japser 2021.03.06 3928
858 FireFox에 터치스크린 멀티제스쳐 사용해 보기 0 재팔 2021.02.27 680
857 중요한 파일을 실수로 지우지 않도록 하기 위한 팁 2 0 Japser 2021.02.19 1111
856 카톡으로 영상통화하기 3 0 Enter 2021.02.08 1513
855 크롬 구글 두 번 중복 입력시 순간 해결법 0 떠똘2 2021.01.25 548
854 [아치기반/Xfce] Windows 10 랑 똑닮은 테마 설치법입니다. 3 0 감자리아 2021.01.15 1485
853 리눅스 민트 d일 날짜 표시 버그 2 0 K-Lint.net 2021.01.11 402
852 별거아닌 강좌 1 - 터미널에서 압축 해제하기 4 file 0 민트초코너무좋아 2021.01.07 704
851 리눅스 업데이트후 이상시 편하게 복구하기 5 0 떠똘2 2021.01.02 649
850 크롬에서 텍스트를 드래그로 선택하고 가운데 버튼으로 붙여넣기 2 0 iloveapink 2020.12.19 1041
849 wine 설치 후 윈도우 프로그램 photofiltre 사용하기 file 0 재롱이 2020.11.29 588
848 투자자들의 성향을 알고 싶다면??? 1 0 식혜고양이 2020.10.19 461
847 우분투 20.04 사운드 소리안날때 해결방법 0 떠똘2 2020.10.09 3148
846 리눅스용 백신 관련 기사 입니다. 2 0 재팔 2020.10.04 711
845 시동디스크 만들기 iso 인식안될때 0 떠똘2 2020.09.28 366
844 우분투 20.04 ibus 버그 2 0 히나땅마지텐시 2020.09.14 580
843 프리징 ?? 1 0 Enter 2020.09.05 516
842 리눅스의 재미는 이런거 할 때 같아요. 기타 잡담. 1 1 storia 2020.09.05 928
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 47 Next
/ 47
CLOSE