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

번호 제목 글쓴이 날짜 조회 수
공지 [설치기] 리눅스민트 19 클린 설치 후기 [3] 바람곰돌 2018.07.12 2474
공지 리눅스에서 사용하는 소프트웨어 개발 편집기 [10] Kevin 2018.05.29 1970
공지 [사용기] 음악재생기와 NAS 그리고 환경꾸미기 [13] 바람곰돌 2018.05.03 1484
공지 우분투 18.04 LTS Bionic Beaver를 써보았습니다! [18] la_Nube 2018.04.28 9121
공지 만자로를 쓰다가 [3] 꼬꼬댁 2018.04.28 3453
공지 리눅스 대초보자의 Deepin OS 사용 후기 공유합니다. [22] PEACH 2018.04.27 3509
공지 작은 교회에서 커뮤니티 실비아판 사용하기 [21] 산돌이네 2018.04.01 1364
공지 리눅스 사용기 및 팁엔테크 게시판 사용 도움말 관리자 2014.11.03 51598
752 투자사의 정보를 알고 싶다면?? 식혜고양이 2019.01.05 108
751 [설치기] 리눅스 민트 19.1 테사 업그레이드 [3] file 바람곰돌 2018.12.25 782
750 일본 경제, IT 소식을 듣고 싶다면?! 식혜고양이 2018.12.23 102
749 또 하나의, 논문 제공 Site! [1] 식혜고양이 2018.12.21 156
748 인공위성 관련 지식을 알고 싶다면?? [1] 식혜고양이 2018.12.21 94
747 전세계 영화 소식을 듣고 싶다면?? [2] 식혜고양이 2018.12.21 116
746 만자로로 리눅스 입문했습니다 :) [8] mstq 2018.12.18 739
745 (후기) 리눅스민트로 리눅스 처음 사용 시작했습니다 [7] ansksgks 2018.12.16 2086
744 젠투 리눅스에서 도스용 타자 연습 프로그램을 까는 방법 [1] espresso-tiger 2018.11.28 293
743 linux 정보 update???? 식혜고양이 2018.11.17 178
742 또 하나의 photoshop 대체 site! [1] 식혜고양이 2018.11.16 339
741 또 하나의, IT 통계 Site! 식혜고양이 2018.11.08 142
740 젠투 리눅스 설치 가이드 whjeon 2018.11.07 391
739 아치 리눅스 설치 가이드 whjeon 2018.11.07 598
738 앱이미지 샌드박싱. 그리고 유사 프로젝트. [1] Ohnine 2018.11.04 135
737 물리학을 공부하고 싶다면??! [1] 식혜고양이 2018.10.27 216
» DOS용 프로그램을 리눅스 패키지로 만드는 방법 Diablo 2018.10.21 266
735 리눅스에서 타자연습을 하는 최적의 방법 [6] file Diablo 2018.10.17 953
734 오픈소스 게임엔진 : Godot Engine [1] 어쩜이럴수가 2018.10.16 328
733 LibreOffice 구버전 설치법 [3] Moordev 2018.10.09 298
loginbox
아직 회원이 아니세요? MEMBER JOIN