Решено:Как узнать какой командой запускается программа?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

umex
Сообщения: 124
ОС: Debian Lenny

Решено:Как узнать какой командой запускается программа?

Сообщение umex »

В XFCE для создания иконки на рабочем столе или кнопки быстрого запуска на панели необходимо знать команду, запускающую ту или иную программу. В KDE, например, эту команду можно узнать посредством редактора меню. А как это сделать в общем случае?
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Решено:Как узнать какой командой запускается программа?

Сообщение Voice »

Можно глянуть в выводе

Код: Выделить всё

ps ax | grep <prog_name>
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4471
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Решено:Как узнать какой командой запускается программа?

Сообщение Rootlexx »

umex писал(а):
09.07.2007 21:23
А как это сделать в общем случае?

Если программа устанавливалась из пакета, то просмотрев список файлов:

Код: Выделить всё

rpm -ql <имя программы>

Можно ещё пошуршать в /usr/share/applications.
А чаще всего команда совпадает с именем программы :).

Примечание: ох, у Вас Debian. Тогда dpkg, но не знаю точно, Debian щупал очень давно.
Спасибо сказали:
umex
Сообщения: 124
ОС: Debian Lenny

Re: Решено:Как узнать какой командой запускается программа?

Сообщение umex »

Voice,
Либо не получается, либо я не туда смотрю.
Вот, например Amarok запускается командой "amarok".

$ ps ax | grep amarok
18465 ? Sl 1:04 amarokapp
18492 ? S 0:00 ruby /usr/share/apps/amarok/scripts/score_default/score_default.rb
18493 ? Sl 0:00 ruby /usr/share/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.rb
28423 pts/1 R+ 0:00 grep amarok

В явном виде команды тут не видно :(

Rootlexx,
А чаще всего команда совпадает с именем программы
да, иногда не то что не совпадает, а даже отдаленно не напоминает, ужос :)
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: Решено:Как узнать какой командой запускается программа?

Сообщение uptime »

если у программы есть ман, можно поискать так:
apropos <ключевое слово>
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
umex
Сообщения: 124
ОС: Debian Lenny

Re: Решено:Как узнать какой командой запускается программа?

Сообщение umex »

uptime,

Для того-же amarok ничего нету, и для openoffice тоже :(
Спасибо сказали:
umex
Сообщения: 124
ОС: Debian Lenny

Re: Решено:Как узнать какой командой запускается программа?

Сообщение umex »

Для Debian можно сделать так (на примере gimp): в synaptic-е ищем пакет с включением "gimp", ну, собственно пакет так и называется. Потом в свойствах смотрим куда чего установилось (прямо как предлагал Rootlexx). Находим такие строчки:
/usr/bin
/usr/bin/gimp-2.2
/usr/bin/gimp-remote-2.2
и методом научного тыка определяем правильную команду, gimp-2.2 или gimp-remote-2.2. Хотя в случае с gimp подходят обе. Так что-же запускать? Может есть более правильный путь?
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4471
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Решено:Как узнать какой командой запускается программа?

Сообщение Rootlexx »

umex писал(а):
09.07.2007 22:21
Так что-же запускать? Может есть более правильный путь?

Самым правильным будет позапускать все эти бинарники с параметром -h или --help, тогда и выяснится, зачем они нужны и чем отличаются.
Спасибо сказали:
umex
Сообщения: 124
ОС: Debian Lenny

Re: Решено:Как узнать какой командой запускается программа?

Сообщение umex »

Rootlexx,
Ага, точно! или man gimp-2.2 и man gimp-remote-2.2

Таким путем однозначно правильная команда это gimp-2.2. Вуаля!
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Решено:Как узнать какой командой запускается программа?

Сообщение Voice »

umex писал(а):
09.07.2007 21:48
Voice,
Либо не получается, либо я не туда смотрю.
Вот, например Amarok запускается командой "amarok".

$ ps ax | grep amarok
18465 ? Sl 1:04 amarokapp
18492 ? S 0:00 ruby /usr/share/apps/amarok/scripts/score_default/score_default.rb
18493 ? Sl 0:00 ruby /usr/share/apps/amarok/scripts/lyrics_lyrc/lyrics_lyrc.rb
28423 pts/1 R+ 0:00 grep amarok

В явном виде команды тут не видно :(

Как это не видно???
Да вот же оно:

Код: Выделить всё

18465 ?        Sl     1:04 amarokapp

Команда amarokapp.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: Решено:Как узнать какой командой запускается программа?

Сообщение uptime »

umex писал(а):
09.07.2007 22:21
Для Debian можно сделать так (на примере gimp): в synaptic-е ищем пакет с включением "gimp"...

Аналогично можно искать в aptitude.
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
umex
Сообщения: 124
ОС: Debian Lenny

Re: Решено:Как узнать какой командой запускается программа?

Сообщение umex »

Voice,

Да,но дело в том, что когда запускается тот-же amarok из главного меню, то запускается он командой "amarok"
а не "amarokapp".
Сейчас попробовал из консоли "amarok" и amarokapp" - результат одинаковый. У этих двух команд даже вывод
по --help совершенно идентичен.

В предыдущих постах я выяснял как запускать gimp - получилось что правильно "gimp-2.2" (Вуаля!). Теперь делаю:
$ ps ax | grep gimp
16251 ? S 0:02 gimp --display :0.0
16263 ? S 0:00 /usr/lib/gimp/2.0/plug-ins/script-fu -gimp 6 5 -run 0
16363 pts/1 R+ 0:00 grep gimp
То есть по мнению ps ax его можно запускать командой "gimp". Попробовал - так и есть. Ситуация полностью совпадает с Amarok!
Как же так? (Несколько озадачен.)
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4471
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Решено:Как узнать какой командой запускается программа?

Сообщение Rootlexx »

umex писал(а):
10.07.2007 19:14
Сейчас попробовал из консоли "amarok" и amarokapp" - результат одинаковый.

Не совсем. amarok - это launcher для amarokapp.
umex писал(а):
10.07.2007 19:14
То есть по мнению ps ax его можно запускать командой "gimp".

Код: Выделить всё

[alex@localhost ~]$ readlink $(which gimp)
../../usr/bin/gimp-2.3
[alex@localhost ~]$

То есть gimp - символическая ссылка на gimp-2.3.
Спасибо сказали:
Аватара пользователя
Dr_Aibolit
Сообщения: 240

Re: Решено:Как узнать какой командой запускается программа?

Сообщение Dr_Aibolit »

umex, команда запускающая приложение соответствует имени ее исполняемого файла в /usr/bin, /usr/games.
Primum non nocere, seu noli nocere, seu cave ne laedas
Спасибо сказали:
umex
Сообщения: 124
ОС: Debian Lenny

Re: Решено:Как узнать какой командой запускается программа?

Сообщение umex »

Mensh_v писал(а):
10.07.2007 20:15
umex, команда запускающая приложение соответствует имени ее исполняемого файла в /usr/bin, /usr/games.

Да, это мы уже выяснили, сейчас детали прорабатываем :)

Rootlexx
Ага! Теперь понятно, а то немного эта двойственность смущала.

Всем спасибо! Прилеплю, пожалуй, "решено" к названию.
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4471
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Решено:Как узнать какой командой запускается программа?

Сообщение Rootlexx »

umex, можно, если эта программа добавляется в меню KDE или GNOME, поискать по папке /usr/share/applications файл .desktop, содержащий в себе название программы. Команду из него можно выцепить, открыв его в текстовом редакторе и найдя строчку Exec=.
По поводу The GIMP: всё же правильнее будет его запускать командой gimp-remote, так как если The GIMP не запущен, она его запустит, а если запущен, то не станет запускать дубль (это ясно из соответствующего man).
Спасибо сказали: