Xdg open что такое
xdg-open opens a file or URL in the user’s preferred application. If a URL is provided the URL will be opened in the user’s preferred web browser. If a file is provided the file will be opened in the preferred application for files of that type. xdg-open supports file, ftp, http and https URLs.
xdg-open is for use inside a desktop session only. It is not recommended to use xdg-open as root.
OPTIONS
—help Show command synopsis. —manual Show this manualpage. —version Show the xdg-utils version information.
EXIT CODES
An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned: 1 Error in command line syntax. 2 One of the files passed on the command line did not exist. 3 A required tool could not be found. 4 The action failed.
EXAMPLES
Opens the Freedesktop.org website in the user’s default browser
xdg-open /tmp/foobar.png
Opens the PNG image file /tmp/foobar.png in the user’s default image viewing application.
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.081 секунд. Запросов: 25.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Шпаргалка по xdg-open
Небольшая заметка про xdg-open . Эта утилита открывает файлы или URI “наиболее подходящим” приложением, как записано в файлах *.desktop .
Увы, как показывает практика, “наиболее подходящим” оказывается нередко какой-нибудь Firefox, что явно не всегда самое удачное решение.
Алгоритм
Выбор осуществляется по достаточно прямолинейному алгоритму.
- Во-первых, если удаётся определить текущее окружение рабочего стола, используется аналогичная утилита, специфичная для окружения. Скажем, для Xfce это exo-open и т.п.
- Если это не удаётся, используется обобщенный алгоритм.
Обобщенный алгоритм выглядит так:
- Проверяется наличие файла и права доступа на чтение.
- Если установлена переменная окружения DISPLAY (т.е. если утилита выполняется в рамках сессии X), производится попытка открыть файл приложением, возвращаемым xdg-mime query default . При этом *.desktop -файл ищется в директориях:
- $XDG_DATA_HOME/applications (по умолчанию $HOME/.local/share )
- $XDG_DATA_DIRS/applications (по умолчанию /usr/local/share и /usr/share )
Теперь, как работает команда xdg-mime query default .
- Просматривается файл ассоциаций “по умолчанию” $XDG_CONFIG_HOME/mimeapps.list , и, если есть, системные $XDG_CONFIG_DIRS/mimeapps.list . Имеет значение только раздел Default Applications (см. ниже)
- Просматривается альтернативное расположение файла ассоциаций “по умолчанию” $XDG_DATA_HOME/applications/mimeapps.list , и, если есть, системные $XDG_DATA_DIRS/applications/mimeapps.list .
- Просматривается файлы кэша $XDG_DATA_/applications/mimeinfo.cache и умолчаний $XDG_DATA_/applications/defaults.list .
- Просматриваются все файлы *.desktop в $XDG_DATA_/applications (включая поддиректории) MimeType . Выбирается вариант с наивысшим InitialPreference , или первый подходящий.
- Если ничего не найдено, возвращается ошибка.
Формат файла mimeapps.list
mimeapps.list имеет формат секционированного key-value файла (т.е. INI-файла). Нас, как указано выше, в данном контексте интересует только секция Default Applications . Ключом является mime-тип, а значением – название desktop-файла с расширением. Разделитель ключа и значения – символ = . Например:
[Default Applications] image/jpeg=okular.desktopТак же в этом файле есть разделы Added Associations и Removed Associations . В контексте xdg-open они не имеют значения, однако в контексте других приложений (особенно kde4) оказываются важны. Формат совпадает с секциями Default Applications , но в значениях может быть разделённый ; список.
Замечание
mimeapps.list в общем случае может иметь префикс, который определяется переменной окружения XDG_CURRENT_DESKTOP . Так же эта переменная окружения используется для определения текущего окружения рабочего стола и использования специфичных для него утилит. Рекомендуется особое внимание к этой переменной.
Команды xdg-mime
xdg-mime позволяет узнать mime-тип файла и приложение по умолчанию для открытия данного mime-типа. Кроме того, эта утилита позволяет установить приложение по умолчанию.
Запросы
xdg-mime query filetype позволяет узнать mime-тип файла.
xdg-mime query default – узнать приложение по умолчанию для открытия данного mime-типа.
Установка умолчаний
xdg-mime default . позволяет установить приложение по умолчанию для открытия одного или нескольких mime-типов. – это название desktop-файла, который будет использован (без пути, с расширением)
xdg-mime default okular.desktop image/jpeg image/pngВ случае, если возможно установить окружение рабочего стола, для этого будут использованы средства окружения. Иначе, будут добавлены записи в файл mimeapps.list (первый найденный) в секцию Default Applications .
Рекомендации
Всегда устанавливайте переменную BROWSER . Если она не установлена, можно ждать неожиданностей. Можно указывать список, разделённый двоеточием : .
Используйте xdg-mime default для установки приложений по умолчанию. Если требуется посмотреть список умолчаний, можно посмотреть в файл mimeapps.list , однако редактировать его напрямую в общем случае не рекомендуется.
xdg-open
Opens a file or URL in the user’s preferred application. More information: https://man.archlinux.org/man/xdg-open.1.
- Open the current directory in the default file explorer:
- Open an URL in the default browser:
- Open an image in the default image viewer:
- Open a PDF in the default PDF viewer:
Операционная система Linux (Линукс или Лайнакс) во многом похожая на проприетарную Unix. Линукс распространён на серверах, что означает, что изучая её вы улучшаете свой навык администрирования, DevOps и программирования. Открытая …

Заметки об Операционной Системе FreeBSD (фри бсд). Один из старейших Unix (Юникс), прародитель многих ОС, а также по мнению многих — самая свободная операционная система. Разработан в рамках общего проекта …

Трюки Bash
Полезные заметки по работе с командной строкой: bash и прочие *sh. Однострочники, скрипты, позволяющие решать большие и малые задачи администрирования и настройки Юникс систем. Zsh для современного MacOS, Bash для …

Терминал/Консоль
Команды и инструкции терминала (консоли) Linux, MacOS, Windows и прочих операционных систем. Трюки и особенности командных оболочек, скрипты для администрирования Unix. Программирование и скриптование Windows и Linux, тонкая настройка Macos. …

Также может быть вам интересно:
- Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable
- Пример своей консольной команды в Django проекте
- Как на Bash посчитать число строк в проекте (директории)
- И снова sudo, и снова «решето»
- О многозадачности и планировщике задач (шедулер)
Свежее на «Цифре»
MessageId или как дебажить систему с минимумом проблем
Программы, 50 дней назад
Проверочный список для выпуска промышленных приложений с иллюстрациями
Работа и управление, 91 день назад
В Google Pixel и Windows Snipping Tool есть возможность восстановления обрезанных изображений
Новости, 23.03.2023
Два подарка «под ёлочку» от Heroes of Might and Magic
Новости, 25.12.2022
Вышел Pulsar – редактор кода на основе Atom
Новости, 25.12.2022
Ленивый backup PostgreSQL
Программы, 17.12.2022
Google анонсировала OSV-Scanner: сканер уязвимостей в программных проектах
Новости, 16.12.2022
Найдена уязвимость в утилите ping для FreeBSD
Во FreeBSD найдена уязвимость, позволяющая выполнить код от пользователя root. Самое забавное, что на этот раз «дыра» была обнаружена в …

Как запустить программу в терминале в фоне, без вывода какого либо текста
Запускаем программу в терминале в фоновом режиме и разбираемся, как и почему это работает в Linux / Unix терминале.

Как установить часовой пояс в Linux
В рамках первичной настройки Операционной Системы важно установить и по какому времени вы живёте, ведь при следующем обновлении времени через …

Как найти самые большие папки и файлы в Linux
Когда кончается место на жестком диске, возникает закономерный вопрос: на что же оно было потрачено, какие файлы разрослись больше положенного?

Команда grep – полезные ключи и примеры использования
У команды «grep» довольно много различных особенностей. особенно, если учесть, что с английского это «решето» – а что может войти …

Как создать неизменяемый файл в Linux / MacOS / FreeBSD
Само собой, root может всё (если введёт пару команд), однако, это вполне легальный способ запретить изменение файла.

Как удалить все Docker образы и контейнеры
Не всегда нужно удалять всё, но объяснение данного «рецепта» объяснит как в целом удалять образы и контейнеры.
Bash < потоки ввода >вывода && управляющие конструкции || коротко о главном
Небольшая заметка о конструкциях Bash, в которых путается большинство новичков. А именно: >,

Лучше плохо, но сейчас. Взгляд на пути развития ПО
Сейчас такие языки как Perl и Ruby чувствуют себя не лучшим образом. Но ещё 10 – 15 лет назад они …