NetBSDを久々にいじってみる

TAKEが新しいDNSサーバを立てるためにNetBSDを入れたり、それに絡んでNetBSDのLive Imageなんかを見つけてきてたので軽く手持ちのmicroSD 4GB+USBカードリーダで試してみる。MicroServerだと途中で止まったので出社してきたTAKEに渡してみた。ThinkPad T40やIdeaPad S10で普通に動いてFirefoxとか使えてた。
それ見たら、何となくQEMU on WindowsでインストールだけしてたNetBSD/i386 5.1があるのを思い出して起動。ログインすらしてなかったっぽい。
rootでログイン。おもむろに近場のFTPサーバから「pkg_add ftp://ftp4.jp.netbsd.org/pub/NetBSD/packages/5.1/i386/All/firefox-3.6.16.tgz」でFirefoxをインストール。「xinit」でX Window Systemを起動。「firefox」でFirefoxを起動。初回なのでかなり時間かかるけど、あっさり動いた。
Live Imageで使ってたウィンドウマネージャのjwmはGTK+やQtとか使わずXlibだけで作られてて軽い上に見た目や操作、機能などがWindowsに似ているので使いやすそうと思ったので入れてみる。近場のFTPサーバから「pkg_add ftp://ftp4.jp.netbsd.org/pub/NetBSD/packages/5.1/i386/All/jwm-2.0.1nb4.tgz」でインストール。X起動した後に「jwm」で起動。左下角のJWMと書かれたWindowsで言う[スタート]メニューからApplications→FirefoxFirefoxは起動するし、左下角には時計もあるし、マウスカーソル乗せると日付も出るし、これお手軽でいいな。
ただ、JWMメニューからTERMINALを起動しようとすると「rxvt: not found」と出るだけ。どうやら、xtermじゃなくrxvtが入ってないとダメっぽいので、近場のFTPサーバから「pkg_add ftp://ftp4.jp.netbsd.org/pub/NetBSD/packages/5.1/i386/All/rxvt-2.7.10nb6.tgz」でインストール。これでちゃんとJWMメニューからTERMINALを選ぶとrxvtが起動するようになった。
こうなるとログインする度にXを起動するのが面倒なので、/etc/rc.confにxdm=YESを追記して再起動。をを、ちゃんとXDMのログイン画面出てきた。早速、rootでログイン・・・出来ない。そういえば、XDMってrootユーザーでのログインは出来ないんだった。をを、こんな経験何年ぶりだ(笑)確か前の会社でX11R5とか使ってた頃じゃなかったっけ。
NetBSD/i386 5.1は起動時にシングルユーザーモードをメニューから選べる(昔と比べてお手軽になった)ので、それで起動。ルートファイルシステムはリードオンリーでマウントされているので「mount -u /」で書き込みできるようにして「vi /etc/rc.conf」で末尾に追加した「xdm=YES」を削除して保存。「exit」でマルチユーザーモードになって起動される。
てな訳でちゃんと一般ユーザ作っとく。「useradd -m -c 'Taro Yamada' -G wheel yamada」でスーパーユーザになれるユーザを作成、「passwd yamada」でパスワードを設定。ログインできるか確認してから、再び/etc/rc.confにxdm=YESを追加して再起動。
今度は一般ユーザでログイン。すると、Session Menuなるダイアログが現れて、chooseSessionListWidgetと表示された下に選べるボタンがDefault/Fail SafeとCancelしか無い。前者を選んでも特に先には進まないっぽい。後者はログイン画面に戻るだけ。こりゃ、.xsession作ってないからか?しゃーないんで、再び強制的に落としてからシングルユーザーモードで起動して/etc/rc.confを元に戻す。
一般ユーザのホームディレクトリに.xsessionを作ってみる。ログイン後はウィンドウマネージャのjwmだけ動いてくれれば何とかなるので、内容は「#!/bin/sh」と「jwm」の2行だけ。あとは「chmod +x ~/.xsession」で実行属性を付けておく。今度こそと/etc/rc.confにxdm=YESを追加して再起動。
一般ユーザでログイン。jwmが起動。xconsoleってターミナルウィンドウが開いたままだけど、まあ最小化しときゃいいや。JWMメニューからrxvtもFirefoxもちゃんと起動する。