xlsclients
詳細情報
- 作者
- Jim Fulton, MIT X Consortium
- 公開
- 種類
- X11ユーティリティ
- ライセンス
- MIT
- ソースコード
- gitlab.freedesktop.org
Xディスプレイ上でどのプログラムが動いているかを、マシンごと、コマンドラインごとに一覧表示するコマンド。元はセッション全体を再起動するスクリプトを書くためのものだった。
xlsclientsは1989年にJim FultonがMIT X Consortiumで書いた。マニュアルページには今も目的が書かれている。ユーザーのセッションのスナップショットをスクリプトの形で取ることだ。プログラムはルートウィンドウの子を走査し、WM_COMMANDを持つウィンドウごとに、WM_CLIENT_MACHINEのマシン名とコマンドラインの2列を出力する。たとえば angel xterm -geometry 80x24 が1プログラムにつき1行で、これをつなげば .xsession になる。-l を付けるとウィンドウID、WM_NAME、アイコン名、WM_CLASSのインスタンス/クラスも出て、-a はディスプレイ上のすべてのスクリーンを対象にする。いわばxpropの裏返しで、一つのウィンドウのすべてではなく、すべてのウィンドウの一つの側面を見せる。
プログラム自体は変わっていないのに、出力の性格は変わった。XlibとXtのプログラムはWM_COMMANDにargv全体を設定するので、conky -c servers.conf は完全な形で現れる。一方GTKは、見えないリーダーウィンドウにプログラム名だけの合成コマンドラインを設定するため、Firefoxは firefox としか出ず、再起動スクリプトからはフラグがすべて消える。このプロパティを設定しないプログラムはそもそも載らない。セッションツールとしてはXSMP以降お役御免だが、このディスプレイにウィンドウを持つプロセスはどれか、どのマシンからか、を手早く棚卸しする用途には今も使える。2010年にはXCBで書き直され、X.Orgのツール群で最初に移行したプログラムの一つになった。