Например, нам нужно узнать ID окна, чтобы сделать скриншот с помощью команды import.
Об окне мы знаем то, что оно имеет заголовок "TightVNC чего-то там".
Нужно узнать его ID.
Для этого можно воспользоваться командой:
$ xwininfo -tree -root | grep -v "has no name" | grep -v child
Parent window id: 0x0 (none)
0x180099a "lxterminal": ("lxterminal" "Lxterminal") 339x111+1+53 +1+53
0x18007b9 "lxterminal": () 10x10+-100+-100 +-100+-100
0x1800001 "lxterminal": ("lxterminal" "Lxterminal") 10x10+10+10 +10+10
0xe002cf "lxpanel": ("lxpanel" "Lxpanel") 328x208+211+935 +211+935
0xe002bd "lxpanel": ("lxpanel" "Lxpanel") 263x182+211+961 +211+961
0xe00297 "lxpanel": ("lxpanel" "Lxpanel") 285x78+211+889 +211+889
0xe00261 "lxpanel": ("lxpanel" "Lxpanel") 211x281+2+837 +2+837
0x1200032 "clipit": () 10x10+-100+-100 +-100+-100
0xe00022 "lxpanel": () 10x10+-100+-100 +-100+-100
0x1400001 "notification-daemon": ("notification-daemon" "Notification-daemon") 10x10+10+10 +10+10
0x1200001 "clipit": ("clipit" "Clipit") 10x10+10+10 +10+10
0xe00003 "lxpanel": () 10x10+-100+-100 +-100+-100
0xe00001 "lxpanel": ("lxpanel" "Lxpanel") 10x10+10+10 +10+10
0x1000001 "pcmanfm": ("pcmanfm" "Pcmanfm") 10x10+10+10 +10+10
0xa00001 "lxpolkit": ("lxpolkit" "Lxpolkit") 10x10+10+10 +10+10
0x600001 "lxsession": ("lxsession" "Lxsession") 10x10+10+10 +10+10
0xc0006f "Openbox": ("" (none)) 1x1+-100+-100 +-100+-100
0xe0001e "panel": ("panel" "lxpanel") 1920x26+0+0 +0+1117
0x1200003 "clipit": ("clipit" "Clipit") 24x24+0+0 +1753+1118
0x1800003 "smstep@terminator: ~/work/pic": ("lxterminal" "Lxterminal") 1920x1091+0+26 +0+26
0x1e00012 "TightVNC: pc1234": ("vncviewer" "Vncviewer") 1600x900+2+27 +160+136
0x1000003 "pcmanfm": ("pcmanfm" "Pcmanfm") 1920x1143+0+0 +0+0
Если эту команду еще загрепать, то можно найти строку описания окна TightVNC:
$ xwininfo -tree -root | grep -v "has no name" | grep -v child | grep TightVNC
0x1e00012 "TightVNC: pc1234": ("vncviewer" "Vncviewer") 1600x900+2+27 +160+136
Далее можно получить идентификатор путем удаления начальных пробелов (через sed) и получения первого поля (через cut):
$ xwininfo -tree -root | grep -v "has no name" | grep -v child | grep TightVNC | sed 's/^[ \t]*//' | cut -d' ' -f1
0x1e00012