Есть ли способ найти имя исполняемого файла приложения, чтобы я мог запустить его в терминале?

Есть ли способ найти имя пакета / исполняемого файла (например, evince для средства просмотра документов или totem для видео) для приложения?

2
задан 13 May 2013 в 02:35

6 ответов

(1) Если вы знаете название программы

Попробуйте в командной строке:

find /usr -name 'evince'

Большинство программ находятся в / usr / bin каталог.

Затем вы можете ввести в командной строке:

/usr/bin/evince

Это запустит программу evince.

Чтобы узнать иерархию файловой системы Linux (что находится где), вы можете проверить страницу об иерархии файловой системы Linux на сайте проекта документации Linux

(2) Если вы [ 1135] не знаю название программы.

Шаг 1: Откройте терминал и перечислите все запущенные процессы с их PID - номером идентификатора процесса:

ps -e 

first list of processes

Шаг 2: Запустите вашу программу [ 1121]

Шаг 3: переключитесь на терминал и снова введите:

ps -e 

second list of processes

Шаг 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 

, мы получим:

help option after evince

Таким образом, доказательством является просмотрщик документов GNOME, который мы искали.

0
ответ дан 13 May 2013 в 02:35

xprop | grep PID , затем нажмите на окно. Это дает вам его PID, как упоминалось в: Скажите PID процесса по его окну?

Теперь просто ps aux | grep <PID>.

0
ответ дан 13 May 2013 в 02:35

Настольные приложения запускаются через файл *.desktop . поэтому, если вы сделаете locate --regex '.desktop, вы получите список всех файлов '*. desktop' в вашей системе. Так как они обычно короткие файлы, легко найти строку "EXEC=".

, вы получите список всех файлов '*. desktop' в вашей системе. Так как они обычно короткие файлы, легко найти строку "EXEC=".

0
ответ дан 13 May 2013 в 02:35

Ответ Фрэнка должен работать на тебя. Добавлю, что для определения местоположения процессов приложения мне нравится команда 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 передо мной.

0
ответ дан 13 May 2013 в 02:35

Когда Вы не можете выяснить название процесса из списка (у меня была эта проблема со средством просмотра документов), можно сделать следующее для сужения списка подозреваемых, Прежде чем запущенное приложение

ps -e | awk  '{print $4}' > before.txt

запустит приложение (например, средство просмотра документов)

ps -e | awk  '{print $4}' > after.txt

, разность скажет Вам который запущенный процесс (процессы).

diff before.txt after.txt | grep ">"
0
ответ дан 11 October 2019 в 16:57

Благодаря приведенным выше ответам мне удалось найти исполняемый файл 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
0
ответ дан 15 October 2020 в 19:07

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

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