При использовании 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
Теперь вместо двойного нажатия xdg-open foo.txt
будет использоваться двойной щелчок «foo.txt» (в вашем файловом менеджере GUI) или запуск .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" (в моем env):
$ 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
файл, который, кажется, перечисляет приложения по умолчанию. Это еще более запутанно ...