XDG. Приложения MIME

Настройка вызова приложений с помощью спецификации MIME.

Содержание

1 Файлы конфигурации

1.1 Общая информация

  • Приложения по умолчанию для каждого типа MIME хранятся в файлах mimeapps.list, которые могут храниться в нескольких местах.

1.2 Расположение файлов конфигурации

  • Файлы конфигурации проверяются в следующем порядке.
  • Более ранние ассоциации имеют приоритет над более поздними.
ПутьПрименение
~/.config/mimeapps.listПользовательские переопределения
/etc/xdg/mimeapps.listОбщесистемные переопределения
~/.local/share/applications/mimeapps.listПользовательские переопределения (устаревшее)
/usr/local/share/applications/mimeapps.listПереопределения, предоставляемые дистрибутивом по умолчанию
/usr/share/applications/mimeapps.listПереопределения, предоставляемые дистрибутивом по умолчанию
  • Можно определить приложения по умолчанию, специфичные для конкретной среды рабочего стола, с помощью файла вида desktop-mimeapps.list, где desktop это имя среды рабочего стола (из переменной окружения XDG_CURRENT_DESKTOP).
    • Например, /etc/xdg/xfce-mimeapps.list задают общесистемные переопределения приложений по умолчанию для Xfce.
  • Некоторые приложения всё ещё используют файл ~/.local/share/applications/mimeapps.list.
    • Для сохранения совместимости можно создать символическую ссылку на ~/.config/mimeapps.list:
      ln -s ~/.config/mimeapps.list ~/.local/share/applications/mimeapps.list
      

1.3 Формат файлов конфигурации

  • Файл mimeapps.list имеет следующий формат:
    [Added Associations]
    image/jpeg=bar.desktop;baz.desktop
    video/H264=bar.desktop
    [Removed Associations]
    video/H264=baz.desktop
    [Default Applications]
    image/jpeg=foo.desktop
    
  • Разделы файла:
    • Added Associations (Добавленные ассоциации): приложения поддерживают открытие этого типа MIME.
      • Например, bar.desktop и baz.desktop могут открывать изображения JPEG.
    • Removed Associations (Удаленные ассоциации): приложения не поддерживают этот тип MIME.
      • Например, baz.desktop не может открыть видео H.264.
    • Default Applications (Приложения по умолчанию): приложения должны выбираться по умолчанию для открытия этого типа MIME.
      • Например, изображения JPEG должны быть открыты с помощью foo.desktop.
      • Если есть несколько приложений, они проверяются по порядку.
  • Каждый раздел является необязательным и может быть опущен, если он не нужен.

1.4 Ярлык приложения

  • Для связывания приложений с типами MIME требуются ярлык приложения (desktop-файл).
  • Если в ярлыке приложения не указан тип MIME под его ключом MimeType, он не будет учитываться, когда приложение необходимо для открытия этого типа.
  • Следует изменить mimeapps.list, чтобы добавить связь между файлом .desktop и типом MIME.

2 Утилиты работы со списком приложений

2.1 xdg-mime

2.1.1 Общая информация

  • xdg-mime (1) — скрипт для прямого запроса и изменения стандартных приложений MIME.

2.1.2 Определение MIME-типа файла

  • Определение MIME-типа файла:
    $ xdg-mime query filetype photo.jpeg
    image/jpeg
    

2.1.3 Определение приложения по умолчанию для MIME-типа

  • Определение приложения по умолчанию для MIME-типа:
    $ xdg-mime query default image/jpeg
    gimp.desktop
    

2.1.4 Изменение приложения по умолчанию для MIME-типа

  • Изменение приложения по умолчанию для MIME-типа:
    xdg-mime default feh.desktop image/jpeg
    

2.1.5 Отладка приложения по умолчанию для MIME-типа

  • Отладка приложения по умолчанию для MIME-типа:
    env XDG_UTILS_DEBUG_LEVEL=10  xdg-mime query default text/html
    
  • В результате получаем список конфигурационных файлов, которые просматриваются для определения приложения по умолчанию.

2.1.6 Обработчики URL схем

  • Для установки приложений по умолчанию для URL схем необходимо определить приложение по умолчанию для x-scheme-handler/* MIME-типов:
    xdg-mime default firefox.desktop x-scheme-handler/https x-scheme-handler/http
    

2.2 xdg-settings

  • Установить приложение для открытия всех веб-типов MIME с помощью одного приложения:
    xdg-settings set default-web-browser firefox.desktop
    
  • Установить приложение по умолчанию для схемы URL:
    xdg-settings set default-url-scheme-handler irc xchat.desktop
    

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие