Есть ли способ найти имя пакета / исполняемого файла (например, evince для средства просмотра документов или totem для видео) для приложения?
(1) Если вы знаете название программы
Попробуйте в командной строке:
find /usr -name 'evince'
Большинство программ находятся в / usr / bin каталог.
Затем вы можете ввести в командной строке:
/usr/bin/evince
Это запустит программу evince.
Чтобы узнать иерархию файловой системы Linux (что находится где), вы можете проверить страницу об иерархии файловой системы Linux на сайте проекта документации Linux
(2) Если вы [ 1135] не знаю название программы.
Шаг 1: Откройте терминал и перечислите все запущенные процессы с их PID - номером идентификатора процесса:
ps -e
Шаг 2: Запустите вашу программу [ 1121]
Шаг 3: переключитесь на терминал и снова введите:
ps -e
Шаг 4: метод проб и ошибок, чтобы найти процесс вашей программы .
Ubuntuone-syncd находится в обоих списках с PID 2911. Ps - это процесс команды ps в терминале. Осталось три варианта: update-notifier, aptd и evince.
В командной строке для этих 3 возможностей
man name_of_the_process
или
info name_of_the_process
или
name_of_the_process -h
Замените name_of_the_process на реальное имя процесса.
В этом случае, если мы введем
evince -h
, мы получим:
Таким образом, доказательством является просмотрщик документов GNOME, который мы искали.
xprop | grep PID , затем нажмите на окно. Это дает вам его PID, как упоминалось в: Скажите PID процесса по его окну?
Теперь просто ps aux | grep <PID>
.
Настольные приложения запускаются через файл *.desktop
. поэтому, если вы сделаете locate --regex '.desktop, вы получите список всех файлов '*. desktop' в вашей системе. Так как они обычно короткие файлы, легко найти строку "
EXEC=
".
EXEC=
". Ответ Фрэнка должен работать на тебя. Добавлю, что для определения местоположения процессов приложения мне нравится команда pstree
лучше, чем простой список ps
. (Технически, очень способная команда ps
может использоваться для печати дерева.) Но вот альтернативный подход.
Вы должны быть в состоянии найти соответствие между именем исполняемого файла приложения и его именем GUI в файле .desktop, и они разбросаны по вашей системе в нескольких каталогах. В терминале попробуйте это
grep -l "Categories=.*Settings" /usr/share/applications/*.desktop
, чтобы перечислить первичные системные файлы .desktop, описывающие приложения, отображаемые в диалоговых окнах настроек.
grep -l "Categories=.*Settings" /usr/share/applications/*.desktop | grep -i sound
сводит этот список только к файлам, содержащим название «звук». Программа, которую вы ищете, будет принадлежать к одному из перечисленных файлов .desktop, если повезет. Это текстовые файлы. Строка «Name =» дает имя GUI. Вас интересует строка «Exec =», которая называет исполняемый файл. Тогда эта строка может даже работать бесполезно:
grep -l "Categories=.*Settings" /usr/share/applications/*.desktop | grep -i sound | xargs grep -e Name= -e Exec=
Даже если это не сработает, информация, которую вы хотите, почти наверняка находится в строке Exec некоторого файла .desktop где-нибудь, вероятно, в / usr / share / Applications, скорее всего, в файле с «звуком» в названии Извините, я не могу просто дать вам название программы. У меня нет рабочего стола Unity передо мной.
Когда Вы не можете выяснить название процесса из списка (у меня была эта проблема со средством просмотра документов), можно сделать следующее для сужения списка подозреваемых, Прежде чем запущенное приложение
ps -e | awk '{print $4}' > before.txt
запустит приложение (например, средство просмотра документов)
ps -e | awk '{print $4}' > after.txt
, разность скажет Вам который запущенный процесс (процессы).
diff before.txt after.txt | grep ">"
Благодаря приведенным выше ответам мне удалось найти исполняемый файл evince
Если вы посмотрите под
Help -> Advanced -> The Command Line
, то найдете следующее:
The command line
To start the Document Viewer from the command line, type evince. You can open a specific file by typing the filename after the evince command:
evince file.pdf
You can open multiple files by typing the filenames after the evince command, separating the filenames by a space:
evince file1.pdf file2.pdf
The document viewer also supports the handling of files on the web. For example, after the evince command you can give the location of a file on the web:
evince http://www.claymath.org/millennium/P_vs_NP/pvsnp.pdf
Opening a document at a specific page
You can use the --page-label switch to open a document at a specific page. For example, to open a document to page 3, you would type:
evince --page-label=3 file.pdf
The page label should be in the same format as the page number displayed in the Document Viewer header bar.
Opening a document in fullscreen mode
evince --fullscreen file.pdf
Opening a document in presentation mode
evince --presentation file.pdf
Opening a document in preview mode
evince --preview file.pdf