1

Когда я запускаю программы GUI из окна терминала (с '&' в конце), как я могу закрыть терминал, не закрывая также программы GUI?

4 ответа4

2

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

0

Используйте nohup для запуска программы, она «запустит команду, не подверженную зависаниям, с выводом не-tty»

Просто добавьте в команду команду nohup , как в

nohup kdiff3

Символ & даже необязателен и не зависит от bash.

0

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

KDE/ Плазма

Для оболочки KDE/Plasma утилита имеет имя kstart <name_of_executable>:

kstart dolphin /var/log

Оболочки на основе GTK

Вы можете использовать gtk-launch <base_name_of_desktop_file>:

gtk-launch firefox 

(при условии, что у вас есть firefox.desktop).

0

Я использую byobu для этой цели.

  1. Первый запуск byobu
  2. Затем на виртуальной вкладке byobu запустите вашу команду
  3. Тогда, даже если вы закроете терминал, так как процесс byobu жив, ваша команда также жива.
  4. Чтобы снова получить команду, откройте терминал, позвоните по byobu . Он восстановит все виртуальные вкладки, включая ту, которая содержит вашу команду.

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