Как получить идентификатор окна из идентификатора процесса

Эта команда получит PID процесса xterm :

 xterm & export APP_PID=$! 

Как я могу получить идентификатор окна, связанный с этим процессом (идентификатор окна xterm )? Я имею в виду, что идентификатор, который xdotool selectwindow вернется после нажатия на окно xterm .

3 Solutions collect form web for “Как получить идентификатор окна из идентификатора процесса”

Это обсуждается на «другом» форуме:

  • Есть ли команда linux для определения идентификаторов окон, связанных с данным идентификатором процесса?
  • Как получить окно X11 из идентификатора процесса?

Во-первых, @Patrick указывает, что xwininfo может возвращать информацию обо всех окнах и используя xprop для каждого окна, вы можете проверить свойство _NET_WM_PID , сопоставляя его с вашим идентификатором процесса.

Я буду использовать эту простую команду, чтобы получить идентификатор окна в шестнадцатеричном формате

 wmctrl -l | grep -i xterm | awk '{print $1}' 

Для десятичного формата команда bc может использоваться для преобразования

 echo "ibase=16; `wmctrl -l | grep -i xterm | cut -c 3-11 | tr az AZ`" | bc 

Вы можете получить список соответствующих окон через

  xdotool search --pid [pid] 

также см. xdotool help search

  • Как определить, находится ли окно в фокусе?
  • xdotool: как искать окно по названию и классу с разными шаблонами (аналогично AutoHotkey)
  • Как скопировать текст из командной строки в буфер обмена без использования мыши?
  • xdotool - как получить идентификатор окна с учетом его X и Y?
  • Делайте работу «читать», когда не фокусируетесь на терминале
  • Почему xdotool не щелкает при восстановлении позиции?
  • Введите текст с помощью xdotool независимо от раскладки клавиатуры
  • как определить, в каком видовом окне (compiz / unity) находится окно?
  • xdotool печатает 8 вместо Tab
  • Каков синтаксис для передачи вывода команды в xargs?
  • сочетание клавиш для вставки текста
  • Могу ли я имитировать движения мыши через терминал без xdotool?
  • Linux и Unix - лучшая ОС в мире.