【发布时间】:2015-11-10 15:10:00
【问题描述】:
如何获得能够打开特定文件类型/MIME 类型的应用程序列表?我正在寻找 Linux 上独立于桌面环境的解决方案。
我找到了获取文件 MIME 类型的可能性。:
~> xdg-mime query filetype test.svg
image/svg+xml
然后我可以查询该 MIME 类型的默认应用程序。:
~> xdg-mime query default image/svg+xml
eog.desktop
是否还有一种解决方案可以获取可用于该文件的程序列表(非默认)?
例如在 GNOME 桌面上,如果我选择用另一个应用程序打开 *.json 文件,我可以看到三个推荐用于打开文件的应用程序(Atom、Gedit、Builder)。
如果我选择显示所有应用程序,我还可以看到进一步关联的应用程序(LibreOffice Writer)。:
我找到了文件/home/user/.config/mimeapps.list,其内容如下:
[Added Associations]
text/html=atom.desktop;firefox.desktop;midori.desktop;org.gnome.gedit.desktop;brackets.desktop;
application/javascript=atom.desktop;org.gnome.Builder.desktop;org.gnome.gedit.desktop;
并且还有一个 mime 类型的相关应用程序,但我找不到在 Arch Linux wiki 中提到的全局 mimeapps.list 文件。
【问题讨论】:
-
命令“file -i
”有帮助吗? -
我不知道。据我所见,我得到一个错误的 MIME 类型一个 SVG 文件
file -i test.svg test.svg: text/html; charset=us-ascii我也不知道如何获得所需的应用程序列表。 -
好的,我知道你现在想做什么。尝试查看此文件:/usr/share/applications/defaults.list(对我来说在 Debian/Ubuntu 上)。
-
我还想要非默认应用程序。这些应用程序不在该文件中。
标签: linux mime-types freedesktop.org xdgutils