Ассоциации типов файлов в Linux

Ассоциации типов файлов в Linux

Мне интересно, как реализовано управление ассоциациями файлов в Linux. Где хранится соответствующая информация? Как ее изменить (Меня интересуют способы, не основанные на KDE; я знаю, что в KDE для этого есть страница конфигурации системы.)?

Будем признательны за ссылки на соответствующие статьи/документацию :)

решение1

Большинство сред рабочего стола используют Freedesktop.orgСпецификация действий MIME. Каждая программа имеет.desktopфайлв /usr/share/applicationsи/или ~/.local/share/applications, предоставляя информацию о программе и типах MIME, которые она принимает. Собственные предпочтения пользователя хранятся в ~/.local/share/applications/defaults.list.

Схемы URI, такие как http:или mailto:, просто перечислены как специальные типы MIME. (Хотя старые программы все еще могут использовать базы данных схем URI, специфичные для GNOME или KDE.)x-scheme-handler/scheme


Некоторые «традиционные» почтовые программы, такие как Alpine или Mutt, все еще используют старый ~/.mailcapфайл для определения лучшего инструмента для просмотра вложений. Это отчасти потому, что они основаны исключительно на терминале и требуют других механизмов.

решение2

Вы можете посмотреть руководство (и сам скрипт оболочки) для xdg-open. Он проверяет, используете ли вы KDE, Gnome, lxde, и передает файл kde-openи т. д. Если вы не используете ни один из них, он ищет их с помощьюxdg-mime . Вы можете посмотреть информацию о том, как это работает, наfreedesktop.

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