Day by Day, Site by Site

Open source, Some Code, Troubleshooting, Good Links

Apr 22, 2024 - opensource debug

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

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

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

Примеры команд которые использовал при отладке:

xdg-open ~/Downloads/
xdg-mime query filetype ~/Downloads/
xdg-mime default thunar.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 исправлением. Ждем когда исправления будут доставлены в дистрибутивы.