查找与 MIME 类型相关的所有程序

查找与 MIME 类型相关的所有程序

如何查找与 MIME 类型相关的所有程序?可以在默认的系统范围目录。例如,对于application/pdf

grep -ls application/pdf /usr/share/applications/*

/usr/share/applications列出与 相关的所有程序文件application/pdf

但这会忽略其他目录,特别是用户级目录。

有没有类似的命令

xdg-mime query default application/pdf

列出所有关联程序,而不仅仅是默认程序?

答案1

这是一个简短的 Python 程序:

#!/usr/bin/env python3

from gi.repository import Gio
import sys

if len(sys.argv) != 2:
    print('Error: Exactly one command line argument needed')
    sys.exit(1)

for app in Gio.app_info_get_all_for_type(sys.argv[1]):
    print(app.get_id())

将其保存在文件中,例如/usr/local/bin/mimeapps。然后你可以像这样使用它

$ mimeapps text/plain  
emacs.desktop
libreoffice-writer.desktop
pluma.desktop
vim.desktop

相关内容