xdg-open (Русский)
Ссылки по теме
xdg-open это независимый инструмент для настройки использования пользовательских приложений по умолчанию. Многие приложения вызывают внутреннюю команду xdg-open
.
В средах рабочего стола (например, GNOME, KDE, или Xfce), xdg-open просто передает аргументы файл-открывалке окружения рабочего стола (gvfs-open, kde-open, или exo-open соответственно), а это значит, что ассоциации остаются за средой рабочего стола. Если среда рабочего стола не будет обнаружена (например, при использовании только оконного менеджера, такого как Openbox), xdg-open будет использовать собственные конфигурационные файлы.
Contents
Установка
xdg-open является частью пакета xdg-utils, доступного в официальных репозиториях. xdg-open используется только в пользовательской сессии рабочего стола и не следует запускать с правами администратора.
Если вы планируете запускать xdg-open без окружения рабочего стола, рекомендуется также установить perl-file-mimeinfo или xdg-utils-mimeoAUR, либо mimeoAUR из AUR как более быструю альтернативу.
Конфигурация
xdg-open использует файл конфигурации, упомянутый в Default Applications. Вы можете редактировать этот файл, используя комманду xdg-mime.
Чтобы узнать mime-тип требуемого существующего файла, наберите xdg-mime query filetype file.ext
. И наоборот, чтобы узнать какой ярлык приложения соответствует mime-типу, запустите xdg-mime query default mime/type
. К общим типам относятся: inode/directory
(файловый менеджер), image/jpeg
(просмотрщик JPEG изображений), application/pdf
(PDF просмотрщик).
Чтобы изменить ассоциированное приложение, выполните xdg-mime default application.desktop mime/type
. Например для установки Thunar в качестве файлового менеджера по умолчанию, запустите:
$ xdg-mime default Thunar.desktop inode/directory
Можно задать сразу несколько mime-типов для связи с одним приложением. Следующий пример позволит сделать Emacs вызываемым для всех возможных текстовых файлов:
$ xdg-mime default emacs.desktop $(grep '^text/*' /usr/share/mime/types)
Установка браузера по умолчанию
Чтобы установить стандартное приложение, открывающее 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
Для .html файлов:
$ xdg-mime default browser.desktop text/html
Другой способ:
$ xdg-settings set default-web-browser browser.desktop
Чтобы проверить изменения, попробуйте зайти по адресу через xdg-open:
$ xdg-open https://archlinux.org
perl-file-mimeinfo
xdg-open использует perl-file-mimeinfo в качестве запасного варианта ("generic") если не обнаружена среда рабочего стола. Он может быть вызван непосредственно:
$ mimeopen -d /path/to/file
Будет задан вопрос, какое приложение использовать при открытии /path/to/file
:
Please choose a default application for files of type text/plain 1) notepad (wine-extension-txt) 2) Leafpad (leafpad) 3) OpenOffice.org Writer (writer) 4) gVim (gvim) 5) Other...
Выбранное приложение будет обработчиком по умолчанию для данного типа файлов. Mimeopen устанавливается в /usr/bin/perlbin/vendor/mimetype
.
Аналоги
замена xdg-open
Название пакета | Метод | Основан на | Файл конфигурации |
---|---|---|---|
busking-gitAUR | Регулярные выражения | perl-file-mimeinfo | пользовательский |
linopenAUR | file | пользовательский | |
mimeoAUR | MIME-типы, регулярные выражения | file | mimeapps.list , defaults.list ; пользовательский необязателен
|
mimi-gitAUR | file | пользовательский | |
easeAUR[ссылка недействительна: сохранено в aur-mirror] | MIME-типы, названия файлов, регулярные выражения | база данных SQLite или file, perl-file-mimeinfo и др. | база данных SQLite или mimeapps.list
|
ayrAUR | MIME-типы, названия файлов, регулярные выражения | file либо perl-file-mimeinfo и др. | mimeapps.list , defaults.list
|
sx-openAUR | Регулярные выражения | file, регулярные выражения bash | пользовательский |
mailcap
Формат файла.mailcap используется программами работы с электронной почтой, такими как mutt и sylpheed. Чтобы они использовали возможности xdg-open, отредактируйте ~/.mailcap
:
~/.mailcap
*/*; xdg-open "%s
mimetype
mimetype в пакете perl-file-mimeinfo может показать некоторую mimetype-связанную информацию о файле.
Например:
$ mimetype file.ext
выведет mime-тип этого файла,
$ mimetype -d file.extension
выведет описание этого mime-типа.
Если утилите xdg-open не удается обнаружить среду рабочего стола, то она будет выполнять комманду file -i
, использующую для определения mime-типа только содержимое файла, в результате чего некоторые типы файлов определяются неправильно. При наличии mimetype xdg-open будет использовать его для лучшего результата определения, т.к. mimetype использует информацию общей базе данных mime info.
Переменные окружения
Некоторые переменные окружения, такие как BROWSER
, DE
и DESKTOP_SESSION
, изменят поведение по умолчанию xdg-open. См. Переменные окружения для получения дополнительной информации.