このセクションは xdm の設定を扱います。そうすれば X 端末でログインプ ロンプトが利用でき、ユーザーがログアウトすると復帰します。xdm プログラ ムは、通常の端末にとってログインプログラムの(とても)素朴なものに相当す るディスプレイマネジャーです。 すべての Linux の X パッケージに含まれ ています。
xdm の設定ファイルは /usr/X11R6/lib/X11/xdm
(/usr/X11R6
は /usr/X11
にリンクされているかもしれません)
にあります。おもな設定ファイルは xdm-config
です。
数あるファイルのなかからこれを見つけたなら、
すでに次のような行が見つかるはずです。
DisplayManager._0.authorize: true
DisplayManager._0.setup: /usr/X11R6/lib/X11/xdm/Xsetup_0
DisplayManager._0.startup: /usr/X11R6/lib/X11/xdm/GiveConsole
DisplayManager._0.reset: /usr/X11R6/lib/X11/xdm/TakeConsole
これらは Linux マシンで X が動作する時に、スクリーンをコントロールする ファイル類です。 X 端末に対して、同様な形の4行を加えます。
DisplayManager.whisper_0.authorize: true
DisplayManager.whisper_0.setup: /usr/X11R6/lib/X11/xdm/Xsetup_whisper
DisplayManager.whisper_0.startup: /usr/X11R6/lib/X11/xdm/Xstartup
DisplayManager.whisper_0.reset: /usr/X11R6/lib/X11/xdm/Xreset
_0
が :0.
になるように、whisper_0
は
whisper:0
に対する xdm 表記であることに注意してください。
また、GiveConsole
は Xstartup
で置きかえられていることにも
注意してください。私の場合、それがダミーファイルになり、また、Xreset
に対して TakeComsole
がダミーファイルになります。オリジナ
ルのファイルは両方とも Linux マシンで X が動作する時、コンソールの所有
者を制御しますから、ちょうど X 端末が動作しているからといって
Linux コンソールの周囲でじゃまをする理由はありません。
セットアップファイルはログインプロンプトがスクリーンに置かれる前にプ
ログラムを動作させます。これがバックグラウンドで画像を持っている xv や
あるいは似たようなプログラムを使用するための場所です。あなたは
Xsetup_whisper
に与えられた Xsetup_0
を簡単にコピーできる
はずです。
[ この質問はたびたびあるのですが、ルートウインドウに画像を置く一つの方 法は、
nice xv -root -quit -rmode 5 <picture_file> &
このような行を置くか、セットアップファイルにそのように置くことです。そ うすれば画像ファイルは xdm ログインプロンプトで、ルートウインドウに表 示されます。ファイルがあんまりに大きいか、複雑すぎるとエラーメッセージ を出す X 端末もあることに注意してください。]
Xaccess
はマシンにアクセスできる人をコントロールします。デフォルトの
設定をそのまま使うことができるでしょう。Xaccess
は chooser
を使うことでユーザーを選択できるようにします。その場合、あなたは X 端末 を
サービスできるネット上で違ったマシンを持つことに注意してください。
Xsources
はログインプロンプトの形とサイズをコントロールします。X 端
末と Linux マシンとで違った表示にしたいなら、次の行を2行におきかえま
す。
DisplayManager*resources: /usr/X11R6/lib/X11/xdm/Xresources
このように2行にします。
DisplayManager._0.resources: /usr/X11R6/lib/X11/xdm/Xres_0
DisplayManager.whisper_0.resources: /usr/X11R6/lib/X11/xdm/Xres_wh_0
Xres_wh_0
は whisper
のリソースファイルの名前です。
Xsession
を変更しないでおくこともできます。
Xservers
ファイルの設定はわずかですがとてもよくできています。初期状
態では、コメントされてない1行だけがあるか(Slackware 2.2.0.1 )、
:0 local/usr/X11R6/bin/X
あるいは効果のある何かがあります。これが xdm が呼ばれた時 Linux マシン の X サーバを始動します。この行をコメントにするということは、xdm が呼 ばれた時、Linux マシンで起動する X がないということになります。ローカ ルの Linux X サーバを必要とせず、X 端末 を管理する xdm を持ちたいだけな ら、そのようにする必要があります。この場合、いままでに不具合を見つけら れことはなく、X は Linux マシンでいつでも startx で起動することができ ます。
X 端末が XDMCP を持っていないなら、 X 端末に対して次の1行を追加しな ければいけません。
whisper:0 foreign
XDMCP はたとえば X 端末を彼らのホストと talk させる標準的な方法です。 もし端末が XDMCP を持っているなら、ここに行を入れないで繰り返しをして はいけません。これは XCMCPを知らない X 端末がそこにあると XDM が考える ようにさせ、一方、同時に同じ名前を持つ端末が入るのを試させてしまうでしょ う。このようなことはコントロールに対して戦っている2つの xdm があるよ うにみにくい結果を導きます。
X 端末に対して Xservers
に記述がないなら、xdm-config
登録を使うことができます。すなわち、XDMCP を使う X 端末のために、さらに xdm
のログインプロンプトやその他もカスタマイズすることができます。
再起動のたびに xdm が始動するように、 /etc/rc.d/rc.local
に次の行を
加えることができます。
/usr/bin/X11/xdm
/etc/inittab
で xdm を始動する人もいますが、どのような場合でも、xdm
は Linux マシンの再起動後、プロセッサのリストを表示するはずです。
[ ここは重要です、そしてわれわれはその上で動いているのです。]
ユーザーが Linux マシンから X 端末のスクリーンにアクセスできるのを確 かめるには、Linux マシンで non-root でログインし、次のコマンドを試して ください。
xsetroot -solid white -display whisper:0 &
or
xterm -display whisper:0 &
だれかが X 端末にログインしていて、それを確かめるには xdm にログイン するしかないなら、これを試してください。あなたがどこにいるかによります が、コンソールから X 端末 スクリーンをいっぱいにする能力はバグよりももっ と特徴的かもしれません。