특정 .desktop 파일의 기본 MIME 유형을 나열합니다.

특정 .desktop 파일의 기본 MIME 유형을 나열합니다.

다음과 같은 작업을 수행 하여 파일이 처리할 수 있는 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 사양가능한 파일 이름 및 위치)에서 관련 정보를 추출하지만 일부 배포판에서는 일부 파일이 누락되어 결과가 달라질 수 있습니다.

관련 정보