如何创建新终端(gnome-terminal)?

如何创建新终端(gnome-terminal)?

每当我创建一个新终端时,它的 PPID 都会设置为该终端,即使gnome-terminal-server它是使用以下命令创建的bash

 3340 22404 22404 22404 ?           -1 Ssl   1000   1:16  \_ /usr/lib/gnome-terminal/gnome-terminal-server
22404 23096 23096 23096 pts/1    23096 Ss+   1000   0:00      \_ bash
22404 23563 23563 23563 pts/0    23613 Ss    1000   0:00      \_ bash
23563 23613 23613 23563 pts/0    23613 R+    1000   0:00          \_ ps jfax

我特别感兴趣的是在pty意识到 PPID 问题(pts/1此处命名)之前它如何获取新的,所以我这样做了strace -ff gnome-terminal,它显示了两个exec,一个用于gnome-terminal另一个,gnome-terminal.real并且没有一个 PID 是我们新创建的终端的 PID。

我假设它通过 unix 套接字或其他东西向终端服务器发送一些消息,但我无法完全找到它,并且我无法跟踪其中任何gnome-terminal-server一个,即使使用sudobecause Operation not permitted

如果我 grepsocketunix sockets确实可以找到一些,但我找不到任何将其连接到的有用线索PID 22404

任何人都知道生成新终端的步骤以及它如何获取 new ptys,或者我如何调查这个套接字或......?

相关内容