Linux에서 파일 확장자 / MIME 유형 등록
자체 파일 형식이있는 Linux 응용 프로그램을 개발 중입니다. 해당 파일을 두 번 클릭하면 내 앱이 열리기를 원합니다.
파일 확장자를 등록하고 Linux에서 내 애플리케이션과 연결하려면 어떻게해야합니까? 저는 표준 (GNOME 및 KDE 기반 시스템에서 작동) 방식을 찾고 있으며 프로그램이 처음 설치되거나 실행될 때 자동으로 수행 될 수 있습니다.
freedesktop.org Portlandxdg-utils
에서 사용합니다 .
MIME 유형에 대한 아이콘을 등록하십시오.
xdg-icon-resource install --context mimetypes --size 48 myicon-file-type.png x-application-mytype
구성 파일 ( freedesktop 공유 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-mime install mytype-mime.xml
이렇게하면 파일이 인식되고 아이콘과 연결됩니다. 파일을 설치 xdg-mime default
한 후 응용 프로그램을 MIME 유형과 연결하는 데 사용할 수 있습니다 .desktop
.
여기에는 두 부분이 있습니다. 새 파일 형식 을 등록한 다음 응용 프로그램에 대한 데스크톱 항목을 만들어야합니다 . 데스크탑 항목은 응용 프로그램을 새 MIME 유형과 연결합니다.
나는 Gnome과 KDE (아마도 4+?)가 freedesktop shared mime info spec을 사용했다고 생각 했지만, 제가 틀렸을 수도 있습니다.
1) 리눅스에서 이것은 OS 자체가 아니라 데스크탑 환경의 기능입니다.
2) GNOME과 KDE는이를 수행하는 방법이 다릅니다.
3) 두 가지 방법을 모두 수행하는 데 방해가되는 것은 없습니다.
이 스크립트를 시도하십시오 : 필요 :
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)에 있습니다.
ReferenceURL : https://stackoverflow.com/questions/30931/register-file-extensions-mime-types-in-linux
'programing' 카테고리의 다른 글
Mac OS가 Chrome에서 "Google로 검색"을 열도록 강제하는 방법 (0) | 2021.01.15 |
---|---|
TimerTask 대 Thread.sleep 대 핸들러 postDelayed-N 밀리 초마다 함수를 호출하는 것이 가장 정확합니까? (0) | 2021.01.15 |
iOS 키 체인 보안 (0) | 2021.01.15 |
워크 시트 데이터에 대해 SQL과 유사한 쿼리를 만드는 Excel 기능? (0) | 2021.01.15 |
오픈 그래프는 상대 URL을 확인할 수 있습니까? (0) | 2021.01.15 |