Macintosh で NetBSD |
NetBSD 1.3.2に上げる。「神山本」「三浦本」のおまけCD-ROM収録のソー スを利用。結構不安だったが、カーネルの交換はあっという間に呆気なく終っ た。「kern.tgz」を解凍するだけ。それでルートディレクトリに「netbsd」と いうファイルが出来て上書きされる。
xfont.tgzを解凍する際に嫌な予感はしていたのだが、やはりフォントリス トが更新されて狂っている。Muleでアラビア文字が表示できなくなってる。以 下のコマンドのやり直し。
# mkfontdir /usr/X11R6/lib/X11/fonts/misc # xset fp rehash
Arena 0.3.61(グラフィカルなWebブラウザ)のパッケージをダウンロード して試してみる。必要なパッケージがいくつかあったのでそれもダウンロード して追加 (libwww-5.1m1.tgzとか、png、jpeg、xpmの新しいヴァージョン)。 日本語には対応していない(CJK対応版もあるそうだが)。画像がカラーで見 れない。ブックマークを使おうとすると何故か落ちる。不安定。どうしてWeb ブラウザってのは、どれもこれもこんなに不安定なんだろう。
『MACLIFE』2月号のおまけCD-ROM にNetBSDの1.3.2が収録されていることを知る。
NetBSDと直接関係はないけど、Mac版のNEmacsをダウンロードして使い始め る。Muleに比べると機能はかなり限定される。マウスでリージョンの指定がで きない、というのも、Macのアプリとしてはなかなか大胆な仕様だ。「Shell」 モード、「Dired」モード、「Calendar」モードなどは使える(「Doctor」も 健在)。
指がEmacs風キーバインドに馴染みかけているため、Macでもそれ風のエディ タを使った方が楽なのであった。気がつけば「C-x C-s」と動いている (「command + s」でなくて)。ここにMac上のvi風エディタ(STviとか)が加 わると、「esc :w」を用いる場面もあって、ますます混沌としてくる。
Muleほどではないにせよ、Mac版NEmacsも起動に暇がかかるので、代わりに Nitemacsを使うことも少なくない。
Tcl/Tkを入れる(「三浦本」おまけの distfiles から)。かなりでかい。 何度か失敗し、5時間くらいかかった。widgetのデモがちゃんと動いた。Mac版 のTcl/Tkよりもかっこいい。
HFS Utilities(Macのパーティションにアクセスできるツール)を入れる (「三浦本」おまけのソースから)。これを使うためにTcl/Tkが必要だったの である。うまくいかないので、「configure」ファイルを何度も書き直す。結 局、
# ./configure --with-tcl=/usr/local/include --with-tcl-libs=/usr/local/lib --with-tk
てな感じでオプションを付けないと、GUIを利用した肝心の「xhfs」という ツールが作られないのであった。以前 hfs というツールで冷や汗をかかされ たから、こいつも恐る恐る起動してみる。
xhfs を使うとMacパーティションへのコピーもできる。消去もできるし、 「情報を見る」こともできる。NetBSDと同じHD上にあるMacパーティションへ のアクセスには特に問題ないのに、別のHDにアクセスしようとすると頻繁にデ バグモードに落ちる。Macの日本語テクストファイル(SJIS、CR)をTextモー ドで取り込むと文字化けする(FTPサイトにアップロードする時と同様の注意 が必要なのだな。「JIS、LF」にしておけば、化けない)。
NetBSDとは直接関係ないけど、MacMiNT(Mac上の疑似UNIX風環境)を導入。 標準の文字コードがシフトJISで改行コードがLFという奇妙な環境である。Mac のアプリケーションの中でtcshやtarやperlやgccが使える、というのも奇妙な 気分。
Mewに対抗するメールクライアントとして、Wanderlust 0.9.4 をダウンロードして入れる。MIMEのエンコード及びデコード用に tm 7.106 も ダウンロード。送受信はできたが、思うような動作をしてくれない。設定に悩 む。
Wanderlustの送信に悩む。PPP接続しておいてから起動しないと、SMTPサー バを見つけてくれない。それでも別にいいんだけど、この機械では起動にかな り時間を食うのである。imputに送信させることもできるらしいので、それを 試す。
「im-wl.el」というelispファイルをMuleの「site-lisp」ディレクトリに コピーし、「.wl」ファイルの以下の部分をアンコメント。
(autoload 'wl-draft-send-with-imput-async "im-wl") (setq wl-draft-send-func 'wl-draft-send-with-imput-async)
これでこれまでのMewと同じようにメールを送れるようになった。imputの queuingの設定も生きている。Wanderlustは画面が派手でいい。スレッド表示 も一度味わってしまうと戻りたくなくなる。当分Mewは残しておくけど、困っ た時以外はWanderlustを使ってみるつもり。
NetBSDとは直接関係ないけど、MacMiNT版のNEmacsをダウンロードして使い 始める(これまではMacMiNT版のNgを使っていた)。Mac版のNEmacsではできな い、マウスによるリージョンの指定が可能である、ということに複雑な心境。
tm が添付ファイルのMIMEエンコード/デコードしてくれない。 「mmencode がないぞ」というメッセージを繰り返すばかり。READMEを読むと、 mmencode は metamail というパッケージの一部なので、それがない場合には 「tm/methods/tmdecode」を書き換えて decode-b というプログラムを使うよ うにしたまえ、とある。従う(当該部分を書き換えてmakeし直す)。名前通り デコード用ツールだから、相変わらずエンコードはできない。
印刷に挑戦。www.netbsd.org のFAQページ から、Color StyleWriter 用のドライバを作ってしまった偉い人(Monroe Williams氏) のページへ飛び、ドライバをダウンロード。元来2400用だそうだけど、筆 者の所有する1500にも対応するらしいので使える見込みあり。
まず、lpstyl.c のコンパイル。「-o」オプションは出力ファイル名の指定 (オプションなしだと「a.out」というファイルが作られるので、後から「mv a.out lpstyl」としても同じこと)。
# gcc -o lpstyl lpstyl.c
ghostscript(PostScriptのインタープリタ)が必要らしいので、パッケー ジからインストールし、gs へのシンボリックリンクを張る。
# ln -s /usr/pkg/bin/gs /usr/local/gnu/bin/gs
コンパイルした lpstyl を「/usr/local/sbin」へコピーする。
プリンタポートへのシンボリックリンク。
# ln -s /dev/tty01 /dev/stylewriter
「/etc/printcap」に printcap.a4 の内容をペーストする。
printcap.a4 の内容に従ってディレクトリを作成、ファイルをコピー。
# mkdir /var/spool/stylps # cp stylps.a4 /usr/local/sbin/ # cp stylps-color.a4 /usr/local/sbin/
これで一応準備はできたようである。試し印刷してみる。
# groff -mandoc /usr/share/man/man1/who.1 | lpr -Pstylps
これでめでたく「who」のマニュアルがきれいに印刷できた。Muleから印刷 したいのだが、なかなか成功しない。各国語の「こんにちは」を収録したデモ の印刷は可能だった。
# lpr -Pstylps /usr/local/lib/mule/19.28/etc/demo.ps
Mewを1.94b13に、IMを110に、Fetchmailを4.7.9に上げる。テストすると、 サブジェクトの日本語が化けている。メールの一覧(Summaryモード)では化 けていないのだが、受信メールを個別に表示させると、ヘッダのサブジェクト がきれいに化けてる(WanderlustもMewも)。
原因をあれこれ探っていくと、Fetchmailが怪しい。マニュアルを読んでみ ると、デフォルト設定がこれまで使っていたもの(4.7.5)と違っていること が判明。4.7.9では、サブジェクトをMIMEデコードする「mimedecode」オプショ ンがデフォルトでオンになっているが、4.7.5では「no mimedecode」がデフォ ルトだった (つまり、これまでは mimedecode は機能していなかった)。「. fetchmailrc」に「no mimedecode」オプションを付加してやると、正常に戻っ た。
何か問題が発生するまではマニュアルやドキュメントをちゃんと読もうと しないこちらが悪いんだよね。
「Linux/m68k for Macintosh」というプロジェクトが着実に進行中であったことを知る。 HDに余裕ができたら試してみたい。
『UNIX C SHELL フィールドガイド』(G・アンダーソン+P・アンダーソン 著、パーソナルメディア、1987年)という本を買ってきて、シェルスクリプト 書きにそろそろと着手。全然知らなかったことが多くて楽しい。履歴 (history)機能なんて、特にありがたいとは思ってなかったのだけど(tcsh なら過去のコマンドを矢印キーで呼び出せるから)、シェルスクリプトの中で は履歴が活躍する。
xhfs でMac側からファイルを取ってくる際、テクストファイルを「Text」 として扱うとNetBSD側で文字化けすることがあるので、「Raw Data」で取り込 んでいる。そうすると改行コードが「CR」のままなので、何かと具合が悪い。 文字コードは nkf で変換できるけど、改行コードの方は適当なツールがない。 仕方ないので perl に処理させる。
#!/usr/pkg/bin/perl -pi.old s/\r/\n/g;
スクリプトと呼べるほどのものではない。単純に「CR(\r)」を「LF(\n)」 に置換するだけ。でもまあ、ちゃんと働いてくれる。MacPerlでは無縁のコマ ンドラインスイッチが役に立つ。
「-p」は、スクリプトの周りを while ループが囲んでいるものと仮定し、
ループの最後で行を自動的に出力する。
「-i」は、出力されるデータをリ
ダイレクトして、入力中のファイルへ書き戻す。
「.old」は、オリジナル
のバックアップ用ファイルに付けられる拡張子の指定 (指定しないと、バッ
クアップは作られない)。
「s」コマンドの「g」オプションは、マッチし
たパターン全てを置換する。
ついでに、「LF(\n)」を「CR(\r)」に変換するものも書く。
#!/usr/pkg/bin/perl -pi.old s/\n$/\r/;
「LF(\n)」は行末に一度登場するだけなので、「s」コマンドの「g」オ プションは必要ない。
日本橋で、中古の Apple Keyboard を買ってくる(ジャンク品、2000円)。 Apple Extended Keyboard の安い中古品もあったので、そちらにしようかとも 考えた(Fキーと拡張キーがあれば便利そうだから)。余りに巨大なので、あ えなく却下。
これまで使っていた Apple Keyboard II JIS では、「`」や「~」が入力で きず、「@」や「_」等もキートップの表示とは食い違っているので、イライラ が集積していた。カーネルのソースを書き換えるとか、Xの設定を変えるといっ た対応策もありうるようだけど、キーボードを取り替えるという安直な解決策 を採った。
ASCII配列ということなら、Apple Keyboard II も候補の一つだ。ただし、 こいつは「control」キーが左下にあって、Muleの操作を考えた時に少々問題 あり。「esc」の位置も変わるから、これも戸惑いの一因になりそう。
NetBSDでの快適なキー配列を求めて調達したのだが、メカニカルなキータッ チのおかげで、キーボードを叩くのが楽しくなる、という予期せぬ効果もあっ た。
Wanderlustを0.9.8に上げる。テストすると、「signature をハイライトす るようにした」という更新履歴の通り、署名がレモン色で表示されている。見 にくいので色を変更しようと思うのだが、変数の名前や設定の仕方がドキュメ ントにもinfoにも見つからない。
ほなま、適当や、と「.wl」ファイルに、他の色設定変数を参考に、
(set-face-foreground 'wl-highlight-message-signature "DarkBlue")
と書き加えてみる。たまたま類推が当たったようで、これが効いた。でも 署名なんて、黒のままでいいでしょう、というわけで設定を"black"にする。
『UNIX C SHELL フィールドガイド』を参考に、シェルスクリプトに挑む。 詳しくは「話題集」の方を参照。
9月の初め、『UNIX USER』9月号のおまけCD-ROMを利用して1.4にアップデー トしたところ、Xが起動できなくなっていた。X以外の部分は問題ないのだが、 これでは日本語が使えず、Linuxに押されて使用頻度の落ちているNetBSDはま すます存在価値を失っていった。
幸や不幸か、NetBSDがなくても支障はないので、そのまま放ってあった。 ふと、「X Serverが1.4に対応してないのでは?」と思いつく。1.3.x時代、カ ラー対応の Xmac68k_OSFA を入れて、1.4でもそれをそのまま使おうとしてい た。
Xmac68k_OSFA も新しいのが出てるのかも、と「ftp.macbsd.com/pub/NetBSD/X/」へ出かけてみる。 README を読むと、Xmac68k_OSFA は1.3用で、1.4のXディストリビューション に適合するのは Xmac68k_color ってやつ(Xmac68k_OSFA のソースに基づいて 開発されたものだそうだ)。あ、やっぱり?
早速 Xmac68k_color.tar.gz をダウンロードし、試してみる。あっさりとX が起動し、こんな単純なことに一ヵ月も気付かずにいた自分が情けなくなる。 ともあれ、これでNetBSDが日常の道具としても復活(Linuxの数倍遅いので滅 多に動かすことはないけれど)。