Поиск по сайту:

Как интегрировать приложения и сценарии в рабочий стол Linux


В Linux приложение без файла рабочего стола не будет интегрироваться в среду вашего рабочего стола. Большинство приложений предоставляют его, но иногда вам нужно его создать. Это довольно просто, просто следуйте этим шагам.

Файлы рабочего стола

Файлы рабочего стола содержат информацию о приложении или скрипте, которому они принадлежат. Чаще всего они используются с бинарными исполняемыми файлами, но при желании вы можете использовать их и со сценарием. Для краткости мы просто будем говорить «приложение».

Файл рабочего стола содержит метаданные, на которые среда рабочего стола может ссылаться при работе с этим приложением. Файл рабочего стола будет указывать, где находится двоичный файл приложения или сценарий, какой значок он использует и т. д. Поскольку файлы рабочего стола хранятся в стандартных местах, среда рабочего стола может надежно найти их и сослаться на них.

Если у приложения нет файла рабочего стола, некоторые его интеграции с вашей средой рабочего стола не удастся выполнить. Он не появится в результатах поиска приложений, и вы не сможете прикрепить его к доку или другому лаунчеру. В некоторых средах рабочего стола вы можете поместить файл рабочего стола на рабочий стол, и он будет действовать как ярлык, позволяя запускать приложение, дважды щелкнув файл рабочего стола. Именно этот вариант использования дал им свое название.

Приложения могут не иметь файла рабочего стола по ряду причин. Процедура установки могла дать сбой, или это мог быть минималистский установщик, который никогда не собирался его предоставлять. Загрузка приложения в виде исходного кода и его компиляция на вашем компьютере часто не создает файл на рабочем столе.

Конечно, если вы сами написали приложение, вы также несете ответственность за файл рабочего стола. Приложения, которые хорошо себя ведут и соответствуют нормам и ожиданиям вашей среды рабочего стола, — это те приложения, которые кажутся профессиональными и дают пользователям уверенность в том, что вы знаете, что делаете.

Независимо от того, почему вы собираетесь создать файл рабочего стола, во всех случаях это делается одинаково.

Создание файла рабочего стола

Файл рабочего стола представляет собой обычный текстовый файл. Их можно создать с помощью любого текстового редактора. Им дается то же имя, что и приложению, которое они представляют, и по соглашению они имеют расширение «.desktop».

Файлы рабочего стола могут содержать комментарии, заголовки групп и пары ключ-значение.

  • Комментарии. Комментарии начинаются с решётки «#».
  • Заголовки групп. Заголовки групп действуют как заголовки разделов. Они заключаются в скобки «[]». Они используются для группировки связанных наборов пар ключ-значение. Единственным обязательным заголовком группы является «[Desktop Entry]».
  • Пары ключ-значение. Настройки вводятся путем предоставления значений именованным элементам или ключам. Например, Type=Application – это пара ключ-значение. «Тип» — это ключ, а «Приложение» — это значение.

Рабочий пример

Прежде чем начать, убедитесь, что приложение работает. Откройте окно терминала и запустите приложение. Если запустится, то отлично. Вы можете пойти дальше и создать файл на рабочем столе. Если приложение не запускается, то независимо от того, что вы поместите в файл рабочего стола, оно все равно не запустится.

Вам нужно исправить то, что мешает запуску приложения, прежде чем вы даже подумаете о добавлении еще одного уровня абстракции в виде файла рабочего стола.

Программа, с которой мы работаем, имеет исполняемый файл с именем taf, расположенный в каталоге «/usr/local/bin/taf/». Мы запустим приложение, чтобы убедиться, что оно запускается без проблем.

./taf

Программа запускается нормально.

Этот простой тест дает полезные знания. Если мы сталкиваемся с трудностями при попытке запустить приложение из файла рабочего стола, это означает, что проблема должна быть связана с файлом рабочего стола, а не с самим приложением.

Мы можем создать наш файл на рабочем столе где угодно, но чтобы использовать его, нам нужно скопировать его в одно из двух мест.

  • Если вы единственный человек, который будет использовать приложение, скопируйте файл рабочего стола в каталог «~/.local/share/applications».
  • Если вы хотите, чтобы все пользователи могли использовать приложение, скопируйте файл рабочего стола в каталог «/usr/share/applications/».

Полностью рабочий файл рабочего стола не должен содержать очень много информации. Вот файл рабочего стола, который мы создали для приложения taf. Он называется «taf.desktop».

[Desktop Entry]
Name=Text Adventure Framework
GenericName=Interpreter for GDL Adventure Scripts
Comment=Game Description Language interpreter
Version=1.0
Exec=/usr/local/bin/taf/taf
Path=/usr/local/bin/taf/
Icon=/usr/local/bin/taf/taf_icon.png
Terminal=false
Type=Application
Categories=GNOME;GTK;Game;

Это можно использовать в качестве шаблона для ваших собственных файлов на рабочем столе. Не забудьте использовать имя вашего исполняемого файла для приложения, для которого вы создаете файл рабочего стола, и измените пути к каталогу в соответствии с требованиями.

Вот что означает каждая из строк.

  • [Desktop Entry]: эта строка идентифицирует файл как рабочий стол. Даже если файл был назван неправильно и не имел расширения «.desktop», он должен распознаваться и обрабатываться как настольный файл.
  • Имя: полное название приложения, а не имя исполняемого файла. Это будет отображаться под значком приложения, когда оно отображается в среде рабочего стола. Это также текст, который будет использоваться во всплывающих подсказках.
  • GenericName: общее описание типа приложения. Если есть общий термин, например веб-браузер, интегрированная среда разработки или текстовый процессор, вы можете использовать его.
  • Комментарий. Он предназначен для предоставления дополнительной информации в дополнение к парам имя и GenericName.
  • Версия: версия спецификации файла рабочего стола, которой соответствует этот файл.
  • Exec: это может быть имя исполняемого файла или полный путь к исполняемому файлу, включая имя исполняемого файла.
  • Путь: это путь к каталогу, из которого будет запущено приложение. Это рабочий каталог приложения во время запуска.
  • Значок: значок приложения. Этот значок используется в результатах поиска приложений, а также при добавлении приложения на док-станцию или в другое средство запуска.
  • Терминал: указывает, запускается ли приложение в окне терминала.
  • Тип. Для обычных приложений это всегда будет «Приложение».
  • Категории: это значение должно заканчиваться точкой с запятой «;», поскольку оно содержит список. Список содержит категории, которые приложение может быть указано в меню.

Каждый раз, когда вы изменяете файл рабочего стола live — тот, что находится в «~/.local/share/applications» или «/usr/share/applications/», — вам нужно будет выйти из системы и войти снова. чтобы увидеть, какой эффект произвели ваши изменения. Чтобы избежать этого, вы можете использовать команду update-desktop-database. Вам нужно будет использовать sudo, когда вы это сделаете.

sudo update-desktop-database

Также есть утилита для проверки файла рабочего стола на правильность. Если он обнаружит какие-либо синтаксические или другие ошибки, он сообщит вам о них. Добавим слово «Приложение» в строку «Категории» в нашем файле и проверим его.

Мы изменили последнюю строку на:

Categories=GNOME;GTK;Game;Application;

Это должно вызвать ошибку, потому что категория «Приложение» устарела.

desktop-file-validate taf.desktop

Валидатор выдает нам предупреждение о том, что категория «Приложение» больше не является допустимым значением в списке «Категории».

Использование файла рабочего стола

Если приложение предназначено только для вашего использования, скопируйте файл рабочего стола в каталог «~/.local/share/applications». Если всем пользователям разрешено использовать приложение, скопируйте файл рабочего стола в каталог «/usr/share/applications/».

Мы собираемся скопировать его в каталог «/usr/share/applications/».

sudo cp taf.desktop /usr/share/applications

Мы также обеспечим чтение нашего нового файла рабочего стола и добавление его метаданных в базу данных.

sudo update-desktop-database

Клавиша «Супер» обычно находится между левыми клавишами «Ctrl» и «Alt». Нажатие клавиши «Супер» в GNOME входит в поиск приложений. Поскольку в нашем настольном файле описывается приложение под названием «Text Adventure Framework», ввода «текста» в качестве подсказки для поиска достаточно, чтобы отобразить значок приложения в результатах поиска.

Щелчок по значку запускает приложение.

Приложение было хорошо интегрировано в среду рабочего стола. Его значок корректно отображается в доке во время работы. При наведении указателя на значок отображается подсказка с полным названием приложения.

Щелчок по значку показывает окно предварительного просмотра, показывающее окна, открытые приложением.

Щелчок правой кнопкой мыши по значку приложения вызывает контекстное меню. Выбор опции «Добавить в избранное» прикрепляет приложение к док-станции.

Значок приложения перемещается над разделительной линией и становится постоянным значком на доке. Значок присутствует, даже когда приложение не запущено.

Перейти на родной

Пользователи ожидают, что смогут делать определенные вещи с настольными приложениями. Они ожидают, что приложение будет указано в результатах поиска. Они предполагают, что его можно прикрепить к лаунчерам и док-станциям, и у него есть другие тонкости нативного приложения с хорошим поведением. Удивительное количество этих взаимодействий контролируется файлами рабочего стола.

Если вы обнаружите, что имеете дело с приложением, в котором отсутствует файл рабочего стола, теперь вы можете создать его для него. Это определенно лучше, чем каждый раз запускать приложение вручную.