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

Опубликовано: 2022-10-12
Ноутбук на синем фоне с командной строкой Linux.
Фатмавати Ачмад Заэнури/Shutterstock.com

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

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

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

9 примеров Bash-скриптов, которые помогут вам начать работу в Linux
СВЯЗАННЫЕ 9 примеров сценариев Bash для начала работы в Linux

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

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

Как скомпилировать и установить из исходников на Ubuntu
СВЯЗАННЫЕ Как скомпилировать и установить из исходного кода на Ubuntu

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

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

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

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

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

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

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

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

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

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

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

 ./таф 

Запускаем таф-приложение

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

Приложение taf, работающее как приложение GNOME GTK

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

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

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

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

 [Вход на рабочий стол]
Name=текстовая приключенческая структура
GenericName=Интерпретатор сценариев приключений GDL
Комментарий=Интерпретатор языка описания игры
Версия=1.0
Exec=/usr/local/bin/taf/taf
Путь=/usr/local/bin/taf/
Icon=/usr/local/bin/taf/taf_icon.png
Терминал=ложь
Тип = Приложение
Категории=GNOME;GTK;Игра;

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

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

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

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

 sudo update-desktop-database 

Обновление файловой базы данных рабочего стола

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

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

 Категории=GNOME;GTK;Игра;Приложение;

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

 рабочий стол-файл-проверка taf.desktop 

Проверка файла рабочего стола на наличие ошибок

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

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

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

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

 sudo cp taf.desktop /usr/share/applications 

Копирование файла рабочего стола в каталог /usr/share/applications

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

 sudo update-desktop-database 

Обновление файловой базы данных рабочего стола

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

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

Обновление файловой базы данных рабочего стола

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

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

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

Контекстное меню с выделенной опцией «Закрепить в избранном».

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

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

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

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

СВЯЗАННЫЕ С: Как быть более продуктивным в Ubuntu, используя сочетания клавиш