Встроенная документация GNOME охватывает только то, что каждый может легко догадаться. У меня есть приложение, которое я могу запустить только из командной строки. Не то чтобы я возражал против использования терминала, но ...
В любом случае, как мне добавить команду (и, желательно, красивый логотип) в GNOME WM?
Ответы:
В GNOME и других freedesktop.org- совместимых средах рабочего стола, таких как KDE и Unity , приложения добавляются в меню рабочего стола или оболочку рабочего стола через записи рабочего стола , определенные в текстовых файлах с
.desktop
расширением (называемые файлами рабочего стола ). Среды рабочего стола создают меню для пользователя из объединенной информации, извлеченной из доступных записей рабочего стола.Файлы рабочего стола могут быть созданы в любом из двух мест:
/usr/share/applications/
для записей на рабочем столе, доступных для каждого пользователя в системе~/.local/share/applications/
для записей на рабочем столе, доступных для одного пользователяВозможно, вам придется перезапустить GNOME, чтобы новые добавленные приложения заработали.
В соответствии с соглашением, файлы рабочего стола не должны содержать пробелов или международных символов в своем имени.
Каждый файл рабочего стола разбит на группы , каждая из которых начинается с заголовка группы в квадратных скобках (
[]
). Каждая секция содержит ряд ключевого , значение пара, разделенный знак равенства (=
).Ниже приведен пример файла рабочего стола:
объяснение
[Desktop Entry]
Desktop Entry
заголовок группы идентифицирует файл как запись рабочего столаType
тип записи, допустимые значенияApplication
,Link
иDirectory
Encoding
кодировка файла рабочего столаName
имя приложения отображается в меню или средствах запускаComment
описание приложения, используемого во всплывающих подсказкахIcon
значок, показанный для приложения в меню или средствах запускаExec
команда, которая используется для запуска приложения из оболочки.Terminal
должно ли приложение работать в терминале, допустимыми значениями являютсяtrue
илиfalse
Categories
;
разделенный точкой с запятой ( ) список категорий меню, в которых должна отображаться записьАргументы командной строки в
Exec
ключе могут быть обозначены следующими переменными:%f
одно имя файла.%F
несколько имен файлов.%u
один URL.%U
несколько URL.%d
один каталог. Используется в сочетании с,%f
чтобы найти файл.%D
несколько каталогов. Используется в сочетании с%F
для поиска файлов.%n
одно имя файла без пути.%N
несколько имен файлов без путей.%k
URI или локальное имя файла расположения файла рабочего стола.%v
имя записи устройства.Обратите внимание, что
~
переменные среды, такие как переменные$HOME
, не раскрываются в файлах рабочего стола, поэтому любые исполняемые файлы, на которые ссылаются, должны быть либо в,$PATH
либо в ссылках по их абсолютному пути.Полная спецификация входа на рабочий стол доступна в Центре разработки GNOME .
Сценарии запуска
Если для запуска приложения требуется выполнить определенные шаги до его вызова, вы можете создать сценарий оболочки, который запускает приложение, и указать запись рабочего стола на сценарий оболочки. Предположим, что приложение требует запуска из определенного текущего рабочего каталога. Создайте скрипт запуска в подходящем месте (
~/bin/
например). Сценарий может выглядеть примерно так:Установите исполняемый бит для скрипта:
Затем укажите
Exec
ключ в записи на рабочем столе для запуска сценария:источник
<path>/.FTL
будет указывать на скрытый файл с именем.FTL
, который отличается от того./FTL
, который указывает на файл, вызываемыйFTL
в текущем каталоге. Вы можете попробовать запуститьFTL
через/full/path/path/to/FTL
терминал, чтобы увидеть, есть ли какие-либо значимые сообщения об ошибках. Например, если исполняемый файл выполняет поиск библиотек в текущем рабочем каталоге, вам, возможно, придется выполнить сценарий запуска, который делает что-то вроде строкиpushd <path>; ./FTL; popd
иExec
вместо этого указать спецификатор в файле рабочего стола на сценарий запуска.Очень хороший ответ от Томаса Наймана.
Gnome поставляется с графическим инструментом,
gnome-desktop-item-edit
помогающим создавать файлы * .desktop. Нам нужно использовать его из командной строки или создать для него файл рабочего стола.Инструкция, как сделать приложение Gnome из
gnome-desktop-item-edit
Откройте окна терминала и введите следующую команду:
gnome-desktop-item-edit --create-new / home / [ваше имя пользователя] /. local / share / apps
В открывшемся окне заполните следующее:
Name: Gnome Applicaiton
Command: gnome-desktop-item-edit --create-new /home/[your user name]/.local/share/applications
Нажмите на значок, чтобы выбрать другой значок.
Нажмите OK, чтобы закрыть окна
Закройте окно терминала
Тестирование вновь сгенерированного
Gnome Application
Gnome Application
введенное ранееисточник
Предыдущие ответы Томаса Наймана и Дуди Боя очень хорошие и подробные. Я публикую это, потому что я не нашел ответа на свои сомнения ни в одном другом сообщении, и мне пришлось искать в git-проблемах.
После того, как я следовал шагам, которые, как предположил Томас Найман, я смог сделать так, чтобы значок моей программы появлялся в меню приложений. Проблема здесь в том, что я использую Dash to Dock в качестве боковой панели, и я не могу прикрепить значок в качестве избранного, как другие значки. После поиска я обнаружил, что вам нужно добавить строку
StartupWMClass=ApplicationName
в.desktop
файл. После этого появится возможность добавить в избранное, щелкнув правой кнопкой мыши значок в Dash to Dock.источник