1. Произвольный файл ⇒ MIME-тип:
С базой данных shared-mime-info можно определить ее тип MIME на основе расширения файла и / или известных «магических» заголовков. Я думаю, что даже Thunderbird проходит через этот шаг, отбрасывая тот тип MIME, который был объявлен в электронном письме.
База данных состоит из «исходных» XML-файлов, которые не используются напрямую, а скомпилированы в «кэш» -файлы update-mime-database
.
2. MIME-тип ⇒ файл приложения .desktop:
В файлах mimeapps.list пользователя выполняется поиск явно связанного приложения по умолчанию, указывающего на файл .desktop приложения. (Это позволяет любое приложение и не ограничено MimeTypes, объявленным в этом файле .desktop.)
(В CLI, xdg-mime query default <type>
и xdg-mime default <app> <type>
может быть использовано для манипулирования этого списка удобно в Xfce, вы, вероятно, можете сделать то же самое в Thunar. - любой PDF - файл «Свойство» окно позволит вам выбрать приложение по умолчанию для всех PDF - файлов.)
Если нет явной ассоциации, то список приложений создается из файлов .desktop (см. Следующий раздел), а также «добавленных ассоциаций» в mimeapps.list ( полный алгоритм здесь ) и в «наиболее предпочтительном» приложении. запущен.
3. Приложение .desktop файл ⇒ исполняемая программа:
Все «ассоциируемые» приложения должны иметь .desktop
файл ( desktop-entry-spec ) в одном из стандартных расположений (~ / .local / share / application /, / usr / share / Applications).
Файл .desktop должен объявлять, с какими MimeTypes он хочет ассоциироваться по умолчанию. Кэш обратного просмотра (файл MimeType ⇒ .desktop) автоматически поддерживается mimeinfo.cache
в тех же местах. Эти ассоциации могут быть отменены Разделом 2 выше.