리눅스 팁 & 테크

조회 수 781 추천 수 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 4146
공지 리눅스에서 자기 노트북의 모델명이 무엇인지 궁금할때는 dmidecode file 1 Kevin 2023.12.17 352
공지 하드웨어 호환성을 확인하고 싶을 때는 linux-hardware.org 를 사용해보세요 file 0 Kevin 2023.11.23 688
공지 하모니카 7.0 카카오톡 hidpi 설정하기 1 file 0 Kevin 2023.11.22 460
공지 리브레오피스에서 hwp 사용하기 4 file 0 타조 2023.10.11 1031
881 [백신] 7가지 무료 리눅스 안티 바이러스 3 file 0 행복한펭귄 2017.06.25 10213
880 멜론 웹 플레이어로 음악듣기 4 file 0 Sound:D 2016.02.23 10048
879 작은 교회에서 커뮤니티 실비아판 사용하기 24 0 산돌이네 2018.04.01 9926
878 필요에 따른 유틸 설치 3 0 string 2016.05.31 9845
877 비주얼 베이직 6.0 사용하기 3 file 0 행복한펭귄 2016.01.20 9829
876 [사용기] 음악재생기와 NAS 그리고 환경꾸미기 13 0 바람곰돌 2018.05.03 9649
875 [팁] 블루투스 인식 후 재부팅해도 다시 사용할 수 있도록 하는 방법 0 행복한펭귄 2016.04.15 9561
874 [강좌] 블랜더(Blender) 3D 그래픽 file 0 행복한펭귄 2016.04.01 9492
873 리눅스도 MS윈도우 처럼 봉인도구가 있는지요? 6 0 성남시컴퓨터협동조합 2015.04.09 9417
872 리눅스 실시간 게임 방송 (twitch) 오픈했습니다. 2 0 온라인 2015.04.20 9280
871 [잡담] 재미있는 OS 이야기 10 file 0 행복한펭귄 2016.02.24 9219
870 [개인 서버 구축 가이드] ③ 파일 공유 서버 (samba-초급) 5 file 0 legoboss 2016.04.05 9197
869 [개인 서버 구축 가이드] ⑧ DB 서버 (mariadb) 2 file 0 legoboss 2016.05.09 9135
868 Ⅰ-6. 폴더 공유하기(공유폴더) 12 file 0 하모니카매뉴얼 2015.02.12 8936
867 중국산 노트북에 리눅스 설치한 이야기 0 세벌 2014.12.05 8928
866 키모음 잠금 풀기 팝업이 뜰 때 해결하는 방법 0 bagjunggyu 2015.07.19 8916
865 우분투 16.04에서 런처를 왼쪽에서 아래로 내리기 2 file 0 string 2016.05.03 8884
864 [개인 서버 구축 가이드] ⑤ 파일 공유 서버 (samba-고급) 1 0 legoboss 2016.04.07 8868
863 아치리눅스 + xfce4 + i3 후기입니다. 2 file 1 가벼운게최고 2019.11.12 8704
862 [게임] 바둑 glgo / playok baduk / KGS go Server 1 file 0 행복한펭귄 2016.03.11 8651
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 47 Next
/ 47
CLOSE