やれやれ、このコーナーに書くのも久しぶりだ。イカンよなぁ。いろいろ忙しくてさ。とはいえ、ウチのPingaも実はだいぶ様変りしているのだ。特にMail、News、エディタという、もっともオレが頻繁に使うものが差し替えられていたりする。
前回書いた環境は、Mail は mew 1.92.4 + IM-85 で、News は gnus 5.5.4 + gnspool 1.36 で、両方とも XEmacs 20.3 から使っていた。sendmail や qmail のような smtp サーバは立てず、INN などの nntp サーバも立ててない。常時接続じゃないんだから、手間かけてサーバを立ち上げる必要もあるまい、と思ってね。勉強のためならともかく…。てなわけで、それなりに幸せに Mail を読み、News を読んでいたんだけど、ちょっとずつ不満なところも出てきた。
まぁプロセッサが無印の 166MHz とたいして速い石じゃないってのもあって、ちょっとモタクサ動いていたのは我慢の範囲だったんだけど、かなり困っていたのが mew 1.92.4 では mime のヘッダとして content-disposition: をサポートしてくれてないことだった。かといって、content-type: の name= フィールドを認識してくれるかってぇと、このフィールドは obsolete だということでこっちもサポートしてない。これがどんな不都合があるかというと、mime のマルチパートにブチ込まれたファイルが、かつてどんなファイル名を持っていたのか、という情報を入れておくヘッダがないのだ。
まぁ、すでにRFCから落ちてしまった仕様をサポートしない、というのはまっとうだし、新しいRFCに記載された仕様をまだ時期尚早といってサポートを避けるのもわかるよ。cc:Mail や Outlook の smtp gateway や、mozilla の方が RFC から外れているのだ、というのも真実だ。HTMLメールがデフォルトなんてRFCをうんぬんする以前に腐り切ってるもんねぇ。だけど、AL-Mail だって Eudora だって電信8号だって、インプリしてる部分なんだぜ。実際、なんらかのファイルを添付(という言葉の使い方自体が RFC の記載とニュアンスが異なるが)したとしても、相手先ではランダムなファイル名になるし、ファイル名を知るためにヘッダの中身を人間が読んで名前を付けてやる必要があったりする。
てなわけで、自分でちょこっと手を入れてみるか、なんて思っていたんだが、これが全部 Lisp で書いてあって、手に負えないのよ(泣) さらに、スレッド表示も正式にはサポートしていないので、Mailing List を読むのがちょっと面倒ってのもあったしねぇ。てなことを思っていたら、ちょうど2月頃、日本に帰ることになって、帰ったオレを待っていたのは悪魔の囁きだったのだ。
「だんなだんな、こんな上玉めったにいないよ」と囁いたのは、菊谷さんという方で、オレのDEC時代の先輩だ。この人はdebianユーザで、日本語化したパッケージを公開したりもしているすごい人なんだが、さらにすごいのはあんた、人生を背負う人ってのは掃いて捨てるほどいるが、人生を背負い投げるのはこの人くらいしかオレは知らない(笑)。久しぶりだから飲みましょうってなことになり、新宿の怪しい居酒屋で飲んだのだが、なんと菊谷さんは Panasonic の Let's Note を持ってきていて、ソレで X は動いてるわ、Mail は読めるわ News は読めるわで、まぁ一言で言えば単に怪しいおっさんだったんだけど(笑)、そのとき見せてくれた Mailer も NewsReader も、軽くて速くてすげぇよかったのだ。それぞれ、Mailer は mutt、NewsReader は slrn という。どちらもエディタとして何でも指定して使うことができるが、デフォルトは jed を使うようになっていて、統一したイメージで reply や followup を編集することができる。
mutt も slrn も jed も libslang.a ないしは libslang.so という S-Lang のライブラリを使う。ソースと日本語化パッチが菊谷さんのホームページから落せるので、それを展開し、make すればよいのでそれぞれの作業自体は特に難しいことはない。詳しい手順の説明もあるしね。菊谷さんに感謝だ。一応気を付けなければならない点として、mutt と slrn は共通の libslang を使うがjedだけはバージョンの異なる libslang を必要とするということがある。この辺のことはまたもうちょっと後で詳しく書くけど、オレは libslang をシェアドライブラリにしないで、スタティックにリンクしてしまった。
一応簡単にそれぞれの作り方を書いておこう。詳しいことは菊谷さんのページを見るべし。
mutt
slang1.0.3.tar.gz と slang1.0.3jp0.pat.gz を取ってくる。
展開してパッチをあて、./configure ; make で libslang を作る。
この libslang は slrn でも使う。
mutt-0.89.1i.tar.gz と mutt-0.89.1i-jp4.pat.gz を取ってくる。
展開してパッチをあてる。
./configure --with-slang --enable-locales-fix ; make で mutt を作る。
root になって、make install でインストールする。
slrn
libslangはmake済みとして、
slrn0.9.4.6.tar.gz と slrn0.9.4.6jp1.pat.gz を取ってくる。
展開してパッチをあてる。
./configure --with-slang --enable-locales-fix ; make で slrn を作る。
root になって、make install でインストールする。
jed
slang0.99-37.tar.gz と slangj0.3.3.pat.gz を取ってくる。
展開してパッチをあて、./configure ; make で libslang を作る。
jed0.98-2.tar.gz と jed-0.F98.2+J0.4.pat.gz を取ってくる。
展開してパッチをあて、./configure ; make で jed を作る。
root になって、make install でインストールする。
/usr/local/src/Editor/ に展開して作業していたとして、
cp /usr/local/src/Editor/jed/lib/* /usr/local/jed/lib
cp /usr/local/src/Editor/jed/info/* /usr/local/jed/info
cp /usr/local/src/Editor/jed/doc/* /usr/local/jed/doc
などとやって、ライブラリ類をコピーしてやる必要がある。
実際、make とインストールは特に難しいことはない。
実は、インストールそのものは簡単ですぐにできたのだが、設定や使い回しで結構苦労してしまった。Mail や News のエディタとして jed を使う前提に立つと、jed ではかな漢字変換に SKK を使うのが作法となっているので、SKK をインストールしておかなければならないのだ。mule などで SKK をすでにつかっている人であれば問題はないが、初めて使うとなると、SKK の設定も必要になる。
オレは Slackware 3.4 を使っていて、日本語環境は PJE-0.1 の cannabase を選択してインストールしてあるので、SKK は cannnabase の中に含まれているためすでにインストールされていた。さらに実は日本語化された libslang も jed も PJE-0.1 に含まれてたんだよね。でも、PJE-0.1 の S-Lang はシェアドライブラリで、libslangjp.so などのように名前も変えられていて、どうも mutt や slrn とうまく動かなかったので、全部消して自分で jed を make してインストールしなおしてしまった。
jed
cp /usr/local/jed/lib/jed.rc ~/.jedrc として .jedrc の雛型を作ったら、どこか適切な位置に autoload("skk", "skk"); と setkey("skk", "^X^J"); の2行を追加しておく。さらに、/usr/local/jed/lib/bytecomp.sl の "site.sl"; の次の行に "japanese.sl"; と "skk.sl"; を追加したあと jed -batch -n -l preparse としてあらかじめバイトコンパイルしておいた。この辺の説明も菊谷さんのホームページの jed のコーナーに Tips としてしっかり書いてあるので必見だ。
さて、これで SKK が使えるか、というとそうではなくて、SKK には SKK のための rcファイルが必要だ。.skkrc というファイルを作ってホームに置いておく。中身は
skk_echo = 0;
skk_process_okuri_early = 0;
skk_auto_okuri_process = 0;
skk_aux_large_jisyo = "/usr/local/share/skk/SKK-JISYO.L";
skk_large_jisyo = "/usr/local/share/skk/SKK-JISYO.L";
skk_server_host = "127.0.0.1";
こんな感じ。
jed を起動し、^X^J とすると、モードラインに「かな」と表示されるはずだ。これで SKK で日本語の入力ができるようになっている。
長くなっちゃって疲れたから、mutt と slrn はまた今度。すまん。
メール | 前へ | 次へ | 戻る |