
Я использую оконный менеджер 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