Day by Day, Site by Site

Open source, Some Code, Troubleshooting, Good Links

Apr 22, 2024 - opensource debug

Отладка неправильного поведения утилиты xdg-open

Проблема началась с того что после монтирования контейнера Veracrypt, перестал открываться нормально файловый менеджер. Он открывался, но параллельно открывался браузер. Ранее такого поведения не было.

Я начал расследование этой ситуации. Помня, что уже когда то возился утилитами xdg-utils, я начал пробовать смотреть как настроены ассоциации через утилиты командной строки:

открытие каталога ассоциированным приложением

xdg-open ~/Downloads/

просмотр файлового типа ассоциации для файла

xdg-mime query filetype ~/Downloads/

установка приложения по по умолчанию для файловой ассоциации

xdg-mime default nemo.desktop inode/directory

Натолкнулся на то что утилита xdg-open открывает путь до точки монтирования не корректно:

xdg-open /run/media/dp/test

Воспроизвелась ситуация когда открывается одновременно браузер и файловый менеджер.

Начал смотреть в эту сторону xdg-open. После того как я сделал изменения зафиксированные здесь, поведение была исправлено. Но ментейнер проекта отказался принимать изменения пока не докопается до причины такого поведения. В целом согласимся, так как это правильно)

Побочным эффектом явилось то, что ментейнер предложил обходное решение в виде в файл конфигурации ассоциаций ~/.config/mimeapps.list

inode/directory=nemo.desktop
inode/mount-point=nemo.desktop

Здесь можно прописать ваши ассоциации.

Причиной проблем явилось баг в зависимом пакете perl-file-mimeinfo в который входит утилита mimetype. Утилита mimetype используется в скрипте xdg-open.

На момент разбора, в коде утилиты mimetype производился безусловный выход с кодом ошибки.

Было сформирован MR c исправлением. Ждем когда исправления будут доставлены в дистрибутивы.