59 Stimmen

Gibt es einen Linux-Befehl, um die Fenster-IDs zu ermitteln, die mit einer bestimmten Prozess-ID verbunden sind?

Bei einer Prozess-ID von XX möchte ich eine Liste aller Fenster-IDs haben, bei denen _NET_WM_PID = XX ist. Noch besser wäre die älteste noch aktive Fensterkennung, wenn möglich.

Ich bin sehr neu in Linux, aber was ich zu tun versuche, ist ein Skript, das eine Befehlszeile nehmen würde, und sehen, ob es ein Windows bereits geöffnet gehört zu einem Prozess mit der gleichen Befehlszeile aufgerufen. Wenn ja, wird der Fokus einfach auf dieses Fenster gesetzt, andernfalls wird die Befehlszeile ausgeführt, um einen neuen Prozess zu starten. Meine Absicht ist es, dies in meinem Ubuntu-Desktop zu verwenden, wo ich dieses Skript in meine easystroke-Mausgestenbefehle einbinden werde, so dass ich zum Beispiel jedes Mal, wenn ich eine Geste für Google Mail ausführe, keine brandneue Google Mail-Sitzung erhalte, sondern nur zu meinem bestehenden Google Mail-Chrome-App-Fenster gebracht werde. Vielleicht gibt es einen viel einfacheren Weg, um über all dies zu gehen, aber ich habe nicht meinen Weg zu ihm noch gefunden.

Mit Hilfe habe ich herausgefunden, wie man eine PID für eine Befehlszeile mit pgrep findet und wie man den Fokus auf ein Fensterhandle mit wmctrl setzt, aber ich stecke fest, wie man von der PID zur Fenster-ID kommt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X