rawhide の続き、w3m のススメ


glibc 2.1ベースで行ってみよう、と思って入れてみた rawhide なんだけど、オレが最 初に落としたときの version は 1.2.9 だった。glibc-2.1-0.990222 ベースね。だが、インストールしていろいろと設定などしている間に、掲示板の方でいろいろな方に「rawhide の 1.3.0 が出てますね」などと教えてもらい、そっちから差分だけを持ってきている間に、さらに 1.3.1 になり、はたまた starbuck と呼ばれる RedHat 5.9pre が出てしまっている。

rawhide 1.3.1 と starbuck には egcs 1.1.2 が入っているし、bind なども新しいので、それらに価値を見い出す向きには rawhide 1.3.0 は魅力がないかもね(というか、redhat の鯖はケチなので、今となっては rawhide 1.3.1 か starbuck しか落とせまい)。

オレは pgcc 1.1.1 release を使っているのでとりあえず egcs 1.1.2 を入れる気はないし、なにしろ肝心の glibc が 2.1-0.990311 と同じものなので、リキんで落とす必要はないと判断した。今の時点でオレのマシンでせっかく安定して稼働している rawhide 1.3.0 を捨てるのもねぇ。てワケでしばらくは rawhide 1.3.0 ベースで行ってみることにする。

で、glibc 2.1 のおさらいだけど、これはもう実用上ほとんど問題なかった。

glibc 2.1 と共に提供されるヘッダ・ファイルの差異で、compile するために微調整が 必要なものもあるにはあったけど、一番大事な locale まわり、wcsmbs 関係は特に不都合なく動いているように見える。

glibc 2.1-0.990222 では locale の charset 名が case sensitive な扱いを受けてし まうというバグがあったが、それは rawhide 1.3.0 以降および starbuck に入っている glibc 2.1.990311 では解決されている。

だから、wcsmbs-locale_0.4.11.tar.gz をJRPMでも Vine でも PJE でも Debian-JP でも 、なんでもいいからとにかく持ってきて展開し、/usr/share/locale/ja* をバサッと /usr/share/local にコピーしてしまえばいいだろう。本当は glibc 2.1 のパッケージを作成する際に、localedef で由緒正しく locale data を生成してやればいいのだが、今は localedef がマルチバイトに対応していないのでできないのだ(泣)

で、locale data の方を所定の位置に置いたら、/usr/lib/gconv/gconv-modules にちょっとだけ手を入れて、ja_JP.ujis を使えるようにしよう。

--- iconvdata/gconv-modules~	Thu Jan 21 12:00:00 1999
+++ iconvdata/gconv-modules	Sat Mar 13 19:13:46 1999
@@ -874,6 +874,7 @@
 alias	EUCJP//			EUC-JP//
 alais	CSEUCPKDFMTJAPANESE//	EUC-JP//
 alias	OSF00030010//		EUC-JP//
+alias	UJIS//			EUC-JP//
 module	EUC-JP//		INTERNAL		EUC-JP		1
 module	INTERNAL		EUC-JP//		EUC-JP		1

とこんな感じのパッチをデッチ上げてあてといた。でもこの期に ja_JP.EUC を使うようにするほうが、locale の名称としては由緒正しいように思う。上記のような小細工もいらないしねぇ。とかいってオレはja_JP.ujis を使ってるんだけどさ(笑)

で、これだけで locale 関係の設定はおしまい。あとは LANG=ja_JP.ujis なり LANG=ja_JP.EUC なりにしておけば、GTK+ 1.2.0 以降ならそのままで、GTK+ 1.0.6 なら wc patch があたっていれば日本語もサクサク使える。

ただ1点だけ問題があって、Netscape Communicator 4.08 がまともに動かなくなった。日本語のリソースを使うとね。

症状としては2つほどあって、まず1つは「Save As...」動作がダメ。メニューなりボタンなりでファイルを保存するダイアログが出るものがいくつかあると思うが、それらは全滅ね。CPU 負荷 100% にはっついて、kill -9 しないとどっか行ったまま帰ってこない。

2つ目は、CGI の FORM などで「reset」とか「消す」なんてのがあるでしょ? あれがダメ。押すと 100% はっつきで以下同文ね。

Mail や News なんてボロクソなんぢゃないかな。使ったことないから試してもいないけど :-P

もともと Netscape Communicator なんてバイナリ配布のみで、 オープンソースでもなんでもないから、glibc 2.1 の環境に擦り合わせようにも手が出せないんだよな 凸(-_-#) そりゃあちょっと前までは、バイナリのみとはいえフリーで入手できるようにしてくれるなんてありがたいのぅ、なんて思っていたけど、もう捨てることに決定ね。どうせ mail も news も使ってないんだし。いらねぇっちゃいらねぇのよ。

てなわけで、オレのコンダラ環境での標準ブラウザは、あ伊藤さんの w3mに決定。ぱぱんださんの推薦つき、_tom_ さんによるパッケージ公開済みという、そうそうたるお歴々、まさに鳴り物入り。まるで西武の松坂みたいなブラウザなのだ(笑)

実際、すっげぇ良くて良すぎ。しかも、あ伊藤さんのサポートのキメ細かいことといったら。成毛に爪の垢でも飲ませたいってなもんだぜ。いやマジで。でもきっと、あ伊藤さんは飲ますのヤだって言うだろうけど(大笑い)

ぱぱんださん、_tom_ さん両巨頭のページにリンクさせてもらったついでに書いておく けど、w3m の最新は 3/25/99 現在で w3m-990323.tar.gz だ。_tom_ さんのページから rpm をもらうか、nosrc.rpm をもらって自分で rebuild する場合はよいとして、ぱぱんださんのページから直に ftp すると、すこしだけ古いのを持っていくことになるのでちょっとだけ注意ね。

さらに、_tom_ さんのパッケージはエディタに jed を、メーラに mutt を使うように configure されている(大笑い)という実にコンダラな作りなので、jed も mutt も使ってない人は nosrc.rpm の方をもらっていって、中見て設定を変えて rebuild しよう。

さらにさらに、せっかくメーラに mutt を指定してくださった _tom_ さんの意向に感謝して、オレの環境での mutt, slrn での w3m 使い回しを書いておく。MS風に言やあ、統合ってか?(大笑い)

まずは mutt だけど、~/.muttrc に

macro pager \cb "|urlview\n"

と書く。でもって urlview-0.7-1.i386.rpm をインストールする。urlview ってのは slang なミニアプリで、標準入力から喰わされたテキストの中から URL を探しだし、それを TAB キーで選択できるように画面に表示してくれるツールだ。

rawhide か starbuck なら最初から提供されているし、赤帽 5.x なら探せばどこかで見付かると思う。もちろん rawhide などの src.rpm を持っていって rebuild してもいい。日本語化もへったくれもないしね。

で、~/.muttrc への macro うんぬん、という記述は、C-b で urlview に読んでいるメールの内容をパイプで喰わせろよ、という指定なのだ。でもって ~/.urlview には単に

COMMAND w3m '%s'

とだけ書いておく。さて、mutt でメールを読んでいたら、気になるページの URL が紹介されていたとしようか。もう速攻で C-b だ。すると urlview がその URL を表示してくれるので、選んでやれば、w3m がそのページを開いてくれる、というわけ。快適快適。

slrn の場合はもっと簡単で、~/.slrnrc に

set Xbrowser "rxvt -geometry 82x56 -e w3m '%s' >& /dev/null &"

と書くだけ。X な環境でしか使えないけど、こうしておくと news の記事中に反転表示された URLをマウスでクリックするだけで、rxvt が1つ開いて w3m がそのURLを見せてくれるという寸法だ。便利便利。

X 環境でない場合のブラウザも、実は non_Xbrouser という変数で設定できるのだが、実際に使ったことがない(ので実はよく知らない。師匠に聞かないと(汗))

ついでに書くと、オレは WindowMaker を使っているので、上記の rxvt うんぬんという slrn での設定をそのまま menu に登録してる。~/GNUstep/Default/WMRootMenu に

(w3m, EXEC, "rxvt -geometry 82x56 -e w3m /home/toru/public_html/index.html"),

などという1行をまぎれ込ませただけ(笑)だけどね。自分のホームページのソースが ~/public_html に置いてある(というか、そこでまず書く)ので、その index.html をスタートページにしてる。そこから M-b で bookmark を開くもよし、G で URL を指定するもよし、だ。

bookmark は中身が簡単な html だったので、~/.netscape/bookmarks.html を jed でちょちょいといじってコンバートした。う〜ん、もう戻れんよ、快適で。

さて、哀れ捨てられる運命の Netscape Communicator はどうなったか、というと、実際には完全に捨てちまったワケじゃなくて、英語版そのままの形で動くようにしてある。web で通販を使うときとかだと SSL が必要になっちゃうし、えっちなページも硬派な w3m は苦手だしね(笑)

赤帽系の Netscape Communicator(VineやTurboは除いて)は、netscape-common と netscape-communicator の2つにパッケージが別れているんだけど、普通に起動すると /usr/bin/netscape という shell script が wrapper として動くようになっている。
だから /usr/bin/netscape の頭の #!/bin/sh の下に

export LANG=C
export LC_CTYPE=C
export XMODIFIERS=""

などと書いて、強制的に C locale で XIM なしな状態で起動されるようにしちまったよ。これでファイルのオープンダイアログも動くからダウンロードもできるし、CGI 関係も普通に動くから web での通販でもなんでもできる。えっちな画像ももちろんゲットだ(笑) 日本語も読めるしね(ペーストしようとしても掴めないけど:-P)

てなわけで、ブラウザ問題は一気に片がついた。

今のところ、自分でパッケージを rebuild して入れてあるのは以下の通り。ABC 順ですまんけど(手抜き)。

ふぅ。こうして上げてみると、けっこうたくさん入れ換えたなぁ(汗)

あ、上記のパッケージは、pgcc そのもの以外のものは全部、pgcc 1.1.1 で -O6 -mpentium でコンパイルした。ものによって(ruby とか xfsxtt とか)は -fno-inline-functions も付けている。そうしないと core 吐いてお亡くなりになっちゃうみたいなんでね。あ、あと leafnode だけは -O6 だと -fno-inline-functions をつけたくらいじゃダメで固まってしまう。だもんで -O2 でコンパイルした。

単に rebuild しただけのものはともかく、pgcc とか tcl/tk とか xfsxtt とか、それなりにパッチあてたりしてツジツマを合わせたパッケージについては、nosrc.rpm か、せめて spec とパッチを固めてパッケージ置き場に置こうと思う。

rawhide は♪ローレンローレンローレン♪だからいいとして(何がだ?)、starbuck がまともに mirror されるようになれば、RedHat 5.9 だもんなぁ。インストールしてみたい、という人も増えてきそうだし、今のうちにせめて人柱をしておくことにしよう。何しろホラ、オレって義賊だし(謎)

だけど実際には置くスペースがないんだよね(汗) JRPM はまだ glibc 2.1 は考えてないだろうし… かといってオレの ISP の空き容量ってもう残り少ないのだ。spec とパッチだけ、にするか :-P


メール 戻る