Как получить путь запуска по значку приложения из меню GNOME Show Applications?

Возможно ли с помощью значка приложения в Ubuntu (Applications или Dock) найти путь выполнения или команду запуска этого приложения?

Например, некоторые приложения переносимы и были добавлены вручную, а не из Ubuntu Software магазин.

1
задан 26 April 2019 в 20:12

1 ответ

Краткий ответ

Информация, которую вы ищете, доступна в файле .desktop приложения.

  1. Найдите файл .desktop в своей системе, который содержит отображаемое имя приложения в строке Name=
  2. Откройте этот файл рабочего стола и найдите имя исполняемого файла в Exec= линии.

Длинный ответ и фон

Каждый значок в меню «Приложения» оболочки Gnome соответствует файлу .desktop на диске. Файл .desktop - это обычный текстовый файл с расширением .desktop. Этот файл предоставляет информацию для рабочего стола о том, как запустить программу, какой значок использовать и т. Д.

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

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

which firefox

сообщит вам, где находится исполняемый файл в вашей файловой системе.

И последнее, но не менее важное: вам нужно найти файлы .desktop, чтобы можно было найти информацию о пути, которую вы ищете. Файлы .desktop обычно находятся в одном из двух мест. Общесистемные файлы .desktop находятся в каталоге / usr / share / Applications. Файлы .desktop, к которым имеет доступ только текущий пользователь, находятся в ~ / .local / share / Applications. Для файлов с одинаковыми именами файлы рабочего стола в каталоге локального пользователя будут иметь приоритет и отображаться в меню приложений.

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

locate .desktop

. Чтобы просмотреть их постранично, вы можете использовать команду less.

locate .desktop | less

Иногда может быть не сразу очевидно, какой значок в меню приложения принадлежит какому меню рабочего стола. Меню приложения отображает название приложения, указанное в строке Name= в файле рабочего стола. С помощью некоторого мастера bash вы можете искать это имя во всех файлах .desktop, чтобы найти те, которые содержат имя. Например, это простой способ определить файл .desktop для карточной игры «Пасьянс AisleRiot», зная, что Gnome Shell отображает AisleRiot Soli ..

$ grep  "AisleRiot" $(locate .desktop) 2> /dev/null
/usr/share/applications/sol.desktop:Name=AisleRiot Solitaire
0
ответ дан 26 April 2019 в 20:12

Другие вопросы по тегам:

Похожие вопросы: