Xdg-utils (Русский)

Состояние перевода: На этой странице представлен перевод статьи xdg-utils. Дата последней синхронизации: 19 апреля 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

xdg-utils предоставляет официальные утилиты для управления MIME-приложениями XDG.

  • xdg-desktop-menu(1) — установка элементов меню рабочего стола
  • xdg-desktop-icon(1) — копирование ярлыков приложений на рабочий стол пользователя
  • xdg-email(1) — открытие предпочитаемого пользователем клиента электронной почты (с возможностью указания темы и других параметров создаваемого сообщения)
  • xdg-icon-resource(1) — установка значков
  • xdg-mime(1) — запрос и установка типов и ассоциаций MIME
  • xdg-open(1) — открытие файла или URI в предпочтительном приложении пользователя
  • xdg-screensaver(1) — разрешение, запрещение или приостановка хранителя экрана
  • xdg-settings(1) — установка веб-браузера и обработчиков URL-адресов по умолчанию

Установка

Установите пакет xdg-utils.

Использование

Переменные окружения

Примечание: Нормально работающая среда рабочего стола должна автоматически устанавливать эти переменные. Этот раздел необходим только для понимания того, как работает xdg-utils, то есть для устранения неполадок.

xdg-utils пытается интегрироваться с вашей средой рабочего стола, вызывая специализированные программы, которые она предоставляет, где это применимо. Выяснение текущей среды ребочего стола происходит так [устаревшая ссылка 2023-05-06 ]:

  • Если стандартная переменная окружения XDG_CURRENT_DESKTOP содержит одно из известных значений, то используется оно.
  • Если присутствуют какие-либо классические fallback'и или специфичные для среды переменные, такие как KDE_FULL_SESSION в KDE, то используется соответствующее значение.
  • Если старая переменная окружения DESKTOP_SESSION содержит одно из известных значений, то используется оно.

Когда совпадение найдено, переменная DE внутренне перезаписывается нормализованным значением обнаруженной среды рабочего стола. Таким образом, DE — это и переменная окружения, и внутренняя переменная состояния xdg-utils. Например, если XDG_CURRENT_DESKTOP имеет значение KDE, то xdg-utils внутренне установит DE в значение kde. Если соответствие не найдено, то будет использовано любое ранее существующее значение DE; то есть, установка XDG_CURRENT_DESKTOP=KDE — это то же самое, как если бы переменная XDG_CURRENT_DESKTOP отсутствовала, а вместо неё была бы DE=kde. Это важная деталь реализации заслуживает внимания, так как следствие — предварительно установленная переменная DE игнорируется, если среда рабочего стола указана где-то ещё.

Значения переменных, которые распознаёт xdg-utils, следующие:

СредаXDG_CURRENT_DESKTOPDEDESKTOP_SESSION
X-Generic1generic
CinnamonCinnamon, X-Cinnamondeepin
DeepinDeepin, DEEPIN, deepin1cinnamon
EnlightenmentENLIGHTENMENT1enlightenment
GNOMEGNOME2gnomegnome
GNOME FlashbackGNOME-Flashback, GNOME-Flashback:GNOME2gnomegnome
KDE PlasmaKDEkde
LXDELXDElxdeLXDE
LXQtLXQtlxqt
MATEMATEmatemate
XfceXFCExfcexfce, xfce4, Xfce Session
  1. Это не среда, зарегистрированная на freedesktop.org.
  2. Варианты GNOME, в том числе режим GNOME Classic, рассматриваются xdg-utils как одно и то же.

Имейте в виду, что это лишь список того, что способны обнаружить скрипты, которые предоставляет xdg-utils. Скрипты всё равно будут выполнять общие действия, не зависящие от среды, при следующих условиях:

  • Была запрошена общая процедура через XDG_CURRENT_DESKTOP=X-Generic или DE=generic.
  • Определить среду не удалось. Все соответствующие переменные окружения были не распознаны или не установлены, а поиск классических fallback'ов ни к чему не привёл.
  • Действия, специфичные для среды, были выполнены, но не увенчались успехом, например, из-за отсутствия нужной программы.

xdg-mime

xdg-mime(1) — это скрипт для прямого запроса и изменения стандартных приложений MIME. Он используется в других скриптах, таких как xdg-open, а также является полезным инструментом при устранении неполадок.

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

$ xdg-mime query filetype photo.jpeg
image/jpeg

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

$ xdg-mime query default image/jpeg
gimp.desktop

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

$ xdg-mime default feh.desktop image/jpeg

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

$ env XDG_UTILS_DEBUG_LEVEL=10  xdg-mime query default text/html
Checking /home/пользователь/.config/mimeapps.list
Checking /home/пользователь/.local/share/applications/defaults.list and /home/пользователь/.local/share/applications/mimeinfo.cache
Checking /usr/local/share/applications/defaults.list and /usr/local/share/applications/mimeinfo.cache
Checking /usr/share/applications/defaults.list and /usr/share/applications/mimeinfo.cache
qutebrowser.desktop

Когда нужно определить MIME-тип файла, xdg-mime пытается использовать программу, подходящую для среды рабочего стола:

СредаПрограммаПакет
Cinnamon gio glib2
GNOME
GNOME Flashback
LXDE
MATE
Xfce
Deepin
Enlightenment
LXQt
KDE Plasmakmimetypefinderkde-cli-tools

В общем случае xdg-mime будет:

  • Обращаться к mimetype, если он доступен (пакет perl-file-mimeinfo).
  • Обращаться к file, если он доступен.

xdg-open

xdg-open(1) — это инструмент открытия ресурсов, используемый многими приложениями, реализующий стандарт XDG MIME Applications и при этом максимально интегрированный со средой рабочего стола.

Если среда рабочего стола обнаружена, будет вызван предоставляемый ею обработчик [устаревшая ссылка 2023-05-06 ]:

СредаПрограммаПакет
Cinnamon gio glib2
GNOME
GNOME Flashback
MATE
Deepindde-opendeepin-api
Enlightenmentenlightenment_openenlightenment
KDE Plasmakde-openkde-cli-tools
LXDEpcmanfmpcmanfm
LXQt
Xfceexo-open1exo
  1. Также может быть предпринята попытка использования gio из пакета glib2.

В общем случае xdg-open:

  • Обратится к #xdg-mime, чтобы узнать связанное с ресурсом приложение по умолчанию, прочитает соответствующий .desktop файл и запустит прописанную в нём команду.
  • Обратится к run-mailcap, если он доступен (пакет run-mailcapAUR).
  • Обратится к mimeopen, если он доступен (пакет perl-file-mimeinfo).
Совет: Чтобы узнать, какой бэкенд будет использовать xdg-open, установите переменную окружения XDG_UTILS_DEBUG_LEVEL=3.

Поскольку xdg-mime полагается на пакет perl-file-mimeinfo для реализации стандарта XDG MIME Applications, если вы не используете среду рабочего стола, вам нужно либо установить пакет perl-file-mimeinfo, либо выбрать другой инструмент открытия ресурсов.

xdg-settings

См. xdg-settings(1).

Ярлык для открытия всех веб-типов MIME с помощью одного приложения:

$ xdg-settings set default-web-browser firefox.desktop

Ярлык для установки приложения по умолчанию для схемы URL:

$ xdg-settings set default-url-scheme-handler irc xchat.desktop

Советы и рекомендации

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

Для установки приложений по умолчанию для URL схем необходимо определить приложение по умолчанию для x-scheme-handler/* MIME-типов.

$ xdg-mime default firefox.desktop x-scheme-handler/https x-scheme-handler/http
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.