ImageMagick과 Eye of GNOME은 이미지 유형(예: image/jpeg
등 image/png
)을 광범위하게 지원하므로 EOG의 우선 순위를 지정하는 유일한 방법은 지원되는 형식을 확인하고 .desktop
기본 응용 프로그램 섹션에 나열하거나 사용자 mimeapps.list
정의 링크를 유지하는 것이라고 생각합니다. update-alternatives
형식은 하나의 응용 프로그램에서 지원할 수 없지만 다른 응용 프로그램에서는 지원할 수 있습니다.
어쩌면 애플리케이션 우선순위가 있고 여러 애플리케이션에서 지원되는 "해결되지 않은" MIME 유형을 처리하는 더 쉬운 방법이 있을까요?
답변1
.desktop
모든 GUI 응용 프로그램은 처리할 수 있는 MIME 유형을 설명하는 파일을 제공해야 한다는 아이디어입니다 .
를 사용하면 xdg-mime query default <MIME type>
특정 MIME 유형에 대한 현재 기본 애플리케이션을 찾을 수 있습니다. .desktop
애플리케이션 파일에 지정된 애플리케이션 ID를 반환합니다 .
xdg-mime default <application id> <MIME type...>
특정 응용 프로그램을 하나 이상의 MIME 유형에 대한 기본 응용 프로그램으로 설정할 수도 있습니다 .
MIME 유형별로 우선순위를 설정하는 것이 애플리케이션별로 우선순위를 설정하는 것보다 더 의미가 있습니다. 예를 들어, 이미지 브라우저는 디렉토리를 "열어" 그 안의 모든 이미지에 대한 썸네일 보기를 생성할 수 있으므로 해당 디렉토리 inode/directory
에 대한 MIME 유형이 나열 됩니다. . 그러나 일반적으로 이미지 브라우저가 범용 디렉토리를 여는 기본 도구가 되는 것을 원하지 않을 것입니다.
Bluetooth를 통해 파일을 전송하는 데 사용할 수 있는 도구와 같은 일부 유틸리티는 모든 파일에 대해 작동할 수 있습니다. 이러한 유틸리티는 all/allfiles
해당 유틸리티에 대한 의사 MIME 유형을 나열합니다. 해당 유형이 무엇인지 먼저 확인하지 않고 "이 유틸리티가 처리할 수 있는 모든 것보다 우선순위를 갖도록 하십시오"라고 쉽게 말할 수 있는 경우, 이와 같은 유틸리티에 적용하면 재앙적인 결과를 초래할 수 있습니다.
특정 프로그램의 모든 MIME 유형이 기본 유형으로 적합하다고 판단되면 다음 명령을 사용하여 그렇게 할 수 있습니다.
#!/bin/sh
APP_ID=$(basename "$1" .desktop)
xdg-mime default $APP_ID $(grep ^MimeType "$1" | cut -d = -f 2- | tr ';' ' ')
예를 들어, 응용 프로그램 데스크탑 파일이 다음과 같은 경우 /usr/share/applications/org.kde.gwenview.desktop
(데스크톱 파일 이름에 응용 프로그램 ID가 포함되어 있다고 가정) 이 스크립트를 시작할 수 있으며 name-of-script.sh /usr/share/applications/org.kde.gwenview.desktop
스크립트가 실행될 때 처리할 수 있는 모든 MIME 유형에 대한 기본 응용 프로그램으로 응용 프로그램이 설정됩니다. 사용자 계정.