Есть ли способ определить, как запустить любую программу из командной строки

9

Даже если нет интерфейса cli. Я хотел бы иметь возможность запустить / убить его из командной строки.

myusuf3
источник
2
Не могли бы вы объяснить, что именно вы имеете в виду? Хотите узнать, как запускать программы, перечисленные в меню приложений, из командной строки?
Исаия
@ DoR любое приложение. Я хотел бы знать, как запустить и убить его из
cli

Ответы:

18

Короткая версия :

  • Найдите команду Exec для вашего приложения, открыв каталог приложений

    grep 'Calculator' /usr/share/applications/*
    
  • Запустите приложение

    gcalctool
    
  • Убей его, нажав Ctrl+C


Сначала выясните, где находится ваше приложение. Несколько каталогов находятся в переменной окружения $PATH, так что вам не нужно вводить весь каталог.

Один из способов , чтобы найти приложение, чтобы открыть редактор меню (правую кнопку мыши на меню приложения и выберите Редактировать меню) и найти приложение в команду .

Например, калькулятор находится gcalctoolв /usr/bin/gcalctool(используйте whereisкоманду, чтобы найти точный путь к приложению). Так как /usr/binнаходится в переменной PATH (тип echo $PATH), вы можете запустить его в своем терминале, набрав gcalctool.

Сейчас он работает на переднем плане. Вы можете приостановить его, нажав Ctrl+ Z, возобновить его в фоновом режиме, набрав bg, или возобновить его на переднем плане, набрав fg. Вы также можете использовать, fgчтобы поднять приложение на передний план.

Если вы делаете это с несколькими приложениями, вы можете использовать, jobsчтобы получить нумерованный список всех из них, а затем использовать, например, fg 3чтобы поднять одно из них.

Приложение, которое находится на переднем плане, может быть убито с помощью Ctrl+ Cили Ctrl+ \(если оно не реагирует на первое).

Универсальный способ найти ваше приложение - открыть Браузер файлов, перейти в Файловая система → usr → поделиться → приложения и найти там свое приложение.

Вы увидите кучу .desktopфайлов, которые вы можете перетащить в текстовый редактор (или использовать cat) для чтения. Это часть файла калькулятора .desktop:

[Desktop Entry]
Name=Calculator
Comment=Perform arithmetic, scientific or financial calculations
Exec=gcalctool

Запись Exec - это то, что вас интересует здесь. Это то же самое, что вы увидели бы, если бы вы пошли в Редактор меню, просто быстрее. Вы можете выполнить поиск файлов для поиска вашего приложения, если вы не можете его найти.

Если приложение не имеет файла .desktop в каталоге приложений, вы должны знать, что это команда, конечно. Используйте, TABчтобы получить предложения всего за несколько писем. Нажмите tab, tab, yчтобы получить огромный список каждого приложения.

Стефано Палаццо
источник
1
Другой способ - использовать gnome-system-monitor и найти в правом столбце логотип приложения + соответствующее значение командной строки.
Оливье Лалонде
2

Даже когда некоторые приложения используют терминал для мониторинга процесса программного обеспечения, существуют некоторые другие программы, которые просто запускаются и возвращают управление терминалу. Таким образом, вы можете закрыть терминал, оставив приложение работающим.

Таким образом, нажатие Ctrl-C в терминале не остановит приложение.

Вы можете использовать команду killall, чтобы остановить программу, когда вы сталкиваетесь с этим условием в программе.

Например: если вы запускаете kdenlive и он перестает отвечать или вы хотите (как вы говорите) закрыть приложение с помощью команды в терминале, просто добавьте строку, например:

killall kdenlive

Вы можете сделать это с любым другим приложением, но если вы запускаете более одного экземпляра программы, которая будет уничтожена, все экземпляры программы будут закрыты.

Если вы, например, сбросили: killall nautilus, чтобы закрыть браузер файлов, вы также закроете основной браузер, который используется для управления рабочим столом.

Geppettvs D'Constanzo
источник
0

С помощью

gnome-open <file>

Открывает любой файл прямо из командной строки в приложении по умолчанию.

killall <programname>

Убивает все процессы, связанные с

Junkbot
источник