고유 한 파일 형식을 가진 Linux 응용 프로그램을 개발 중입니다. 그 파일을 더블 클릭하면 내 앱이 열리길 원합니다.리눅스에서 파일 확장자/MIME 유형을 등록하십시오.
파일 확장자를 등록하고이를 Linux의 내 응용 프로그램과 연관시키는 방법은 무엇입니까? 표준 (GNOME 및 KDE 기반 시스템에서 작동하는 방식)을 찾고 있으며 프로그램을 처음 설치하거나 실행할 때 자동으로 수행 할 수 있습니다.
고유 한 파일 형식을 가진 Linux 응용 프로그램을 개발 중입니다. 그 파일을 더블 클릭하면 내 앱이 열리길 원합니다.리눅스에서 파일 확장자/MIME 유형을 등록하십시오.
파일 확장자를 등록하고이를 Linux의 내 응용 프로그램과 연관시키는 방법은 무엇입니까? 표준 (GNOME 및 KDE 기반 시스템에서 작동하는 방식)을 찾고 있으며 프로그램을 처음 설치하거나 실행할 때 자동으로 수행 할 수 있습니다.
xdg-utils
부터 freedesktop.org Portland까지를 사용하십시오.
MIME 타입의 아이콘 등록
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-mytype">
<comment>A witty comment</comment>
<comment xml:lang="it">Uno Commento</comment>
<glob pattern="*.myapp"/>
</mime-type>
</mime-info>
구성 파일을 설치합니다 :
xdg-icon-resource install --context mimetypes --size 48 myicon-file-type.png x-application-mytype
구성 파일 (freedesktop Shared MIME documentation)을 만들기
xdg-mime install mytype-mime.xml
이 파일은 인식됩니다 아이콘과 연결되어 있습니다. xdg-mime default
을 사용할 수 있습니다. .desktop
파일을 설치 한 후 응용 프로그램을 MIME 형식과 연결합니다.
1) 리눅스에서 이것은 os 그 자체보다는 데스크탑 환경의 기능입니다.
2) 그놈과 KDE는이를 수행하는 다른 방법을 가지고 있습니다.
3) 두 가지 일을 모두 막을 수있는 방법은 없습니다.
두 부분으로되어 있습니다. register a new file type이 필요하고 create a desktop entry for your application이 필요합니다. 바탕 화면 항목은 응용 프로그램을 새 MIME 유형과 연결합니다.
나는 Gnome과 KDE (아마 4+ 만?)가 freedesktop shared mime info spec을 사용한다고 생각했지만 틀렸을 수도 있습니다.
이 스크립트를 시도해보십시오 필요 : 현재 디렉토리에
1. your application icon -> $APP = FIREFOX.png
2. your mimetype icon -> application-x-$APP = HTML.png
:
#BASH SCRIPT: Register_my_new_app_and_its_extension.sh
APP="FOO"
EXT="BAR"
COMMENT="$APP's data file"
# Create directories if missing
mkdir -p ~/.local/share/mime/packages
mkdir -p ~/.local/share/applications
# Create mime xml
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<mime-info xmlns=\"http://www.freedesktop.org/standards/shared-mime-info\">
<mime-type type=\"application/x-$APP\">
<comment>$COMMENT</comment>
<icon name=\"application-x-$APP\"/>
<glob pattern=\"*.$EXT\"/>
</mime-type>
</mime-info>" > ~/.local/share/mime/packages/application-x-$APP.xml
# Create application desktop
echo "[Desktop Entry]
Name=$APP
Exec=/usr/bin/$APP %U
MimeType=application/x-$APP
Icon=$APP
Terminal=false
Type=Application
Categories=
Comment=
"> ~/.local/share/applications/$APP.desktop
# update databases for both application and mime
update-desktop-database ~/.local/share/applications
update-mime-database ~/.local/share/mime
# copy associated icons to pixmaps
cp $APP.png ~/.local/share/pixmaps
cp application-x-$APP.png ~/.local/share/pixmaps
확인 : FOO 바이너리는/usr/bin에 ($ PATH에 또는이)
우분투 9.04 및 페도라 코어 10에는 기본적으로 xdg 유틸리티가 설치되어 있습니다 – jldupont