1

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

В каталоге /usr /bin нет файла "печать".

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

2 ответа2

3

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

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

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

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

какие выводы:

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

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

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

какие выводы:

Name=gedit
Exec=gedit %U

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

which gedit

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

/usr/bin/gedit
2

Я перенес ответ выше в скрипт 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 "$1" /usr/share/applications/* | sed s/.*applications.// | sed s/:.*// | uniq`
echo "Found Launcher: \"$launcher\""
grep -E '(^Name=|^Exec=)' "/usr/share/applications/$launcher"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .