Как узнать имя и путь запущенного приложения gui на linux?

Мне интересно узнать больше о моей системе. Запустил, например, графическое приложение "печать". Блестящее красивое имя в названии.

в /usr/bin нет файла "printing".

есть ли какой-то трюк, чтобы показать реальное имя приложения в файловой системе вместо "печати", например "printgui"?

28
задан Hennes
01.01.2023 13:09 Количество просмотров материала 3453
Распечатать страницу

2 ответа

обычно GUI приложения запускаются через "лаунчеры", т. е. .рабочий стол файлы. Вы видите "печать" в своих меню вместо реального имени, потому что это" общее имя " приложения (подробности в ссылке, которую я опубликовал). В зависимости от того, какой DE вы используете, вы можете щелкнуть правой кнопкой мыши на пункте меню и выбрать Edit или Properties, который позволит вам увидеть путь к исполняемому файлу, а иногда и настоящее имя для этого приложения. Это невозможно в DE как и Gnome 3, Так вот решение, которое должно работать независимо от вашего DE.

.desktop файлы находятся в /usr/share/applications так просто grep - ing для GenericName=Печать должен перечислить по крайней мере одну пусковую установку, содержащую эту строку.

например. У меня нет "печати "в моей системе, но у меня есть"текстовый редактор". Я хочу знать настоящее имя приложения / исполняемого файла, поэтому я запускаю:

grep "GenericName=Text Editor" /usr/share/applications/*

что выходные данные:

/usr/share/applications/gedit.desktop:GenericName=Text Editor

так "launcher" для "текстовый редактор"/usr/share/applications/gedit.desktop. Теперь, чтобы узнать настоящее имя и исполняемый файл для "текстового редактора", я должен grep значение двух ключей: Name и Exec:

grep -E '(^Name=|^Exec=)' /usr/share/applications/gedit.desktop 

выходы:

Name=gedit
Exec=gedit %U

полный путь к исполняемому файлу, это только вопрос или работает:

which gedit

и что возвращает:

/usr/bin/gedit
3
отвечен don_crissti 2023-01-02 20:57

Я транспонировал ответ выше в скрипт execCmdGnome3.sh показанное ниже. Я использую эту утилиту, чтобы узнать, как вызывать приложения из терминала, имя оболочки gnome которого я знаю.

#!/bin/bash
#
# Name: execCmdGnome3.sh
# Usage e.g.: sudo execCmdGnome3.sh "Document Viewer" 
# Output: Found Launcher: "evince.desktop"
#         Name=Document Viewer
#         Exec=evince %U

launcher=`grep "" /usr/share/applications/* | sed s/.*applications.// | sed s/:.*// | uniq`
echo "Found Launcher: \"$launcher\""
grep -E '(^Name=|^Exec=)' "/usr/share/applications/$launcher"
2
отвечен chofer 2023-01-02 23:14

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх