Как правильно и легко настроить `xdg-open` без какой-либо среды?

Как правильно и легко настроить `xdg-open` без какой-либо среды?

Я использую оконный менеджер OpenBox.без какой-либо среды рабочего стола.

xdg-openведет себя странно. Открывает все с помощью firefox.

$ xdg-settings --list
Known properties:
  default-web-browser           Default web browser

Я ищу простую программу, что-то вроде чтения каждого*.desktopфайл в/usr/share/applications/папка и автоматическая настройка параметров xdg.

решение1

Почему бы не использовать утилиты из самого xdg?

Сделать Thunar файловым браузером по умолчанию, т.е. приложением по умолчанию для открытия папок.

$ xdg-mime default Thunar.desktop inode/directory

чтобы использовать xpdf в качестве средства просмотра PDF-файлов по умолчанию:

$ xdg-mime default xpdf.desktop application/pdf

Это должно создать запись.

[Default Applications]
application/pdf=xpdf.desktop

в вашей локальной базе данных MIME ~/.config/mimeapps.list.

Теперь ваши PDF-файлы должны открываться с помощью xpdf.

решение2

Вы можете установить и использоватьperl-файл-mimeinfoв extraрепозитории для управления MIME-типами.

Пример открытия всех .pdfфайлов в apvlv:

/usr/bin/vendor_perl/mimeopen -d $file.pdf

или в других дистрибутивах Linux, где mimeopenНЕ находится /usr/bin/vendor_perl/, но находится в одном из $PATHкаталогов:

mimeopen -d $file.pdf

и затем, по запросу, введите приложение: apvlv.

решение3

Вы можете использовать что-то вроде этого, чтобы сгенерировать соответствующие xdg-mimeкоманды для каждого из ваших .desktopфайлов и содержащихся в них mimetypes, а затем выполнить те, которые вам нравятся. Обратите внимание, /usr/share/applicationsчто могут быть подкаталоги.

find /usr/share/applications ~/.local/share/applications -iname '*.desktop' -print0 | while IFS= read -r -d $'\0' d; do
  for m in $(grep MimeType "$d" | cut -d= -f2 | tr ";" " "); do
    echo xdg-mime default "'$d'" "'$m'"
  done
done

решение4

Для тех, кто, как и я, не знает, как получить правильный MIME-тип для использования xdg-mime:

1- Исходная ситуация:

$ xdg-open .открывает vscodium (кто жестко закодировал эту дурацкую ассоциацию файлов?) :[

2- Проблема: каков тип MIME «.»?

$ mimetype . .: inode/directory

3- Решение:

$ xdg-mime default thunar.desktop inode/directory

ПРИМЕЧАНИЕ: Следующая строка не работает, но сообщение об ошибке не выводится :{ $ xdg-mime default Thunar.desktop inode/directory

Связанный контент