ps axは実行中のすべてのプロセスを表示します。同様のことをしたいのですが、実際のプロセスの名前ではなく、代わりにウィンドウ名をリストしたいのです。これを行うLinuxコマンドは何ですか?
wmctrl -l
はあなたが探しているものかもしれません。 wmctrl プログラムは、ウィンドウの移動やプロパティの設定など、ウィンドウに対していくつかの簡単なアクションを実行することもできます。
xlsclients
は実行中のクライアントを示し、xwininfo -root -children
は、ルートウィンドウのすべての子を表示します。これには、ウィンドウマネージャーやデスクトップがレンダリングするものも含まれます。
名前のみを表示する方法は次のとおりです。
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
[email protected] - FileZilla
タイトルだけを必要とし、他の情報(空白も含めない)が必要ない場合は、次のように使用できます。
wmctrl -l | grep -o "$HOSTNAME.*" | sed "s/$HOSTNAME //g"
結果:
linux-grepと置換の方法-Stack Overflow-Pale Moon sedで変数を使用するにはどうすればよいですか? | Unix Linuxフォーラム|シェルプログラミングとスクリプティング-Pale Moon GREPを使用してテキストファイル内の文字*または#または&の後のすべてを削除-Stack Overflow-Pale Moon Video.mp4-VLC Media Player