Как создать .desktop‑файл в Linux
Зачем нужен .desktop‑файл
.desktop‑файл — короткое текстовое описание приложения для рабочего стола (launcher). Он сообщает рабочему окружению, как запускать программу, нужен ли терминал и какой значок отображать. Без такого файла приложение не появится в меню «Приложения» и не будет доступно через сторонние лаунчеры (Ulauncher, Albert и т. п.).
Кратко: если вы скачали программу в архиве или собрали её из исходников, .desktop‑файл превращает её из «файла в папке» в «интегрированное» приложение.
Краткая структура .desktop‑файла
Однострочно: метаданные в формате ключ=значение. Вот минимальный шаблон:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/path/to/executable
Name=Name of Application
Icon=/path/to/iconПояснение полей одной строкой:
- [Desktop Entry] — секция, обязательная для рабочего стола.
- Encoding — кодировка (UTF‑8 чаще всего).
- Type — тип записи (Application для программ).
- Terminal — true, если программа запускается в терминале.
- Exec — команда или путь к исполняемому файлу.
- Name — отображаемое имя.
- Icon — путь к файлу значка (.png, .svg).
Где хранить .desktop‑файлы
- Для текущего пользователя: ~/.local/share/applications
- Для всех пользователей: /usr/share/applications
Если вы хотите, чтобы ярлык был виден только вам — используйте первый путь. Если нужно, чтобы он появился у всех — кладите файл в /usr/share/applications (требуются права root).
Important: в домашней папке папка .local скрыта — включите «Показать скрытые файлы» в файловом менеджере, чтобы увидеть её.
Пошаговая инструкция: создание вручную
Эта секция подробно описывает процесс на примере игры Super Tux Kart, скачанной как tar‑архив.
- Откройте папку с загруженным архивом (обычно ~/Загрузки или ~/Downloads).
- Правой кнопкой мыши выберите «Распаковать здесь» (Extract here).

- Перейдите в распакованную папку и найдите исполняемый файл. В файловом менеджере можно щёлкнуть по файлу правой кнопкой и выбрать «Запустить как программу» (Run as a Program) чтобы протестировать работу.

- Если вариант «Запустить» не отображается (часто файл помечен как текст), запустите исполняемый файл через терминал:
cd ~/Downloads/имя-папки
./имя-исполняемого-файла
- Если приложение запускается корректно — закройте его и откройте текстовый редактор.
- Создайте новый файл и вставьте шаблон .desktop, подставив реальные пути:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/home/ваш_пользователь/Downloads/supertuxkart/supertuxkart
Name=SuperTuxKart
Icon=/home/ваш_пользователь/Downloads/supertuxkart/data/icons/supertuxkart.pngNotes: используйте абсолютные пути (начинающиеся с /home), либо относительные команды, если вы уверены в окружении. Если приложение требует аргументы, добавьте их в Exec, например: Exec=/path/app –option
- Сохраните файл как application-name.desktop в ~/.local/share/applications
Если хотите установить ярлык глобально, поместите файл в /usr/share/applications с привилегиями root:
sudo mv ~/.local/share/applications/application-name.desktop /usr/share/applications/- Откройте меню «Приложения» и найдите ваше приложение. При необходимости в файловом менеджере на рабочем столе щёлкните по .desktop‑файлу правой кнопкой и выберите «Разрешить запуск» (Allow Launching), чтобы установить флаг исполняемости.

Копирование существующего .desktop‑файла (быстрый шаблон)
Если в системе уже есть похожее приложение, возьмите его .desktop‑файл как шаблон:
- Откройте файловый менеджер и выберите «Другие места» (Other Locations) → «Компьютер» (Computer).

- Перейдите в /usr/share/applications — там хранятся системные ярлыки.

- Скопируйте подходящий .desktop (правый клик → Копировать), затем вставьте копию в ~/Рабочий стол или ~/.local/share/applications.

- На рабочем столе правым кликом включите «Разрешить запуск».

Полезно: редактируйте копию, поменяйте поля Exec, Name и Icon под своё приложение.
Создание .desktop‑файла с GUI (Arronax)
Если вы не хотите редактировать файлы вручную, можно воспользоваться программой с графическим интерфейсом, например Arronax. Учтите, что Arronax может отсутствовать в стандартных репозиториях, поэтому его нужно установить из PPA или распаковать из архива.
Установка через PPA (Ubuntu‑подобные системы):
sudo add-apt-repository ppa:diesche/stable
sudo apt update
sudo apt install arronaxЕсли установливаете из тарбола:
tar xvzf /home/$USER/Downloads/arronax-0.8.1.tar.gz
./setup.py && ./run.pyЗапустите Arronax, нажмите «New», введите Title и Command (путь к исполняемому файлу), отметьте «Run in Terminal», если приложение текстовое, и сохраните. Сохранённый .desktop поместите в нужную папку и включите запуск.

Частые проблемы и их решения
Ярлык не отображается в меню «Приложения» — проверьте: правильный ли путь в Exec и есть ли поле Type=Application. Убедитесь, что файл имеет расширение .desktop и лежит в ~/.local/share/applications или /usr/share/applications.
Файл не запускается с рабочего стола — включите «Разрешить запуск» в свойствах файла; это установит бит исполнения.
Значок не отображается — проверьте путь в Icon и формат значка (.png, .svg). Можно положить значок в ~/.local/share/icons или /usr/share/icons и указать относительное имя без расширения, если значок зарегистрирован в системе.
Приложение требует переменных окружения — создайте небольшой скрипт‑обёртку, например /home/user/bin/run_my_app.sh:
#!/bin/bash
export MY_ENV=1
/path/to/myapp "$@"Сделайте скрипт исполняемым (chmod +x) и укажите в Exec путь к этому скрипту.
- .desktop не поддерживается вашим оконным менеджером — многие минималистичные менеджеры не поддерживают спецификацию XDG‑Menu; в таких случаях используйте пользовательские скрипты, сочетания клавиш и меню, специфичные для менеджера.
Проверка и критерии приёмки
Критерии приёмки для рабочего .desktop‑файла:
- Файл имеет расширение .desktop и лежит в правильной директории.
- Исполняется двойным кликом или из меню «Приложения».
- Корректно отображает имя и значок.
- Если Terminal=true, приложение открывается в терминале; иначе — в графическом режиме.
Тесты для проверки:
- Откройте меню «Приложения» и найдите приложение.
- Запустите приложение и закройте — подтвердите, что работает.
- Проверьте запуск через сторонний лаунчер (Ulauncher/Albert).
Шаблоны и примеры
Минимальный шаблон (краткий):
[Desktop Entry]
Type=Application
Name=MyApp
Exec=/home/user/bin/myapp
Icon=/home/user/.local/share/icons/myapp.png
Terminal=falseШаблон для текстового приложения (TUI/CLI) с запуском в терминале:
[Desktop Entry]
Type=Application
Name=MyTUI
Exec=/usr/local/bin/mytui
Icon=/usr/share/icons/mytui.png
Terminal=trueШаблон с категorizацией и локализацией (полезно для меню):
[Desktop Entry]
Type=Application
Name=Мой Приложение
Name[ru]=Моё Приложение
Exec=/opt/myapp/run.sh
Icon=/opt/myapp/icons/app.svg
Categories=Utility;Development;
Comment=Короткое описаниеРекомендации по безопасности и правам
- Не делайте Exec указывать на сомнительные скрипты в общедоступных папках.
- Если ставите файл в /usr/share/applications, убедитесь в доверии к содержимому — нужны права root.
- Для запуска приложений с повышенными правами используйте отдельные политики (pkexec) и избегайте вставлять sudo в Exec.
Альтернативные подходы
- Use .desktop + wrapper script — удобно для установки переменных окружения или запуска от конкретного пользователя.
- Snap/Flatpak/AppImage — упаковка приложения в контейнер часто автоматически добавляет .desktop и значки.
- Сторонние GUI‑утилиты — Arronax, Menulibre и другие позволяют управлять ярлыками через интерфейс.
Когда .desktop не поможет (контрпример)
- В минималистичных оконных менеджерах без поддержки XDG‑Menu файлы .desktop не появятся в стандартном меню. Решение: настраиваемые меню/скрипты конкретного WM.
- Для системных демонов и сервисов .desktop неприменим — используйте systemd‑юниты.
Быстрый чеклист перед публикацией ярлыка
- Файл имеет расширение .desktop
- Exec указан абсолютным путем или существующей командой
- Icon указывает на валидный файл значка
- Type=Application
- Для CLI: Terminal=true
- Файл находится в ~/.local/share/applications или /usr/share/applications
- Если в /usr/share/applications — права root
Роль‑ориентированные рекомендации
Для разработчика:
- Делайте установщик, который добавляет .desktop и значки.
- Регистрация в /usr/share/applications и /usr/share/icons повышает удобство.
Для системного администратора:
- Массово разворачивайте .desktop через конфигурационные инструменты (Ansible, Puppet).
- Следите за правами и наличием доверенных источников.
Для обычного пользователя:
- Копируйте готовые шаблоны и меняйте только Exec, Name и Icon.
- Используйте Arronax или Menulibre, если боитесь вручную править файлы.
Методология (микро‑SOP) — быстро и надёжно
- Проверить, что приложение запускается из терминала.
- Подготовить и протестировать wrapper‑скрипт, если нужны переменные окружения.
- Создать .desktop в ~/.local/share/applications с корректными путями.
- Включить исполнение (Разрешить запуск) при необходимости.
- Проверить в меню и через сторонние лаунчеры.
- При установке для всех пользователей — перенести файл в /usr/share/applications.
Диагностика: часто проверяемые команды
- Проверка синтаксиса .desktop (неформально): откройте и убедитесь в присутствии [Desktop Entry] и обязательных полей.
- Проверка разрешений:
ls -l ~/.local/share/applications/application-name.desktop- Перемещение в глобальную папку:
sudo mv ~/.local/share/applications/application-name.desktop /usr/share/applications/Пример mermaid‑диаграммы принятия решения
flowchart TD
A[Нужно добавить приложение в меню?] --> B{Имеется ли .desktop в /usr/share/applications?}
B -- Да --> C[Скопировать в ~/.local/share/applications и отредактировать]
B -- Нет --> D{Программа в архиве или AppImage?}
D -- Архив --> E[Создать .desktop вручную с Exec -> full path]
D -- AppImage --> F[Сгенерировать .desktop, указывающий на AppImage]
E --> G[Установить права и проверить в меню]
F --> G
C --> GСовместимость и подсказки для локали
- Пути одинаковы для большинства дистрибутивов Linux (Debian/Ubuntu/Fedora/Arch). Различия могут быть в менеджерах пакетов и GUI (Nautilus, Thunar, Dolphin).
- В русскоязычных системах используйте «Приложения» в описаниях интерфейса, но в .desktop‑файле поля Name и Name[ru] помогут локализовать отображаемое имя.
Часто задаваемые вопросы
Можно ли использовать .desktop в оконном менеджере?
В большинстве лёгких оконных менеджеров (.e.g. i3, Openbox) полноценная поддержка XDG‑Menu отсутствует, поэтому .desktop не появится в системном меню. Можно создавать пользовательские меню или привязки клавиш и вызывать исполняемый файл напрямую.
Можно ли создавать .desktop для CLI/TUI приложений через Arronax?
Да. При создании ярлыка отметьте запуск в терминале (Run in Terminal / Terminal=true). Тогда .desktop будет запускать приложение внутри терминала.
Можно ли скрыть ярлык из меню «Приложения»?
Да. Откройте соответствующий .desktop в /usr/share/applications и добавьте строку:
Hidden=trueПосле перезагрузки или перезапуска оболочки ярлык перестанет отображаться.
Итог
.desktop‑файлы — универсальный и лёгкий способ сделать программы доступными из меню рабочего стола и лаунчеров. Создание ярлыка вручную даёт полный контроль (пути, значки, параметры среды), копирование существующего файла ускоряет задачу, а GUI‑утилиты удобны для пользователей, избегающих редактирования текстовых файлов. Следуйте чеклисту и критериям приёмки, чтобы ярлык работал корректно на вашей системе.
Image credit: Charles-Adrien Fournier via Unsplash All screenshots by Ramces Red.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента