アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

ratpoisonで快適操作

こんにちは。最近若干太りぎみの門脇です。
先日、体重を計ったら68.8Kgでした。(平均60程度のアシアルではデブキャラになってます・・・)

そして、自分の体重以上に気になるのがPCの重さです。
もちろん、物理的ではありません。

私が開発で使用しているマシンのメモリ搭載量が512MBで、少々少なめです。
もちろんWindoze Vistaなんてry

メモリ増設すればすぐに解決ですが、DDRなので価格がDDR2の倍近くあり、お金出すのが勿体ないので、ソフトウェアをできるだけ軽くすることにしています。

まず、WMはfluxbox。軽量、シンプル。デフォルトで入っているテーマもいい感じです。
ブラウザはOperafirefoxは40%近く使うことが多々あったので、止めました。(3系で軽くなれば戻るかもしれません)
Operaなら、Max30%程度になります。

ターミナルエミュレーターは、urxvtで、urxvtdを起動して、urxvtcを使用すればxtermを複数立ち上げるより効率が良いです。

と言う具合に環境を整えていましたが、最近さらにおもしろいものを見つけました。

それが「ratpoison」です。

公式
http://www.nongnu.org/ratpoison/

タイル型WMの一種で、飾り気が一切ないです。
起動直後はXのルートが表示されるだけ、どこをクリックしても無反応。

その理由は、「殺鼠剤」と言う過激な名前が物語っています。
作者が「マウス」を「ラット」よわばりし、かなり嫌っているのでこんな名前に・・・。

要は、キーボードだけで快適に操作出来るWMと言うことです。
また、GNU Screenに影響を受けており、GNU Screenライクな操作でウィンドウを操作出来ます。
タイトルバーなし。システムトレイなし。メニューなし。あるのはウィンドウのみ。まさにGNU Screen

インストールは例にもよって



apt-get install ratpoison


スクリーンショットはこんな感じ



基本操作は、

C-t c -> xterm (私の場合はurxvtcに変更してある)
C-t w -> ウィンドウのリスト
C-t 1-9 -> その番号のウィンドウに切り替え
C-t C-t -> 直前のウィンドウに切り替え
C-t C-n -> 次のウィンドウ
C-t C-p -> 前のウィンドウ
C-t C-s -> 横分割
C-t C-S -> 縦分割
C-t C-Q -> 分割解除

などなど。

とりあえず、C-t ? とすれば基本的なコマンドが出ます。
詳しいこと調べるなら、man ratpoisonで。


さて、デフォルトでも普通に使えますが、
この手の物はやはりカスタマイズしてなんぼのものです。



.ratpoisonrc

exec rpws init 10 -k

bind b nextscreen 
bind c exec urxvtc


以上。シンプル。

バリバリカスタマイズしたいところですが、今のところ苦労していないので少ないです。
一番上は、仮想デスクトップ有効にするためのもので、10個の仮想デスクトップを作成しています。

仮想デスクトップの切り替えは、Alt-F1...F9でできます。(fluxboxと同じ)
便利な仮想デスクトップですが、シングルディスプレイだと素直に使えます。
マルチディスプレイの場合、気をつけないと画面の分割状態が別のデスクトップに行ってしまうので、注意してください。(この辺もう少し調べないと・・・)

その次からはキーバインドで、C-tを押した後のキーを定義します。

一つ目はスクリーンの切り替えです。マルチディスプレイ環境で次のディスプレイにフォーカスを移すコマンドです。
これは使用頻度が高いため、そこそこ使いやすいく紛らわしくない b にしています。
最後は、C-t c で urxvtc を起動するだけです。

ですが、ratpoisonのカスタマイズはこれだけではありません。



ratpoison -c 何か


ratpoisonのコマンドを実行できます。

例えば、



ratpoison -c 'echo hoge'
ratpoison -c 'exec opera'


一つ目は、ミニバッファに hoge を出力します。
二つ目は、operaを実行します。

つまり、シェルスクリプトなどでどこまでも拡張することができます。

・・・しかし、私はxchatで呼ばれたら30秒間echoするくらいしか書いてなかったり。
システムトレイが無いため、呼ばれたことに気づかないので作りました。



alert_xchat 

#!/bin/bash
ratpoison -c "echo ===================You_got_a_message=================="
sleep 6
ratpoison -c "echo ===================You_got_a_message=================="
sleep 6
ratpoison -c "echo ===================You_got_a_message=================="
sleep 6
ratpoison -c "echo ===================You_got_a_message=================="
sleep 6
ratpoison -c "echo ===================You_got_a_message=================="
sleep 6


これだけです。
このファイルをパスの通っているところに置いて、xchatの音楽再生プログラムにこのスクリプトをセットし、サウンドファイル名は適当にtouchでもしたものを指定すれば動作します。

など、便利なratpoisonですが、難点の一つに ウィンドウが常に最大化状態 ということがあります。

gimpを使おうと思うと、複数のウィンドウが全て最大化されてしまうため、ツールボックスなど全てがが最大化 orz
分割をうまく使えばどうにか使えますが、使いやすいとは言えませんし、キャンパスを前画面にして、その上にツールボックスを配置するのは無理です。

ratpoisonもここまでか・・・

いえ、諦めてはいけません。
とりあえず、

C-t : tmpwm fluxbox

を打ってください。(fluxboxは別にgnome-sessionでもなんでもいいです)
そうすれば一時的に別のウィンドウマネージャが使用できます。

使い慣れた環境でgimpを使えます。
作業が終了したらratpoisonに戻って、快適な作業へ。

作者本人も、ratpoisonで全てをまかなうつもりは無い。と言っていますので、便利なところだけ使用すればいいわけです。

以上、簡単な紹介でした。


さて、このratpoisonはかなり便利に使えますが、癖が強いのでWindoze万歳な人やマウス大好きな人にはお勧めできませんが

キーボード大好き
GNU Screen大好き
マウスが鬱陶しい
トラックポイント大好きだけど、使えない環境
タッチパッドが使いにくい
KDEとか重すぎ(Windoze V何とかは論外)
メニューをちまちま選択するなんて面倒
ウィンドウの切り替えにAlt-tabなんて打ちにくい
alt-shift-tabとか論外
Windozeアレルギー

な人におすすめです。(なお、以上のリストは私の個人的な主観に基づいたものなので、100%信用しないでください)

その他、タイル型WMと言えばいくつかありまして、その中でもawesomeはかなり良さそうでしたが、キーがWindozeキー+何かなので、止めました。やはり、2ストロークホームポジションから手が離れないのが最高なので。

とりあえずつかってみてください。100人に1人くらいは気に入るかと思います。