이 솔루션을 모아 문제를 해결하고 텍스트 파일 및 글꼴 파일을 열어 KDE 및 XFCE에서 테스트했습니다. 다양한 데스크탑 환경 및 MIME 유형에 적용 할 수있는 일반적인 솔루션입니다. 작동 방식은 데스크탑 환경에 따라 다른 응용 프로그램을 사용하여 파일을 여는 custom-open이라는 간단한 Python 스크립트가 있습니다. 솔루션을 설정하는 단계는 다음과 같습니다.
- 컴퓨터에 사용자 정의 스크립트를 저장하는 것이 바람직하지만 반드시 그럴 필요는 없습니다.
- 홈 디렉토리 ~ / .custom-open.ini에 .custom-open.ini를 저장하십시오.
- 처리하려는 파일 형식의 기본 응용 프로그램으로 custom-open을 설정하십시오.
주문 제작
#!/usr/bin/env python
import traceback, sys, os, ConfigParser, os.path
from subprocess import Popen, check_output
from gtk import MessageDialog, MESSAGE_ERROR, BUTTONS_CLOSE
try:
file, desktop = sys.argv[1], os.environ['DESKTOP_SESSION']
mime = check_output(['file', '--mime-type', file]).strip().split(': ')[1]
config = ConfigParser.RawConfigParser()
config.read(os.path.expanduser('~/.custom-open.ini'))
cmd = config.get(desktop, mime)
Popen([cmd] + sys.argv[1:])
except:
msg = "CUSTOM OPEN ERROR\n\n" + traceback.format_exc()
MessageDialog(None, 0, MESSAGE_ERROR, BUTTONS_CLOSE, msg).run()
.custom-open.ini
[gnome]
text/plain = gedit
application/x-font-ttf = gnome-font-viewer
[xubuntu]
text/plain = leafpad
application/x-font-ttf = gnome-font-viewer
[kde-plasma]
text/plain = kate
application/x-font-ttf = kfontview
이 솔루션의 가장 큰 장점은 원하는만큼 새로운 데스크탑 환경과 원하는 MIME 유형을 추가 할 수 있다는 것입니다. 데스크탑 환경에 제공해야하는 이름을 확인하려면 터미널에서 아래 명령을 실행하십시오.
env | grep -i DESKTOP_SESSION
파일의 정확한 MIME 유형을 확인하려면 다음을 실행하십시오.
file --mime-type filename
편집 : 기호 링크가 필요하지 않아 사용하기가 쉽습니다. 또한 오류가 발생하면 경고를 표시하는 그래픽 오류 처리기를 추가했습니다.