我想知道是否有可能自行重启gnome-terminal
?我的意思是,是否有命令可以用来gnome-terminal
关闭然后立即重新启动?我尝试运行:
exit && gnome-terminal
但那是行不通的,因为它退出后无法自行启动,所以我想知道是否有另一个命令可以关闭它,但也指示另一个程序立即再次打开它?
操作系统信息:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 15.10
Release: 15.10
Codename: wily
Flavour: GNOME
GNOME Version: 3.18
封装信息:
gnome-terminal:
Installed: 3.18.2-1ubuntu2~wily1
Candidate: 3.18.2-1ubuntu2~wily1
Version table:
*** 3.18.2-1ubuntu2~wily1 0
500 http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu/ wily/main amd64 Packages
100 /var/lib/dpkg/status
3.16.2-1ubuntu4 0
500 http://archive.ubuntu.com/ubuntu/ wily/main amd64 Packages
答案1
trap
伪信号EXIT
:
trap 'gnome-terminal' EXIT
现在,每次运行时, shell 都会打开exit
一个新的实例gnome-terminal
,并且 shell 的现有会话将被终止。
正如 @Byte Commander 指出的那样,如果您执行此操作exit
(如您所做)或按Ctrl+D退出 shell,则上述操作将创建一个gnome-terminal
与之前的窗口具有相同 PID 的窗口(尽管 shell 将获得不同的 PID),此行为是设计使然。因此,要终止当前gnome-terminal
进程并启动一个新进程,您可以执行以下操作:
trap 'kill $(ps -o ppid= $$) && gnome-terminal' EXIT
答案2
您需要“分离”新生成的终端窗口。现在哪个命令可以做到这一点?nohup
或setsid
nohup gnome-terminal && exit
setsid gnome-terminal && exit