Linuxで開いているウィンドウのリストを取得する


24

ps axは、実行中のすべてのプロセスを表示します。同様のことをしたいのですが、実際のプロセスの名前の代わりに、ウィンドウ名を代わりにリストしたいと思います。これを行うLinuxコマンドは何ですか?

回答:


35

wmctrl -lあなたが探しているものかもしれません。wmctrlプログラムはまた、周りにそれらを移動し、そのプロパティを設定するようにWindows上でいくつかの簡単な操作を行うことができます。


18

xlsclients実行中のクライアントとxwininfo -root -childrenルートウィンドウのすべての子を表示します。これには、ウィンドウマネージャーまたはデスクトップレンダリングの一部も含まれます。


これは、wmctrl -lの出力とその他の出力です。
Smile4ever

4

名前のみを表示する方法は次のとおりです。

wmctrl -l|awk '{$3=""; $2=""; $1=""; print $0}'

wmctrl -l質問に必要な名前だけでなく、少し余分な情報が表示されるためです。

このような:

0x020002c6  0 ruslan-Latitude-E6410 fromscratch
0x04600007  0 ruslan-Latitude-E6410 Psensor - Temperature Monitor
0x01600007  0 ruslan-Latitude-E6410 Top Expanded Edge Panel
0x01600017  0 ruslan-Latitude-E6410 Bottom Expanded Edge Panel
0x0200000a -1 ruslan-Latitude-E6410 Desktop
0x05a0000c  0 ruslan-Latitude-E6410 ruslan@ruslan-Latitude-E6410: /var/lib/apt
0x05600085  0 ruslan-Latitude-E6410 index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit

フィルタリングしてawk、開いているウィンドウの名前のみを取得します。

   fromscratch
   Psensor - Temperature Monitor
   Top Expanded Edge Panel
   Bottom Expanded Edge Panel
   Desktop
   ruslan@ruslan-Latitude-E6410: /var/lib/apt
   index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit
   ubuntu - Get a list of open windows in Linux - Super User - Mozilla Firefox
   cpucraft@cpucraft.com - FileZilla

2

単にタイトルだけで、他の情報(空白も含めない)が必要な場合は、これを使用できます。

wmctrl -l | grep -o "$HOSTNAME.*" | sed "s/$HOSTNAME //g"

結果:

linux-grepおよび置換方法-スタックオーバーフロー-Pale Moon
sedで変数を使用するにはどうすればよいですか?| Unix Linuxフォーラム| シェルのプログラミングとスクリプト-Pale Moon
GREPを使用してテキストファイル内の文字*または#または&の後のすべてを削除する-Stack Overflow-Pale Moon
Video.mp4-VLCメディアプレーヤー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.