
Эта команда получит PID xterm
запущенного процесса:
xterm & export APP_PID=$!
Как мне получить идентификатор окна, связанный с этим процессом ( xterm
идентификатор окна)? Я имею в виду идентификатор, который xdotool selectwindow
будет возвращен после нажатия на xterm
окно.
решение1
Список соответствующих окон можно получить через
xdotool search --pid [pid]
также смxdotool help search
решение2
Я воспользуюсь этой простой командой, чтобы получить идентификатор окна в шестнадцатеричном формате.
wmctrl -l | grep -i xterm | awk '{print $1}'
Для десятичного формата bc
можно использовать команду для преобразования
echo "ibase=16; `wmctrl -l | grep -i xterm | cut -c 3-11 | tr a-z A-Z`" | bc
решение3
Это обсуждалось на «другом» форуме:
- Существует ли команда Linux для определения идентификаторов окон, связанных с заданным идентификатором процесса?
- Как получить окно X11 из идентификатора процесса?
Во-первых,@Патрикуказывает на то, чтоxwininfo
может вернуть информацию овсеокна, и с помощьюxprop
Для каждого окна вы можете проверить свойство _NET_WM_PID
, сопоставив его с вашим идентификатором процесса.