4

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

И это касается не только фоновой команды для проигрывателя фильмов, я хочу знать все фактические команды, которые выполнялись оболочкой x-window, когда я нажимаю на один из значков в меню.

Большое спасибо.

10 ответов10

6

откройте консоль и введите

ps - сортировать start_time x

это должно дать вам список активных процессов, отсортированных по времени запуска, с самым последним процессом внизу. Например, я только что запустил Firefox и получил это:

19713 ?        S      0:00 /bin/sh /usr/lib/firefox-3.6.3/firefox
19718 ?        S      0:00 /bin/sh /usr/lib/firefox-3.6.3/run-mozilla.sh /usr/lib/firefox-3.6.3/firefox-bin
19722 ?        Sl     0:01 /usr/lib/firefox-3.6.3/firefox-bin
19737 pts/2    R+     0:00 ps --sort start_time x

Конечно, ps --sort start_time x всегда самый последний процесс.

4

Щелкните правой кнопкой мыши значок и выберите «Свойства». Это скажет вам командную строку, связанную с ним в большинстве случаев.

3

Три основных графических интерфейса для Ubuntu: Gnome, KDE, Xfce. Все эти проекты пытаются следовать стандартам Free Desktop на freedesktop.org. Xfce, похоже, следует стандарту Desktop Entry , который определяет, как обрабатываются пункты меню, среди прочего.

Следующие инструкции должны работать в Gnome, KDE и Xfce.

Пункты меню (также называемые «Средства запуска» или «Записи рабочего стола» хранятся в /usr/share/applications .

Вы знаете, что это приложение называется "Movie Player", поэтому, чтобы найти соответствующий файл, сделайте следующее:

stefanl@HOST:/usr/share/applications $ grep -i "movie player" *.desktop
totem.desktop:Name=Movie Player

Grep показывает мне, что «totem.desktop» содержит соответствующий контент. Исходя из этого, я знаю, что "Movie Player" связан с приложением "тотем".

Теперь, чтобы увидеть команду, которая выполняется этим пунктом меню, вы ищете Exec:

stefanl@HOST:/usr/share/applications $ grep Exec totem.desktop 
Exec=totem %U

Формат этих файлов .desktop Gnome/KDE/Xfce более подробно описан в Спецификации входа рабочего стола freedesktop.org. Спецификация записи рабочего стола: ключ Exec описывает использование ключа %U :

Список URL. Каждый URL передается как отдельный аргумент исполняемой программе. Локальные файлы могут передаваться как file: URL или как путь к файлу.

1

В Xubuntu перейдите в раздел user/share/ apps и щелкните правой кнопкой мыши на любых приложениях, которые вы хотите разместить на панели. Выберите отправить (ссылка) на рабочий стол. Теперь пусковые установки находятся на рабочем столе, вы можете щелкнуть правой кнопкой мыши по любому и выбрать Properties, чтобы увидеть командную строку. Щелкните правой кнопкой мыши на панели, выберите «Создать панель запуска» и продублируйте свойства панели запуска для каждого приложения. Теперь вы можете удалить пусковые установки на рабочем столе.

Это немного более крутой, чем в Ubuntu (Gnome), но Xubuntu быстрее, потому что он удаляет все вкусности.

1

Если вам нужен видеоплеер, которым вы также можете управлять из командной строки, используйте mplayer .

1

Примечание. Этот ответ является расширением ответа artistoex .

Эта команда должна отображать все запущенные в данный момент команды, выполненные текущим пользователем и запущенные в течение последних 60 секунд:

ps x --sort -start_time -U YOURUSERNAME -o start,command | \
awk '$1>=recently&&$1<=now' \
recently=$(date --date='60 seconds ago' +%T) now=$(date +%T) | sed 1,1d

Чтобы использовать эту команду, щелкните значок или пункт меню, чтобы выполнить команду, и пока только что запущенная программа все еще работает, выполните указанную выше команду. Не забудьте заменить YOURUSERNAME именем вашего текущего пользователя.

Пояснение:

ps отобразит запущенные в данный момент процессы. Объяснение аргументов ps :

  • x: включает в себя процессы, не выполняемые через терминал (фактически tty). Добавление -t '?' будет отображать только процессы, не связанные с терминалом.
  • --sort -start_time: отсортировать вывод по времени, когда процесс начался (в порядке убывания)
  • -U YOURUSERNAME: при замене YOURUSERNAME вашим именем пользователя будут отображаться только процессы, выполненные вашим пользователем. Это ограничение может быть снято при необходимости.
  • -o start,command: показать два столбца в выходных данных: время начала процесса и команду, которая была выполнена

awk используется здесь только для отображения процессов, выполненных в последнее время. Объяснение аргументов awk :

  • $1>=recently&&$1<=now: ограничить вывод процессами, которые выполнялись в течение последних 60 секунд. Чтобы изменить этот временной интервал, измените следующий аргумент (recently назначенная переменная)
  • recently=$(date --date='60 seconds ago' +%T): установите переменную awk recently использованную в предыдущем аргументе, равной 60 секундам назад в формате HH:MM:SS (формат времени ps ).
  • now=$(date +%T): установите переменную awk now на текущее время (это исключает процессы, выполненные менее 24 часов назад, которые выглядели бы так, как если бы они выполнялись в будущем)

Я добавил sed 1,1d чтобы удалить первую строку вывода, потому что она покажет текущую выполняемую команду, которая не имеет смысла отображать.

Имейте в виду: использование ps для определения того, какой процесс был выполнен, не будет работать должным образом для определенных программ. Например, если вы нажмете на ярлык Firefox, но Firefox уже запущен, новый процесс не будет создан, а время запуска старого процесса не изменится. Тем не менее, этот метод работает довольно хорошо для многих программ.

0

Это был бы totem .

0

Этот ответ является продолжением Cry Havok's.

Я думаю, что это самый простой способ.

Сначала вам нужно получить любой ярлык в панели запуска приложений, скопированный на рабочий стол. Вы можете щелкнуть правой кнопкой мыши любое приложение и выбрать "Добавить эту панель запуска на рабочий стол" (если вы используете gnome).

Теперь, когда ярлык находится на рабочем столе, вы можете щелкнуть по нему правой кнопкой мыши и выбрать свойства. Там на вкладке Basic будет показана команда командной строки, которая была запущена для запуска приложения.

Вы также можете открыть Gedit и открыть значок на рабочем столе. Иконки на рабочем столе - это просто текстовые файлы с расширением .desktop. В этом файле вы увидите все параметры этого ярлыка, включая часть «Exec =», которая показывает программу, которую можно вызвать из командной строки.

0

Если вы используете гном, его

 gnome-open <file> 

Затем gnome-open открывает файл с помощью программы, которая была зарегистрирована, чтобы открыть этот файл. Однако, если вы не хотите знать окончательный процесс, который выполняется, вы можете попробовать

ps ux | grep filename

или вы можете искать из вывода

ps ux
0

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

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