地味すぎるぞxdm

XFree86 3.3.1がうまく動きだし、pppもグ〜、MailもNewsもWebも快適ってなわけで、オレもやっとWindowsから開放されたわけだが、IP masqueradeを入れて、横で寂しげに立たずんでいるメビウス君からもinternetにアクセスさせたいし、近々カラープリンタを買うつもりなので、sambaを入れてプリンタを共有したりもしたい。したいんだが、うむぅ、時間がないわ。

というわけで、あ〜でもないこ〜でもないとLinuxをいぢくりまわして楽しんでいるわけだが、毎回毎回コンソールからログインして、startxするのはいかにもダサい。やっぱ、最初っからXが立ち上がっていて欲しいよね。workstationだぜ、って感じでさ。で、それにはX Display Manager、つまりxdmを起動してやればいいということになった。まぁrc.localとかその手のファイルで、xinitを動かしてもいいのかも知れんが…

xdmを起動してやるのはいたって簡単で、/etc/inittabをちょちょいと編集して、id:3:initdefault:などという行があって、runlevelが3になっているので、こいつを4にしてやるだけでいい。そうすると、inittabの下のほうに x1:4:wait:/etc/rc.d/rc.4 とあって、rc.4の中でxdmが起動される仕組みになっている。最近のSlackware 3.4とか、その他のディストリビューションではどうだか知らないけれど、すくなくともオレの使っているSlackware 3.1ではそうだった。

で、さぁリブートして最初からXでログインだ…とはいかない。

startxってのは実はコマンドじゃなくて、単なるシェルスクリプトで、中では結局xinitを起動しているだけなんだけど、xinitは~/.xinitrcを参照していろいろな初期化をしてくれる。最初から動かしておきたいユーティリティやらコマンドやらを一生懸命書いているわけだが、xdmでXを起動するようにすると、.xinitrcを見てくれない。かわりに、初期化したい内容は.xsessionというシェルスクリプトを作って記述しておくことになる。とはいっても、実際には.xinitrcを.xsessionからexecつるか、またはもろに上書きでコピーして、chmod a+xなどで実行可能のフラグを立ててやるくらいなんだけどね。

というわけで、.xsessionも用意してリブートしてみると… なぁにこれ?地味すぎ〜ってな感じの味もそっけもないログイン画面が立ち上がってくる。いや、マジで地味なんだってば。灰色の背景に、ノッペリとした2Dのダイアログボックス。あぅ〜、ちょっと想像してたのとちがうやぅ〜(泣)

ところが、やはり好き者のLinuxユーザ、考えることはみんな同じだね。xdmのダイアログボックスを3Dにしてくれて、その他カスタマイズもできるxdm3dってのがあったのだ!速攻持ってきましたよ。XBannerのページからたどって、3D-XDM.tar.gzと、XBanner1.31.tar.gz がソレだ。

makeは超簡単で、READMEに書いてあるとおり、xmkmf -aしてmakeするだけ。するだけなんだが、libshadow.aがないと言われてmakeできなかった。xdm3dって、デフォルトでshadow password対応になっているのだった。おそらくmakefileを編集するとかすれば、shadowじゃなくても動くヤツをmakeできるのかも知れんが、いい機会だからってんで、passwordのshadow化もしちゃうことにした。Slackware 3.4とかだと、すでに最初からshadow passwordになってるんだけどねぇ。オレのはなにしろSlackware 3.1。何から何まで古いのだ。

で、shadow-971001.tar.gzをxarchieでftp.jaist.ac.jpから取ってきて、./configure ; make ; make install する。/usr/X11R6/libにlibshadow.aが出来ているのを確認して、再度xdm3dのmakeだ。こんどはあっという間にxdm3dの出来上がり。READMEには設定のサンプルが含まれているので、cut&pasteしてXresoucesとxdm-configを作る。ウチのLinuxBoxでは、これらのファイルは/usr/lib/X11/xdmにあったので、それぞれ上書きしちゃった(笑)。

もちろんREADMEには、従来のファイルは取っといてね、と書いてあるんだが、オレしかユーザがいないんだからいいやんけ、といいつつ mv xdm3d xdmとかしてサクッと上書きした。カスタマイズするには、Xresoucesを適当にいじって、カラーやフォント、位置などを設定するようなんだが、この辺はとりあえずサンプルのまま。面白いのはxdm-configのDisplayManager*loginmoveInterval:というキーワードで、これに10などと設定しておくと、10秒経過した時点でダイアログボックスがひょこひょこと動き出し、WinNTのログイン画面っぽくなるそうだ。わはは。

リブートしてxdm3dの具合を見ると、立体的でなかなかいい感じ。いいじゃんいいじゃん、とログインしようとすると、なんと!Login incorrectの応酬で全然ログインできぬ。なぜだ!理由はすぐに思い当たった。オレってば、libshadow.aを作っただけで、肝心のpasswordをshadow化してねぇじゃん。それじゃ入れんわ(笑)。Ctrl-rでxdmを殺し、Ctrl+Alt+F6でコンソールでログインし、あわててpwconvでpasswordをshadowにコンバートした。

今度は平気だろ、とリブートして試すと、おぉ!ログインできる(当り前)。うんうん、いいじゃん3D-XDM。グ〜よグ〜。だけど、背景は依然としてグレーの地味なまま…。いよいよXBannerの出番になった。

あらかじめ取ってきてあったXBanner1-31.tar.gzをtar zxvfし、xmkmfしてmake ; make instalするだけ。楽勝楽勝。で、あとはサンプルのXBanner.adを/usr/X11R6/lib/X/app-defaultsにコピーして、さっき作ったXsetup_0の中でxbannerを起動してやる。で、xbannerはリソースを食うので、.xsessionのなるべく最初のほうで、freetempというxbannerと一緒にmakeされるコマンドを起動してやるのがお約束のようだ。

XBannerはソースとともに豊富なドキュメントも付いてくる(英語だけど)ので、設定そのものは思考錯誤しつつ楽しみながらできた。XBannerは恐らく適切なフォントを指定してやれば日本語も出せると思う。3D-XDMも、makefileを見る限りではlibXawをリンクしているので、I18n化されたXawを使っているなら、こっちもフォントの指定次第で日本語を表示できるだろう。

とはいえ、オレは個人的には、あっちも日本語こっちも日本語、見渡す限りぜぇ〜んぶ日本語、というのはかえって美しくないと思っちゃうタイプなので、試してない。ログイン画面で日本語見たいとは思わないので試すつもりもないしね。

メール 前へ 次へ 戻る