如何建立新終端機(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,或者我如何調查這個套接字或......?

相關內容