다음과 같은 작업을 수행 하여 파일이 처리할 수 있는 MIME 유형을 나열할 수 있습니다 .desktop
.
$ grep 'MimeType' /usr/share/applications/eog.desktop | tr ';' '\n'
MimeType=image/bmp
image/gif
image/jpeg
image/jpg
image/pjpeg
image/png
image/tiff
...
다음을 사용하여 특정 MIME 유형에 대한 기본 애플리케이션을 표시할 수 있습니다 gvfs-mime
.
$ gvfs-mime --query image/tiff
Default application for 'image/tiff': eog.desktop
Registered applications:
eog.desktop
gimp.desktop
...
Recommended applications:
eog.desktop
gimp.desktop
...
또는 다음과 같이 gio
:
$ gio mime image/tiff
Default application for “image/tiff”: eog.desktop
Registered applications:
eog.desktop
gimp.desktop
...
Recommended applications:
eog.desktop
gimp.desktop
...
eog.desktop
하지만 실제로 처리된 MIME 유형을 나열하는 방법은 무엇입니까 ?
답변1
나는 이것을 할 수 있는 어떤 도구도 모른다.
하지만 직접 쓸 수도 있습니다. 이것은 다음을 사용하여 모든 시스템에서 실행되어야 하는 매우 간단한 python3 스크립트입니다.지오아래(예: Gnome 3):
#!/usr/bin/env python
from sys import argv
from gi.repository import Gio
app = argv[1]
glauncher = Gio.DesktopAppInfo.new_from_filename(app)
for mtype in Gio.AppInfo.get_supported_types(glauncher):
ghandler = Gio.AppInfo.get_default_for_type(mtype, False)
launcher = glauncher.get_executable()
handler = ghandler.get_executable()
if launcher == handler:
print (mtype)
스크립트는 하나의 매개변수, 즉 데스크톱 파일의 전체 경로를 사용합니다.
myscript /usr/share/applications/eog.desktop
스크립트는 애플리케이션에서 지원하는 MIME 유형 목록을 가져온 다음 목록의 각 항목에 대해 기본 핸들러를 가져오고 동일한 애플리케이션인 경우 MIME 유형을 인쇄합니다.
구문 분석을 시도해 볼 수도 있을 것 같습니다 mimeapps.list
. mimeinfo.cache
또는 defaults.list
(후자는 더 이상 사용되지 않습니다. 참조)freedesktop.org 사양가능한 파일 이름 및 위치)에서 관련 정보를 추출하지만 일부 배포판에서는 일부 파일이 누락되어 결과가 달라질 수 있습니다.