X Window Systemにていらないウィンドウを消す(殺す)プログラム

その名の通りxkillというコマンドがある。引数なしで使用したら、どのウィンドウを消すかをマウスで選択するようになっている。これだけだと普通すぎてつまらないのだが、-idオプションでウィンドウIDを指定してウィンドウを殺すことができる。

ウィンドウIDの得方はいろいろあると思うけど、ratpoisonならばこんなコマンドを使うと表示される。

$ ratpoison -c "windows %t:%i"
rxvt:10485763
emacs0:25165853
langhelp:25198678
Iceweasel:8388672

たとえばemacs0のウィンドウIDが欲しければこんな感じ。

$ ratpoison -c "windows %t:%i" | grep '^emacs0' | cut -d: -f2
25165853

このemacs0ウィンドウを消したければ(もしこれが唯一のEmacsウィンドウだったらEmacsが終了するので注意)、こうすればok。一旦テキストに落としてしまえば、なんでもできるのがUnixコマンドの強味だ。

$ xkill -id `ratpoison -c "windows %t:%i" | grep '^emacs0' | cut -d: -f2`

裏で動かしているウィンドウを消すのにちょっと便利かもしれない。