关闭 bash 时如何保留生成的 GUI 程序

关闭 bash 时如何保留生成的 GUI 程序

当我从终端窗口(末尾带有“&”)启动 GUI 程序时,如何关闭终端而不关闭 GUI 程序?

答案1

您可以使用 disown 它来避免程序从其启动终端收到挂断电话。这样,当终端关闭时,GUI 程序仍保持打开状态。

答案2

使用nohup运行该程序,它将“运行一个不受挂断影响的命令,并将输出输出到非 tty”

只需在命令前加上前缀nohup,例如

nohup kdiff3

甚至是&可选的,并且它不依赖于 bash。

答案3

您的桌面 shell 可能提供 CLI 实用程序来启动 GUI 程序,就像从桌面 shell 启动一样(我假设该实用程序实际上要求 shell 父进程启动该应用程序)。命令立即返回,而启动的应用程序打开。您可以关闭终端而不终止启动的应用程序。

KDE/等离子

对于 KDE/Plasma shell,该实用程序是kstart <name_of_executable>

kstart dolphin /var/log

基于 GTK 的 shell

您可以使用gtk-launch <base_name_of_desktop_file>

gtk-launch firefox 

(假设您有一个firefox.desktop)。

答案4

我就是byobu为了这个目的使用。

  1. 第一次运行byobu
  2. 然后,在 的虚拟选项卡上byobu,运行命令
  3. 然后,即使你关闭终端,由于byobu进程还活着,你的命令也还活着。
  4. 要再次访问您的命令,请打开终端,调用byobu。它将恢复所有虚拟选项卡,包括包含您的命令的选项卡。

相关内容