UbuntuをオールドスクールUnixっぽく使う

最近、理由あってFreeBSDからUbuntoに切り替えた。でもブートするときに綺麗なGUIが出たり、ウインドーズみたいなデスクトップ環境だったりでUnixしか知らないTenguはちょっと戸惑う。そこで、Ubuntuを伝統的(?)なUnix環境にしちゃおう。

まずブートするときにカーネルからのメッセージが黒いコンソールにダラーっと出てこないと安心できない。

/boot/grub/menu.lstのkernelラインからquiteを取るとメッセージが出るようになる splashも取る。

このラインを
/boot/vmlinuz-2.6.28-11-generic root=UUID=650d47e3-28f9-44d7-9808-1a135f9c8fc3 ro quiet splash

こんな感じにする
/boot/vmlinuz-2.6.28-11-generic root=UUID=650d47e3-28f9-44d7-9808-1a135f9c8fc3 ro


さらに、ログインはコンソールでして、明示的にstartxしたい。ユーザに立ち上げられないで勝手に走るなんて生意気なGUIだ。UnixではGUIはあくまでOSの上に乗っかっている部品なんだからそれを自覚させる。

ってな理由で、GDMを阻止したいんだが、どのRCファイルを編集すればいいんだろう? 見付からない。調べてみるとこのようなサービスはコマンドを使って設定するらしい。

$ sudo apt-get install sysv-rc-conf
$ sudo sysv-rc-conf gdm off


Xをcontrol-alt-backspaceで殺したいんだが、xorg.confに入れるべきオプションがわからない。昔はxf86confかなにかにDontZapとかをオフにしていたような記憶があるんだが,, Ubuntoではこの設定もコマンドでやるらしい。

$ sudo apt-get install dontzap
$ dontzap --disable

しかし、設定ファイルを編集すればいいようなことを一々コマンドインストールしてそれに編集させるってのはどういう意図なんだろう。ただ/etc/のどこかのファイルを編集しているだけなのに。面白い文化だ。


ウインドーマネージャはratpoison(鼠殺し)。これはscreen(1)をウインドーマネージャにしたようなものだ。マウスを使わないでマシンを駆るのを目的とする。

$ sudo apt-get install ratpoison

~/.ratpoisonrc ----------------------------------
# banishはマウスの矢印を消すという意味。ことある度にマウスポインタを消す設定。
# from http://www.uncarved.com/dotfiles/ratpoisonrc.html
banish
addhook switchwin banish
addhook switchframe banish
addhook prefix banish

# ディフォルトのコマンドprefixはC-tだが、これだとemacsのtranspose-chars
# が使えなくなってしまうので、あまり使わないものに変える。
# ここではC-h delete-backward-charを犠牲にしている。
escape C-h

# 好みのアプリケーションを開始しておく。
exec mlterm
exec mlterm
exec emacs
exec firefox

                                                                                    • -

「デスックトップ環境」が整ってきた。

termcapがな無い、とターミナルの中のemacsがグズる。これはemacsが時代遅れの文句を言っている、との意見があるが、とのかくBSDではなかった問題だ。FreeBSDのtermcapを/etc/termcapにコピーしたら静かになった。

サスペンド

パワー管理はGUIでやるのが前提になっていてるので、コマンドがわからない。結局、pm-suspendのコマンドをシェルスクリプトに置き換えてGUIが送るオプションをキャプチャーして、それを使っている。マシンはHP Compaq nc6000なんだが、これで寝むってくれる:

$ pm-suspend --quirk-s3-bios --quirk-s3-mode

ネットワーク

これもGUIのネットワークマネージャを使わないので wpa_supplicantとdhclientを直接使う。 こんな感じのコマンドをシェルスクリプトににいれてなんとかなっている。

$ sudo killall NetworkManager nm-system-settings dhclient wpa_supplicant
$ sudo sudo wpa_supplicant -B -i wlan0 -c /etc/wpa/wpa_supplicant.conf.hoge
$ sleep 2
$ sudo /sbin/dhclient wlan0

各OSのネイティブなGUIを使えれば色々便利なんだけどね。でもマウス使っていると手首は痛くなるし、コーディングのフローが乱れるし。やはり捨て難いratpoison