Почему 'xwininfo' и 'xdotool' дают различные идентификаторы окна для того же окна?

На вкладке эмулятора терминала (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.

4
задан 13 January 2019 в 05:52

1 ответ

Это две разных вещи.

  • Идентификатор окна: возвращенный 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 и подтвердил, что независимо от того, что Вы видите, уникально. Я не могу воспроизвести.

1
ответ дан 1 December 2019 в 10:31

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

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