可以从 gnome-terminal 执行退出然后重新启动 gnome-terminal 的命令?

可以从 gnome-terminal 执行退出然后重新启动 gnome-terminal 的命令?

我想知道是否有可能自行重启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

您需要“分离”新生成的终端窗口。现在哪个命令可以做到这一点?nohupsetsid

nohup gnome-terminal && exit

setsid gnome-terminal && exit

相关内容