如果xdg-open
用于打开应用程序,则xdg-mime
用于为给定的mime类型设置默认应用程序(通常,安装xdg-utils会提供xdg-mime和相关程序)。
例如,查看给定文件的“文件类型”(如果需要,则为MIME类型):
$ xdg-mime query filetype tmp.txt
text/plain
$ xdg-mime query filetype foo.pdf
application/pdf
$ xdg-mime query filetype $PWD
inode/directory
更改默认文件管理器以打开目录的示例(可以选择caja.desktop(默认设置为mint),nautilus.desktop(ubuntu)等):
$ xdg-mime default Thunar.desktop inode/directory
并且也要locate -i foo.desktop
验证foo.desktop
确实存在。
更重要的是,为了查看默认的文本编辑器是什么,
$ xdg-mime query default text/plain
gedit.desktop
要使用其他默认文本编辑器(同样,请验证“ .desktop”文件是否存在):
$ locate -i vim.desktop
/usr/share/applications/gvim.desktop
$ xdg-mime default gvim.desktop text/plain
现在,双击“ foo.txt”(在GUI文件管理器中)或运行xdg-open foo.txt
将使用gvim
代替gedit
。
故障排除:确保可以找到给定应用程序的“ .desktop”文件,因为该文件必须与xdg-mime
实用程序一起使用;例如,
$ xdg-mime default emacs text/plain
xdg-mime: malformed argument 'emacs', expected *.desktop
此外,如果“ .desktop”文件不存在,此操作将无法正常工作:
$ locate -i emacs.desktop
(none)
$ xdg-mime default emacs.desktop text/plain # won't work
实际的emacs“ .desktop”文件(在我的环境中):
$ locate -r 'emacs.*\.desktop'
/usr/share/applications/emacs24.desktop
$ xdg-mime default emacs24.desktop text/plain # does work
另请参阅:https : //wiki.archlinux.org/index.php/xdg-open
/usr/share/applications/mimecache.info
似乎列出了默认应用程序的文件。甚至更令人困惑……