На вкладке эмулятора терминала (lxterminal) на Lubuntu 18.04, я пытаюсь узнать его идентификатор окна путем нажатия на то же место (где оболочку показывают) во вкладке, любом xwininfo
$ xwininfo -int | grep -Po '(?<=Window id: )[0-9a-zA-Z]+'
31457283
или xdotool
$ xdotool selectwindow
35652689
Почему делают xwininfo
и xdotool
дайте мне различные идентификаторы окна?
Следовательно, другое окно ID приводят к различным идентификаторам процесса:
$ xdotool getwindowpid 31457283
1480
$ ps aux | grep -i 1480
t 1480 0.1 0.3 473204 31240 ? Sl Nov21 23:18 lxterminal
$ xdotool selectwindow getwindowpid
window 35652689 has no pid associated with it.
Проблема другого окна ID происходит не только во вкладке lxterminal, но также и в Firefox вкладки, или в окне проявляют. Я не нашел применение путем нажатия внутри, чье окно эти два пути дают тому же окну ID.
Это две разных вещи.
xdotool selectwindow
и xwininfo -int
xdotool selectwindow getwindowpid
и xprop | grep _NET_WM_PID
(если у Вас есть Дополнительные Свойства Окна Xorg),Идентификатор процессов является идентификатором процесса Ядра и используемый для вещей как уничтожение процесса, планирование задачи, и т.д.
Идентификатор Окна является идентификатором окна Сервера Окна. Один процесс может породить любое количество Windows, и часто они порождают больше чем один. Думайте о том, сколько диалоговых окон GIMP имеет то свободное обращение на всем протяжении экрана.
В этом случае идентификатор Процесса просто объединяет вопрос, но если Вы нацелены на то же окно, чем для какой-либо единой цели, необходимо получить тот же результат для
xdotool selectwindow
xwininfo -int
Выполните их обоих на той же строке, дважды щелкают и видят то, что они оба говорят:
xwininfo -int | grep -Po '(?<=Window id: )[0-9a-zA-Z]+'; xdotool selectwindow;
Я установил lxterminal
и подтвердил, что независимо от того, что Вы видите, уникально. Я не могу воспроизвести.