当我从终端窗口(末尾带有“&”)启动 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
为了这个目的使用。
- 第一次运行
byobu
- 然后,在 的虚拟选项卡上
byobu
,运行命令 - 然后,即使你关闭终端,由于
byobu
进程还活着,你的命令也还活着。 - 要再次访问您的命令,请打开终端,调用
byobu
。它将恢复所有虚拟选项卡,包括包含您的命令的选项卡。