特定の.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)

スクリプトは1つのパラメータ、つまりデスクトップファイルのフルパスを使用します。

myscript /usr/share/applications/eog.desktop

スクリプトはアプリケーションでサポートされているMIMEタイプのリストをインポートし、リスト内の各項目にデフォルトのハンドラーをインポートし、同じアプリケーションの場合はMIMEタイプを印刷します。


解析を試してみることもできますmimeapps.listmimeinfo.cacheまたはdefaults.list(後者は使用されなくなりました。を参照)freedesktop.orgの仕様可能なファイル名と場所)から関連情報を抽出しますが、一部のディストリビューションでは一部のファイルが欠落して結果が異なる可能性があります。

おすすめ記事