Sempre que eu crio um novo terminal, seu PPID é definido como gnome-terminal-server
mesmo quando é criado usando 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
Eu estava particularmente interessado em como ele adquire novo pty
antes de perceber o problema do PPID (nomeado pts/1
aqui), então fiz strace -ff gnome-terminal
e mostra dois exec
, um para gnome-terminal
outro gnome-terminal.real
e nenhum dos PIDs é o do nosso terminal recém-criado.
Presumo que ele envie alguma mensagem para o servidor de terminal por meio de um soquete unix ou algo assim, mas não consigo encontrá-lo e gnome-terminal-server
também não consigo rastreá-lo, mesmo com sudo
because Operation not permitted
.
Se eu usar o grep, socket
posso encontrar alguns unix sockets
, mas não consigo encontrar nenhuma pista útil conectando-os a PID 22404
.
Alguém conhece as etapas para gerar um novo terminal e como ele adquire new ptys
, ou alternativamente como posso investigar esse soquete ou ...?