Ответы:
AFAIK выбор действия основан на mimetype файла, а не на его расширении.
По крайней мере, в Ubuntu вы сможете использовать query
действие, xdg-mime
чтобы показать приложение по умолчанию для определенного mimetype.
$ xdg-mime query default image/jpeg
eog.desktop
Вы можете проверить MIME-тип для конкретного файла, используя, xdg-mime query filetype
например,
$ xdg-mime query filetype kqDRdnW.jpg
image/jpeg
или с помощью file
команды, напримерfile --mime-type <file>
Смотрите man xdg-mime
для дальнейшей информации об использовании.
xdg-mime query filetype <file_you_want_the_mimetype_of>
xdg-mime query default
, не всегда работает, если xdg-open
просто вызывает базовый инструмент (например pcmanfm
); пример, который вы использовали в своем ответе, ничего не возвращает в моей системе LXDE.
var="xdg-mime query default image/jpeg" && $(${var%.desktop})
Чтобы запросить MIME-тип, используемый существующим файлом с помощью xdg-utils
, он работает следующим образом:
$ xdg-mime query filetype yourfile.xxx
Вы также можете установить новое значение по умолчанию, например, чтобы изменить связанную запись рабочего стола, установив Thunar - современный файловый менеджер для Xfce Desktop Environment - в качестве браузера файлов по умолчанию, который вы должны ввести:
$ xdg-mime default Thunar.desktop inode/directory
Или, например, чтобы установить приложение по умолчанию для http(s)://
интернет-протоколов, вы можете использовать:
$ xdg-mime default midori.desktop x-scheme-handler/http
OR
$ xdg-mime default midori.desktop x-scheme-handler/https
rpm
основанными системами; это часть стандартного рабочего стола и работает на Debian (например). К сожалению, это как установить значение по умолчанию; здесь не сказано, как найти какое значение установлено. И xdg-mime query default
не всегда сообщает, что он будет делать, если вызовет xdg-open
базовую настольную программу (например, pcmanfm
на LXDE).