Ответы:
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).