プロセスIDからウィンドウIDを取得する方法

プロセスIDからウィンドウIDを取得する方法

このコマンドは開始されたプロセスのPIDを取得しますxterm

xterm & export APP_PID=$!

このプロセスに関連するウィンドウID(xtermウィンドウID)をどのように取得できますか?つまり、xdotool selectwindowウィンドウをクリックした後に返されるIDですxterm

答え1

次のように、一致するウィンドウのリストを取得できます。

 xdotool search --pid [pid]

また見てくださいxdotool help search

答え2

この単純なコマンドを使用して、ウィンドウIDを16進形式で取得します。

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

10進形式の場合は、bcコマンドを使用して変換できます。

echo "ibase=16; `wmctrl -l | grep -i xterm | cut -c 3-11 | tr a-z A-Z`" | bc

答え3

この内容は「その他」フォーラムで議論されました。

まず、@パトリック指摘xwininfo情報を返すことができますみんな窓と用途xprop各ウィンドウのプロパティを確認し、_NET_WM_PIDプロセスIDと一致させることができます。

関連情報