что входит/usr/bin/gnome-terminal?

Я заметил, что не было никаких названных процессов"gnome-terminal"хотя я использовал так называемый"gnome-terminal"который был вызван путем нажатия на значок в строке меню на рабочем столе.

$ ps -au | grep gnome
cul8er    8763  0.1  0.8 554960 33268 pts/22   Sl   05:16   0:00 /usr/lib/gnome-terminal/gnome-terminal-server --app-id com.canonical.Terminal.AnAuzDeiSeoqQhlGKbPNPeHhAROwBwtP
cul8er    8771  0.0  0.0  14852  1832 pts/22   S    05:16   0:00 gnome-pty-helper
cul8er    8821  0.0  0.0  14656  2232 pts/23   S+   05:27   0:00 grep --color=auto gnome

Таким образом, я ввел gnome-terminal &. вывод был следующим:

$ gnome-terminal &
[2] 8865
$ 
[2]+  終了                  gnome-terminal
$ echo $LANG
ja_JP.UTF-8

Этот результат, кажется, показывает что процесс gnome-terminal вышедший сразу, когда эмулятор терминала был отображен. Если это верно, почему я могу видеть новый терминал без процесса, связанного с ним?

Таким образом, я проверил команду gnome-terminal:

$ which gnome-terminal
/usr/bin/gnome-terminal
$ file /usr/bin/gnome-terminal
/usr/bin/gnome-terminal: Python script, ASCII text executable

gnome-terminal a python сценарий.

Я посмотрел на него. Я не мог понять достаточно, потому что я не знаю python, однако я заметил /usr/lib/gnome-terminal/gnome-terminal-server --app-id, который показали в выводе ps, связан с этой проблемой. Но я не знаю то, что делает'subprocess'и'Popen'средний.

subprocess.Popen(['/usr/lib/gnome-terminal/gnome-terminal-server',
                           '--app-id',
                           name],
                          stdout=subprocess.DEVNULL,
                          stdin=subprocess.DEVNULL,
                         stderr=subprocess.DEVNULL)

Если подпроцессы вызываются каждый раз, когда gnome-terminal выполнения сценария, несколько процессов должны работать, когда я открываю терминалы гнома. Однако всегда кажется, что существует только один процесс /usr/lib/gnome-terminal/gnome-terminal-server --app-id в psвывод.

Что продолжается, в то время как сценарий работает?

И где процесс, который представляет так называемый"gnome-terminal"?

ОС: Ubuntu 15.04

4
задан 26 November 2015 в 00:31

1 ответ

Единственный процесс /usr/lib/gnome-terminal/gnome-terminal-server является процессом, обрабатывающим все Ваши окна терминала гнома.

команда gnome-terminal разжигает gnome-terminal-server, если она уже не работает, или соединяется с существующим экземпляром и просит, чтобы это открыло новое окно.

, Если каждый вызов команды gnome-terminal открыл само новое окно и таким образом, каждое окно терминала было обработано его собственным отдельным процессом, Вы не будете в состоянии к drag-n-drop вкладкам через них. Это - я живо самая важная причина позади этого дизайна. Могли бы быть другие причины также, я не уверен.

6
ответ дан 1 December 2019 в 09:22

Другие вопросы по тегам:

Похожие вопросы: