Desktop entries (Русский)
Спецификация XDG Desktop Entry определяет стандарт для приложений для интеграции в среду рабочего стола. Ярлыки приложений — это файлы конфигурации, описывающие, как запускается приложение и какие данные оно может обрабатывать. Они также настраивают, как и с каким значком отображаются приложения в меню, по спецификации XDG Desktop Menu.
Основы
Каждый ярлык должен иметь ключи Type и Name и может опционально определять свой вид в меню приложений.
Существует три типа ярлыков:
Application Ярлык приложения, который указывает способ его запуска и типы MIME, которые оно поддерживает (используется в XDG MIME Applications). С помощью XDG Autostart можно реализовать автозапуск приложений, помещая их в определённые каталоги. Ярлыки приложений используют расширение файла .desktop . Смотрите раздел #Ярлык приложения. Link Ярлык на URL-адрес. Ссылки используют расширение файла .desktop . Directory Определяет внешний вид подменю в меню приложения. Используется расширение файла .directory .
В следующих разделах кратко описывается, как они создаются и проверяются.
Ярлык приложения
Ярлыки приложений, или файлы .desktop , как правило, представляют собой комбинацию метаинформационных ресурсов и ярлыков приложений. Эти файлы обычно находятся в /usr/share/applications/ или /usr/local/share/applications/ для приложений, установленных в системе, или
/.local/share/applications/ для пользовательских приложений. Пользовательские ярлыки имеют приоритет над системными ярлыками.
Пример файла
Ниже приведён пример его структуры с дополнительными комментариями. Этот пример предназначен только для быстрого ознакомления и не демонстрирует все возможные ключи. Полный список ключей можно найти в спецификации freedesktop.org.
Определение ключа
Все распознаваемые ключи описаны на сайте freedesktop.org. Например, ключ Type определяет три типа ярлыков: Application (тип 1), Link (тип 2) и Directory (тип 3).
- Ключ Version обозначает версию спецификации, которой соответствует файл ярлыка, а не версию приложения.
- Name , GenericName и Comment часто содержат избыточные значения в виде комбинаций из них, например:
Этого следует избегать, поскольку это только будет запутывать пользователей. Ключ Name должен содержать только имя или хотя бы аббревиатуру/акроним, если они доступны.
- GenericName должен указывать на категорию приложения, которая обозначает особый признак этого конкретного приложения (например, Firefox это «Веб-браузер»).
- Comment должен содержать любую полезную дополнительную информацию.
Проверка
Некоторые ключи со временем объявляются устаревшими. Вы можете проверить наличие устаревших ключей в своих ярлыках с помощью инструмента desktop-file-validate(1) , который является частью пакета desktop-file-utils . Чтобы проверить, выполните
Это даст вам очень подробные и полезные предупреждения и сообщения об ошибках.
Установка
Используйте desktop-file-install(1) для установки ярлыка в целевой каталог. Например:
Обновление базы данных ярлыков
Чтобы ярлыки из каталога
/.local/share/applications заработали, выполните следующую команду:
Значки
Распространённые форматы изображений
Ниже приведён краткий обзор форматов изображений, обычно используемых для значков.
| Расширение | Полное имя и/или описание | Тип графики | Формат-контейнер | Поддерживаемый |
|---|---|---|---|---|
| .png | Portable Network Graphics | Растровая | Нет | Да |
| .svg(z) | Scalable Vector Graphics | Векторная | Нет | Да (опционально) |
| .xpm | X PixMap | Растровая | Нет | Да (устаревший) |
| .gif | Graphics Interchange Format | Растровая | Нет | Нет |
| .ico | MS Windows Icon Format | Растровая | Да | Нет |
| .icns | Apple Icon Image | Растровая | Да | Нет |
Преобразование значков
Если вы наткнулись на значок, который находится в формате, который не поддерживается стандартом freedesktop.org (например, gif или ico ), вы можете использовать инструмент convert (который является частью пакета imagemagick ), чтобы преобразовать его в поддерживаемый/рекомендованный формат, например:
Если вы преобразуете из формата-контейнера, такого как ico , вы получите все изображения, которые содержались в файле ico в форме <icon name>-<number>.png . Если вы хотите узнать размер изображения или количество изображений в файле контейнера, например ico , вы можете использовать инструмент identify (также часть пакета imagemagick ):
Как вы можете видеть, на примере файла ico, что по названию можно предположить одно изображение размером 48×48, но на самом деле оно содержит не менее 6 разных размеров, из которых один больше 48×48, а именно 128×128.
Кроме того, вы можете использовать icotool (из icoutils ) для извлечения png-изображений из контейнера ico:
Для извлечения изображений из контейнера .icns вы можете использовать icns2png (предоставленный libicns ):
Получение значков
Хотя пакеты, которые уже поставляются с файлом .desktop, наверняка содержат значок или набор значков, иногда бывает, что разработчик не создал файл .desktop, но тем не менее может предоставлять значки. Поэтому неплохо начать поиск значков в исходном пакете. Вы можете, например, сначала фильтровать расширение с помощью find, а затем использовать grep для дальнейшей фильтрации по определённым ключевым словам, таких как имя пакета, «icon», «logo» и т.д., если изображений достаточно много в исходном пакете.
Если разработчики приложения не включают значки в свои исходные пакеты, тогда следующим шагом будет поиск значков на их сайте. В некоторых проектах, например, tvbrowser AUR , есть страница с изображениями и логотипами, где могут быть найдены дополнительные значки. Если проект мультиплатформенный, может случиться так, что в пакете linux/unix отсутствует значок, тогда пакет Windows может предоставить его. Если в проекте используется система управления версиями, например CVS/SVN и т.д., и у вас есть некоторый опыт работы с ней, то можно попробовать поискать значки там. Если ничего не получается — возможно, у проекта просто ещё нет логотипа.
Расположение значков
Стандарт freedesktop.org определяет, в каких каталогах и в каком порядке программы должны искать значки:
- $HOME/.icons (для обратной совместимости)
- $XDG_DATA_DIRS/icons
- /usr/share/pixmaps
Инструменты
arronax
Arronax — это графическая программа для создания и изменения ярлыков приложений и мест.
alacarte
alacarte — это графический редактор меню для GNOME, использующий спецификацию меню freedesktop.org. Он также поддерживает переопределение ярлыков.
gendesk
gendesk стартовал как инструмент, специально предназначенный для Arch Linux для генерации файлов .desktop, путём сбора необходимой информации непосредственно из файлов PKGBUILD. Теперь это общий инструмент, который принимает аргументы командной строки.
Значки могут быть автоматически загружены из openiconlibrary, если они доступны. (Источник значков можно легко изменить в будущем).
Как использовать
- Добавьте gendesk в makedepends
- В начале функции prepare() добавьте:
- Если файл значка уже есть (например, $pkgname.png), используйте флаг -n для отключения скачивания значка или использования значка по умолчанию. Пример:
- $srcdir/$pkgname.desktop будет создан и может быть установлен в функции package() с помощью:
- Значок можно установить с помощью:
- Используйте —name=’Program Name’ для выбора имени для пункта в меню.
- Для установки поля exec используйте —exec=’/opt/some_app/elf —with-ponies’ .
- Смотрите проект gendesk для получения дополнительной информации.
lsdesktopf
lsdesktopf AUR может отображать доступные файлы .desktop или искать их содержимое.
Он также может выполнять поиск по типу MIME. Смотрите приложения по умолчанию#lsdesktopf.
fbrokendesktop
Скрипт fbrokendesktop AUR с использованием команды which для обнаружения сломанного Exec , который указывает на не существующий путь. Без каких-либо параметров он использует предварительно установленные каталоги в массиве DskPath . Он показывает только сломанный .desktop с полным отсутствием пути и имени файла.
Советы и рекомендации
Запуск ярлыка через терминал
Если установлен gtk3 , выполните gtk-launch приложение.desktop .
Или установите dex и выполните dex /путь/к/приложению.desktop .
Изменение ярлыков
Если файл .desktop, который вы хотите отредактировать, является системным (то есть предоставляется пакетом), сперва скопируйте его (например, из /usr/share/applications/ ) в $XDG_DATA_HOME/applications/ (например,
/.local/share/applications/ ). Это предотвратит перезапись ваших изменений во время обновления системы. Локальные пользовательские файлы .desktop имеют приоритет над общесистемными файлами. Теперь вы можете изменять свой локальный файл .desktop как вам угодно.
- Переместить ярлык из $XDG_CONFIG_HOME/autostart/ в $XDG_DATA_HOME/applications/ .
- С помощью команды ls -l убедиться, что этот ярлык является обычным файлом, который можно редактировать, а не ссылкой на общесистемный файл. Если это ссылка, замените её копией оригинала, как описано выше.
- Создайте символическую ссылку в каталоге автозапуска (в этом примере команды подставлены стандартные пути к каталогам XDG для удобства):
Теперь для автозапуска и для обычного ярлыка будет использоваться один и тот же файл.
Изменение переменных окружения
Чтобы прописать переменные окружения в файле .desktop, измените строку Exec= , добавив в неё использование команды env(1) для установки переменных. Пример (исходная строка закомментирована):
Изменение аргументов командной строки
Чтобы изменить или добавить аргументы командной строки, измените строку Exec= , добавив в неё нужные параметры. Пример (исходная строка закомментирована):
Скрытие ярлыков
Видимость ярлыка можно контролировать несколькими способами. Дополнительную информацию смотрите в Desktop Entry Specification. Добавьте одну из следующих строк в файл .desktop:
Как добавить ярлык запуска приложения на рабочий стол Ubuntu 20.04 LTS
В этом кратком руководстве вы узнаете, как добавлять ярлыки приложений на рабочий стол в Ubuntu и других дистрибутивах, использующих рабочий стол GNOME.
Классические настольные операционные системы всегда имеют значки на «экране рабочего стола». Эти значки на рабочем столе могут включать файловый менеджер, мусорное ведро и ярлык для приложений.
При установке приложений в Windows некоторые программы спрашивают, хотите ли вы создать ярлык на рабочем столе. В Linux это не так.
Но если вы являетесь поклонником этой функции, позвольте мне показать вам, как вы можете добавить ярлыки ваших любимых приложений на рабочий стол в Ubuntu и других дистрибутивах Linux.
Добавление ярлыка на рабочий стол в Ubuntu
Лично я предпочитаю Ubuntu Launcher для ярлыков приложений. Если я часто использую программу, я добавляю ее в панель запуска. Но я знаю, что не у всех одинаковые предпочтения, и некоторые люди предпочитают ярлыки на рабочем столе.
Давайте рассмотрим самый простой способ создания ярлыка приложения на рабочем столе.
Эта инструкция была протестирована на Ubuntu 20.04 LTS с рабочим столом GNOME.
В новой версии Ubuntu 20.04, после установки уже есть значки на рабочем столе, такие как: Домашняя папка и корзина, поэтому дополнительных действий с вашей стороны не требуется.
Теперь самое время добавить ярлыки приложений на рабочий стол.
Шаг 1. Найдите файлы приложений .desktop.
Для этого, перейдите в Файловый менеджер -> Другие места -> Компьютер.
Далее перейдите в каталог usr -> share -> applications. Вы увидите значки нескольких приложений Ubuntu, которые вы когда-то установили. Даже если вы не видите иконки, вы должны увидеть файлы .desktop, которые называются application.desktop.


Шаг 2. Скопируйте файл .desktop на рабочий стол.
Теперь все что вам нужно сделать, это найти значок приложения которое вы хотите видеть и запускать с рабочего стола. Но есть одна проблема – к сожалению, в последней версии Ubuntu, нельзя просто так скопировать файл обычным перетаскиванием, или комбинацией клавиш Ctrl + C. Вам нужно нажать правой кнопкой мышки на файле, и в контекстном меню выбрать “Копировать”

А затем, тоже самое проделать на рабочем столе. Нажмите правой кнопкой мышки, и выберите “Вставить”

Шаг 3: Запустите файл рабочего стола
Когда вы все сделаете, вы должны увидеть значок типа текстового файла на рабочем столе вместо логотипа приложения. Не волнуйся, через мгновение все изменится.

Что вам нужно сделать, нажать правой кнопкой мышки на файле, и в контекстном меню выбрать “Разрешить запуск”
Приложение будет запускаться как обычно, и вы также заметите, что файл .desktop теперь превратился в значок приложения. Я полагаю, вам нравятся ярлыки приложений, не так ли?

Вывод
Если вам не нравится определенная программа запуска приложений на рабочем столе, просто выберите ее и удалите. Удалится только ярлык, но приложение останется в вашей системе.
Я надеюсь, что этот быстрый совет оказался полезным, и теперь вы можете наслаждаться ярлыками приложений на рабочем столе Ubuntu.
Если у вас есть вопросы или предложения, пожалуйста, дайте мне знать в комментариях ниже.