Гид по технологиям

Как создать .desktop‑файл в Linux

• 7 min read • Linux • Обновлено 29 Nov 2025
Как создать .desktop‑файл в Linux
Как создать .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‑архив.

  1. Откройте папку с загруженным архивом (обычно ~/Загрузки или ~/Downloads).
  2. Правой кнопкой мыши выберите «Распаковать здесь» (Extract here).

Распаковка архива в файловом менеджере

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

Тестовый запуск исполняемого файла

  1. Если вариант «Запустить» не отображается (часто файл помечен как текст), запустите исполняемый файл через терминал:
cd ~/Downloads/имя-папки
./имя-исполняемого-файла

Запуск через терминал

  1. Если приложение запускается корректно — закройте его и откройте текстовый редактор.
  2. Создайте новый файл и вставьте шаблон .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.png

Notes: используйте абсолютные пути (начинающиеся с /home), либо относительные команды, если вы уверены в окружении. Если приложение требует аргументы, добавьте их в Exec, например: Exec=/path/app –option

  1. Сохраните файл как application-name.desktop в ~/.local/share/applications

Если хотите установить ярлык глобально, поместите файл в /usr/share/applications с привилегиями root:

sudo mv ~/.local/share/applications/application-name.desktop /usr/share/applications/
  1. Откройте меню «Приложения» и найдите ваше приложение. При необходимости в файловом менеджере на рабочем столе щёлкните по .desktop‑файлу правой кнопкой и выберите «Разрешить запуск» (Allow Launching), чтобы установить флаг исполняемости.

Рабочий ярлык в меню приложений

Копирование существующего .desktop‑файла (быстрый шаблон)

Если в системе уже есть похожее приложение, возьмите его .desktop‑файл как шаблон:

  1. Откройте файловый менеджер и выберите «Другие места» (Other Locations) → «Компьютер» (Computer).

Файловый менеджер: другие места

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

Папка системных ярлыков

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

Копирование .desktop‑файла

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

Включение разрешения на запуск

Полезно: редактируйте копию, поменяйте поля 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 поместите в нужную папку и включите запуск.

Окно Arronax для создания ярлыка

Частые проблемы и их решения

  1. Ярлык не отображается в меню «Приложения» — проверьте: правильный ли путь в Exec и есть ли поле Type=Application. Убедитесь, что файл имеет расширение .desktop и лежит в ~/.local/share/applications или /usr/share/applications.

  2. Файл не запускается с рабочего стола — включите «Разрешить запуск» в свойствах файла; это установит бит исполнения.

  3. Значок не отображается — проверьте путь в Icon и формат значка (.png, .svg). Можно положить значок в ~/.local/share/icons или /usr/share/icons и указать относительное имя без расширения, если значок зарегистрирован в системе.

  4. Приложение требует переменных окружения — создайте небольшой скрипт‑обёртку, например /home/user/bin/run_my_app.sh:

#!/bin/bash
export MY_ENV=1
/path/to/myapp "$@"

Сделайте скрипт исполняемым (chmod +x) и укажите в Exec путь к этому скрипту.

  1. .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) — быстро и надёжно

  1. Проверить, что приложение запускается из терминала.
  2. Подготовить и протестировать wrapper‑скрипт, если нужны переменные окружения.
  3. Создать .desktop в ~/.local/share/applications с корректными путями.
  4. Включить исполнение (Разрешить запуск) при необходимости.
  5. Проверить в меню и через сторонние лаунчеры.
  6. При установке для всех пользователей — перенести файл в /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.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро