xdg-open (Русский)

From ArchWiki
Revision as of 18:42, 24 July 2014 by Masterslave (talk | contribs) (translation Xdg-open)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

xdg-open это настольный независимый инструмент для пользовательской настройки приложений по умолчанию. Многие приложения вызывают внутреннюю команду xdg-open.

В средах рабочего стола (например, GNOME , KDE, or Xfce), xdg-open просто передает аргументы файл-открывалке окружения рабочего стола (gvfs-open, kde-open, или exo-open соответственно), а это значит, что ассоциации остаются за средой рабочего стола. Если среда рабочего стола не будет обнаружена (например, при работе только самостоятельный оконный менеджер, такой как Openbox), xdg-open будет использовать собственные конфигурационные файлы.

Установка

xdg-open является частью пакета xdg-utils, доступного в официальных репозиториях. xdg-open используется только в пользовательской сессии рабочего стола. Не рекомендуется использовать xdg-open от суперпользователя.

Конфигурация

xdg-open использует файл конфигурации, упомянутый в Default Applications. Вы можете редактировать этот файл с помощью xdg-mime.

Примеры

Установка mime-типа

Чтобы установить mime-тип photo.jpg:

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

Установка приложения по умолчанию

Чтобы связать запускаемый файл .desktop с image/jpeg mime-типом:

$ xdg-mime query default image/jpeg
gpicview.desktop;

Установка файлового менеджера по умолчанию

Чтобы Thunar стал файловым-менеджером по умолчанию, то есть приложением по умолчанию для открытия каталогов:

$ xdg-mime default Thunar.desktop inode/directory

Установка стандартного просмотрщика PDF

Чтобы xpdfAUR был стандартным PDF просмотрщиком:

$ xdg-mime default xpdf.desktop application/pdf

Установка браузера по умолчанию

Чтобы установить стандартное приложение для http(s):// ссылок (замените browser.desktop. на ваш браузер .desktop, например, firefox.desktop или chromium.desktop):

$ xdg-mime default browser.desktop x-scheme-handler/http
$ xdg-mime default browser.desktop x-scheme-handler/https

или:

$ xdg-mime default browser.desktop text/html

Для проверки корректности выполненных изменений попробуйте открыть ссылку с xdg-open:

$ xdg-open https://archlinux.org

Drop-in replacements and useful tools

xdg-open replacements

Name/Package Description Based on Configuration file
busking-gitAUR A simple, regex-based xdg-open replacement. perl-file-mimeinfo custom
exproAUR Opens objects in associated applications by matching regular expressions against object name or MIME-type. file (but alternatives can be configured) custom
linopenAUR An intelligent and suckless replacement for xdg-open. file custom
mimeoAUR Open files by MIME-type or file name using regular expressions. It can be used on its own or through xdg-utils-mimeoAUR. file standard mimeapps.list or defaults.list; custom is optional
mimi-gitAUR A working replacement for xdg-open. file custom
ayrAUR Manages menus of application launchers, either executables or desktop files. Also opens files and URIs with launchers, desktop files, or applications associated by name or MIME-type. Can use a wrapper script to replace xdg-open. file and/or perl-file-mimeinfo; other alternatives and fallbacks can be configured. XDG standard mimeapps.list and mimeinfo.cache (and the older defaults.list) to determine MIME-type associations. Optionally can also use regular expressions to match file or URI names to applications.

run-mailcap

The .mailcap file format used by the mutt mail program is way easier to read and write. The run-mailcapAUR package from the AUR provides a executable that could be easily symlinked to /usr/bin/xdg-open, but that parser is unable to handle directories or links. The simplest solution would be to install mimeo from the AUR too and create a /usr/bin/xdg-open with the following content:

#!/bin/sh
run-mailcap $1 || mimeo $1

Then use the defaults.list at ~/.local/share/applications/ to associate URLs and folders with applications and the .mailcap file for normal mimetypes.

mimetype

mimetype в пакете perl-file-mimeinfo может показать некоторую mimetype-связанную информацию о файле.

Например:

$ mimetype file.ext

выведет mime-тип этого файла,

$ mimetype -d file.extension

выведет описание этого mime-типа.

Если утилите xdg-open не удается обнаружить одно из окружений рабочего стола, то она обычно использует file -i, который использует только содержимое файла, чтобы определить mimetype, в результате чего некоторые типы файлов определяются неправильно. При наличии mimetype xdg-open будет использовать его для лучшего результата определения, т.к. mimetype использует информацию в общей базе данных mime info.

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

Некоторые переменные окружения, такие как BROWSER, DE и DESKTOP_SESSION, изменят поведение по умолчанию xdg-open. См. Environment variables для получения дополнительной информации.

Смотрите также