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[broken link: invalid section]. Вы можете редактировать этот файл, используя комманду 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. См. Переменные окружения для получения дополнительной информации.