<!doctype linuxdoctr system>
<article>
<title>The X Terminal HOWTO</title>
<author>Scot W. Stevenson, &lt;scot@catzen.gun.de&gt;</author>
<date>v1.0 BETA, July 1995</date>
<trans>中谷千絵, &lt;jeanne@mbox.kyoto-inet.or.jp&gt;
<tdate>v1.0 BETA, Jan 07 1997</tdate>

<![IGNORE[
The X Terminal HOWTO

How to connect an X terminal to a Linux PC
Version 1.0 BETA (July 1995) 
Scot W. Stevenson &lt;scot@catzen.gun.de&gt;

日本語訳：中谷千絵 jeanne@mbox.kyoto-inet.or.jp
1997_01_07
]]>

<abstract>
この文書は Linux PC に X 端末を接続する方法についての簡単に解説した
ものです。X Window システム、TCP/IPアドレス割り当て、イーサネットカード
についての基礎知識を想定しています。
</abstract>


<sect>はじめに
<p>
  この文書が最初のものでベータ版だと考えてください。広範囲なことに触れ
るよりも、これまでにあること、なされたことを多く扱っています。アクセス
の制御機構 (たとえば <tt>xaccess</tt>、<tt>xhost</tt>、 MIT-COOKIES など) 
についての議論や NFS の使用についてはまだ含まれていません。
ほとんどの X 端末は単なる X サーバであるよりも、もっと進歩した特徴を持つ
完全なホストです。このような特色については知られていません。

<sect1>前版からの変更
<p>
( 前版はありませんので、すべてが変更されました。)

<sect1>免責事項
<p>
  著者もこの HOWTO の配付者のいずれも、このテキストで次から述べる
提言で起こる物理的、財政的、あるいは精神的な損害に対してどのような責任
もありません。簡単に言うなら、私はそう言ったけれどね(^_^)!、、、ってこ
となので。

<sect1>著作権
<p>
  Linux Xterminal HOWTO は Scot W. Stevenson に著作権(1955年)がありま
す。Linux の HOWTO 文書は、著作権に関するこのような注意がすべてのコピー
物に付される限りにおいては、どのような物理的あるいは電子的メディアにお
いても、全文あるいは部分的に再発行や配付をしてもかまいません。商用的利
用が許可され推奨されています。しかし、著者はそのような配付物について通
知をされるのを歓迎します。

  どのような Linux HOWTO 文書に関わるすべての翻訳物、派生的な仕事ある
いは統合的な仕事は、著作権に関するこのような注意のもとに保護されなけれ
ばなりません。いいかえるなら、あなたは HOWTO から派生した仕事やその配
付物に制限をつけるようなことはしてはいけません。このような規則の例外は
ある状態のもとで認められるかもしれません。

  手短にいって、できる限り可能な手段を通して、このような情報を普及した
いと願っています。しかし、HOWTO 文書には著作権を保持することを希望し、
そして、HOWTO 文書を再配付するどのような計画をも通知されることを望みま
す。

  質問があれば、Linux HOWTO のコーディネーターである Greg
Hankins(gregh@sunsite.unc.edu) 氏にどうぞ連絡を取ってください。あなた
は電話番号から電話帳をめくって彼の住所を探し、追加で情報を連絡
してもいいでしょう。

<sect1>新バージョンとフィードバック
<p>
  この文書の新しいバージョンは sunsite,unc.edu の
/pub/Linux/docs/HOWTO/ にあります。 FTP を利用できないなら、Bill
Riemers を通じて Linux Help ファイルを入手できるでしょう。さらなる情報
とインデックスファイルの入手のために subeject に help と書いて
bcr@physics.purdue.edu 宛に e-mail を送ってください。

  この文書への追加事項、訂正、あるいはコメントを歓迎します。
scot@catzen.gun.de (Scot W. Stevenson)宛に e-mail を送ってください。あ
なたがすでに、Linux machine に X 端末をリンクする経験をお持ちなら、"こ
の端末でこのマシンで動く"というような何がしかのことだけでも、私はあな
たからの意見をお聞きしたいです。

  次回バージョンに入れるものは、アクセス制御メカニズムと起動に関する 
NFS ファイルシステムの使用です。


<!--##################### section 2 ####################################-->

<sect>予備知識
<p>
  このセクションは X Window システムと、その端末装置論であまり知られて
いないことについて、非常に基本的な情報を提供しています。少な
くとも X と X 端末に多少なりとも経験がある方なら、ほとんど問題な
くこのセクションを通過できるでしょう。

<sect1>X とは何か
<p>
  X Window システム、あるいは正確に X ( X Windows ではありません)とい
うのは、マニュアルページが語っているように、"移植性の高い、ネットワー
ク透過のウィンドウシステム"です。オペレーティングシステムやベンダー、
そしてハードウエアのタイプを問わず、グラフィック環境を提供します。普通、
UNIX と接続する window システムについて言う時は、それらはたいてい X を
意味します。

  X 端末を使おうというわれわれの場合での X の最も重要な特徴は、ユーザー
が(スクリーン、キーボード、マウスなど)接している手もとのハードウエアを
動かすプログラムが、ユーザーが実際に使いたいと思うプログラム(エディタ、
スプレッドシート、DOOM など)から、厳密に分離されていることです。
  X サーバと呼ばれるインターフェースソフトウエアは手もとの１台のマシン
で動かすことができ、同時に X クライアントと呼ばれる実際のプログラムは、
別の場所にある複数のマシンで動かすことができます。更には、複数マシンの 
X クライアントを手元の１つの X サーバで同時に使うことさえ出来ます。 な
お、X の世界では、"サーバ" という言葉と "クライアント"という言葉(*)が、
通常使われている意味とは反対の意味あいで使われているので注意してくださ
い。

＊訳注：ファイルサーバやネットワークサーバなどの、普通よく耳にする
      サーバは離れた所に有るのですが、X では手元で動くのが X サーバ
      です。

  Linuxパッケージ には XFree86 プロジェクトの作成したSVGA Video 用サー
バも、xv や maze そして xterm のようなたくさんの X クライアントも入っ
ています。X に経験がないなら、X 端末に接続を試す前に Linux マシンで X 
の経験を積んだ方がいいでしょう。
   
<sect1>X 端末とは何か
<p>
  X 端末とは、ハードウエアとソフトウエアを組み合わせた X サーバ専門機
で、 X サーバーとは、(X Windowシステムのうちで)ユーザーとのデータをや
りとりを処理する X の一部です。もっとも素朴な形式のものには、X サーバ
用プログラムと通信用ソフトウエアだけが入っています。その場合は、ウイン
ドウマネジャーすら、X 端末とイーサネット(ごくまれにはシリアル回線(**))
で接続された他のホストコンピュータから、 TCP/IP を使って送られてきます。

(**)訳注：Linuxでは、パラレル回線を使ったPLIP接続の場合もあります。

  X 端末のハードウエアは少なくとも(大きな)スクリーン、キーボード、マウ
ス、いくらかの RAM 、そしてイーサネットケーブルのジャックを含んでいま
す。ほとんどの X 端末はハードディスク、フロッピードライブ、その他デー
タをやり取りするための装置は持っていません。このことは X 端末 というの
は ROM (めったにない)にそのオペレーティングシステムを持っているか、あ
るいは接続するネットのホストからそれを得るということを意味します。

  始動時に Linux コンピュータからそのオペレーティングシステムを得るた
めに、X 端末は以下のような手順を踏みます。まず名札として付けられた自分
自身のイーサネットナンバーを使ってネットワークへ助けを求めるメッセージ
を発信します。ネットワーク上の "本物の"コンピュータがそのナンバーと手
もとのナンバーを比較して、一致したものが見つかれば、(bootpd デーモンを
経由して)その番号に割り当てられている IP ナンバーをX 端末に送ります。X 
端末はその IP アドレスを使って、ホストコンピュータのハードディスクから
(通常 tftp経由)そのオペレーティングシステムやその他必要とするデータを
ダウンロードします。

  それゆえに X 端末は実際のところまぬけな召使というよりは、それ自身 IP 
ナンバー、RAM、プログラム、そして独立したハードウエアを持っている十分
に一人前のコンピュータです。X グラフィックスを処理する、という点につい
てはすぐれていますが、その他の点ではあまりいいとは言えません。

<sect1>長所と短所 
<p>
  X 端末は、申し分なく静かで、速く、おとなしいものです。通常は、ファン
もフロッピーディスクもハードディスクもなくて、ノイズもまったくありませ
ん。そして、イーサネットケーブルの数メートルさえあれば、違った部屋にう
るさいコンピュータを置き、机の上に静かな X 端末をおくことができます。X 
端末は X とグラフィックスをつくりあげるので、MS Windows や DOS の X サー
バよりも高速です。
   
  サーバーを一方のマシンに、クライアントを他方のマシンに置くと、プロセッ
サは一度に両方の処理をする必要がなくなります。この負荷分散は速度的には
目立たないかも知れませんが(データをイーサネット経由でやりとりする必要
があるので)、本来ならば X サーバが使うはずの CPU 負荷とメモリの使用量
を Linux マシンから減らすことができます。

  一方のマシンにはイーサネットカードが必要になります。イーサネットカー
ドにはスロットと IRQ が必要です。メーカーに依存しますが、X 端末用のソ
フトウエアは Linux マシンのハードディスクの約20メガバイトを食います。
実際に必要なものがわかれば、多くの不要な部分は削除できます。ほとんどの 
X 端末は、インストールされ動作する booted と tftpd デーモンをホストマ
シンに要求します。両方とも潜在的なセキュリティホールです。さらにバック
グラウンドで動作するデーモンである xdm を使いたくなるでしょう。そうす
ると、大きな X 端末スクリーンが机を占拠することになります。

<sect1>私は何が必要ですか。
<p>
   質問に感謝。
   でももっと適切に言うなら、あなたは何がいりますか？

  まず X 端末が必要です。もしあなたがお金、それもたくさんのお金を持っ
ているなら、出かけて１台買いましょう。Jim Morton &lt;jim@applix.com&gt; は 
X 端末 とその価格のリストを定期的に comp.windows.x に投稿してくれてい
るので参考になるでしょう。あるいは好運が舞い込むかもしれません。古い
X 端末では DOS、 MS-Windows、あるいは OS/2 は使えないので、 x 端末を捨
ててしまうことで問題に対処する会社もあります。

  Linux コンピュータ側で、イーサネットカードが必要でしょう。理論的にシ
リアルラインや SLIP を経由して X 端末を動作させるのは可能ですが、この
方法はあなたがマゾヒスティックでないなら(つまり、この方法だと耐えられ
ないくらい遅いので)お勧めしません。購入方法やイーサネットカードの設定
方法について Paul Gortmaker &lt;Paul.Gortmaker@anu.edu.au&gt; によって維持さ
れている Ethernet-HOWTO をチェックしましょう。SLIP と CSLIP は同文書で
カバーされていますし、これを見たらいいでしょう。最もよいパフォーマンス
を得る情報に関しては、&lt;Greg Hankins &lt;gregh@cc.gatech.edu&gt; による 
Serial-HOWTO を見た方がいいかもしれません。

  また、カーネルに TCP/IP 機能を組みこむことも必要ですし、サーバとなる 
Linux マシンと X 端末に IP アドレスを割りあてることも必要です。
Terry Dawson&lt;terryd@extro.ucc.su.oz.au&gt; による Net-2-HOWTO が参考になる
でしょう。

  最後に、あなたは Linux マシンにインストールされた X を必要とするでしょ
う。理論的にはサーバパッケージを使わずとも、 X クライアントとインストー
ルされた xdm のようなプログラムを持つことができるはずです。しかしそう
するのはさまざまな問題を解決するために苦労するだけの価値はないでしょう。
Helmut Geyer &lt;Helmut.Geyer@iwr.uni-heidelberg.de&gt;による XFree86 HOWTO 
は X を入手し、動かす方法を教えてくれるでしょう。


<!--#################### section 3 #####################################-->

<sect>ケーブル、ネットそしてデーモンについて
<p>
  このセクションでは Linux マシンに接続する X 端末を動かすのに必要なハー
ドウエア、ソフトウエアに対する変更について議論します。以下の例では X 
端末は "whisper" ("ひそひそ話" 音をたてないからです)という名前で、
Linux ホストマシンは "imlinux" (私は Linux だよ)と名づけています。彼ら
はドイツ(.de )の "frog" ドメインの双方です。 IP ナンバーは次のようになっ
ています。

<tscreen><verb>
192.168.13.1   for  imlinux.frog.de ( Linux マシン )
192.168.13.41  for  whisper.frog.de (Linux マシンにリンクした X 端末 )
</verb></tscreen>

  これらは正式なインターネットに接続していないシステムに対してスタンド
アローンの IP ナンバーであることに注意してください。そして私が知ってい
る限りではドイツに frog というドメインはない、ということに注意してくだ
さい。ネット上に他のマシンはなく、NFS はインストールされていないと仮定
しています。

<sect1>物理的接続
<p>
  両方のマシンをケーブルで接続するのはあっけないほど簡単なはずです。２
つのシリアルポートを持っている X 端末もあるので、両方使うなら、ある速
度で動くことができるだけだということにどうぞ注意しておいてください。X 
端末のマニュアルを詳細に検討してください。あとで X 端末のイーサネット
ナンバーが必要になります。たとえまだ接続ができていなくても、X 端末の起
動中に画面に表示されます。

  ケーブルを正しく接続したら、イーサネット接続をテストできます。X 端末
を起動すると、まず、 bootpd や tftpd の呼び出しに反応がなかったとエラー
を出し、その後で、通常は X 端末の ROM の一部であるオペレーティングシス
テムを起動します。このことは、X 端末から Linux マシンにイーサネットを
テストできるように素朴な ping コマンドを持っているはずだということです。
もしうまくいかなくてもちゃんと別の方法があるのでパニックになってはいけ
ません。 たぶん X 端末が応答できるようになるには十分なオペレーティング
システムを必要とします。

<sect1>ネットを設定する
<p>
  基本的に必要な設定については上に述べた Net2-HOWTO で説明されているは
ずです。ここでは、すでに TCP/IP を持ち、そしてちゃんと設定され、動作し
ていると仮定します。X 端末はネット上で他のコンピュータと接続していると
考えられるので、あなたは Linux マシンと X 端末が、それぞれ相手方の IP 
アドレスを知り、そして彼らがネット上にいることを確かめなければなりませ
ん。

<sect2>Linux マシンを設定する
<p>
X 端末に関する情報は少なくとも次に示すファイルに記述されています。

<descrip>
<tag>/etc/hosts</tag>
  次のように X 端末の IP ナンバー書いた行を加えます。

<tscreen><verb>
# /etc/hosts Linux マシンに対する行です。
#                 lprhost とloghost はオプション
192.168.13.1    imlinux imlinux.frog.de lprhost loghost
#  X 端末に対する新しい行は次の通りです。
192.168.13.41   whisper whisper.frog.de
</verb></tscreen>

<tag>/etc/ethers</tag>
  このファイルはイーサネットナンバーと関連するホスト名のリストを揃えます。 
これはすべての配付物とセットアップで必要であるように思え
ないですが、場合によっては X 端末のイーサネットナンバーと
そのホスト名を書き入れなくてはいけないでしょう。
ここでは次のようになっています。

<tscreen><verb>
04:03:e8:cc:0d:24     imlinux
0f:03:11:31:45:f1     whisper 
</verb></tscreen>
(もちろん、イーサネットナンバーはにせもの)

</descrip>

  &lsqb;named、 routed、 gated のようなプログラムを動作させるなら、さらに変
更を必要とします。私は使っていないので、変更しなければならないファイル
があるなら、どなたかが私の書き足りないことを穴うめをしてくださるなら感
謝致します。&rsqb;

  すべての変更がちゃんとできているかを確認するために Linux マシンを再
起動させます。

<sect2>X 端末を設定する
<p>
  編集しなければならないファイルについて、 X 端末のマニュアルをチェックし
てください。私の場合、次のものが登録を変更する必要があった主要な設定ファ
イルでした。

<tscreen><verb>
ip_host_table            192.168.13.1    imlinux
ip_host_table            192.168.13.1    imlinux.frog.de
ip_host_table            192.168.13.41   whisper
ip_host_table            192.168.13.41   whisper.frog.de

file_access_1            TFTP
file_host_name_1         imlinux.frog.de
file_path_1              /usr/local/xterm/liveshere

display_access_table     whisper
display_access_table     imlinux
enable_access_control    YES

xdmcp_server             imlinux
broadcast_address        192.168.13.255
default_telnet_host      imlinux
</verb></tscreen>

  X 端末はディレクトリ <tt>/usr/local/xterm/liveshere</tt> から tftp 経由で
ファイル類を選びだし、端末は XDMCP( xdm の設定にとって重要) を動作させること
ができるのに注意してください。

  また、フォントのようなものに対して別の設定ファイルがあります。あなた
はすでに Linux にインストールされたフォントを使えるようにできているは
ずです。私の場合、フォントに対するファイル( <tt>font.tbl</tt>)は、同じ効果に対
して２、３行からなっていて次に示したものと似たものになっているでしょう。

<tscreen><verb>
/usr/lib/X11/fonts/75dpi
/usr/lib/X11/fonts/100dpi
...
/usr/local/xterm/misc
/usr/local/xterm/openlook
</verb></tscreen>

のちほど、X 端末が Linux マシンを起動する時、首尾よくロードしたファイ
ルのリストを表示するはずです。

  もうひとつ、X 端末で「バッキング・ストア」、すなわち、他のウィンドウ
によって隠れている部分が(サーバーとなる)Linux の RAM に保存されるので
はなく、X 端末の RAM に保存されるような設定にしたくなるでしょう。さら
なる情報については X 端末のマニュアルを調べて下さい。

<sect1>bootpd
<p>
  bootpd は起動時に X 端末の助けの呼び声を聞くデーモンで、X 端末にそれ
が誰であり、ダウンロードしたいソフトウエアをどこで見つけることができる
かを効果的に返答します。ある理由があって bootpd は新しい配付物、とりわ
けSlackware 2.2.0.1 には含まれていません。FTP経由で、あるいは他のとこ
ろからそれを得なければならないということです。それから、 <tt>/usr/sbin/</tt>
(マニュアルではそうなっているようですが、<tt>/etc</tt> ではなく)に、
<tt>in.bootedpd</tt> を置きます。

 <tt>/etc/inetd.conf</tt> に次の行を加えるか、あるいはコメントアウトします。

<tscreen><verb>
bootps dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.bootpd 
</verb></tscreen>

これは boot request が見つかれば、inetd が bootpd を起動するのを確実に
します。

  bootpd に対する設定ファイルは <tt>/etc/bootpd</tt> です。シンタックスは man 
ページで説明されています。われれれの例では、<tt>/etc/bootpd</tt> ファイルはこの
ようになります("サーバ"という言葉がここでは再び従来の意味で使われてい
ます)。

<tscreen><verb>
# Sample /etc/bootpd file
# First, global entry for stuff every host uses
allhost:hd=/usr/local/xterm/liveshere:\ # Home directory XT software
      :ds=192.168.13.1:\                # Domain name server (imlinx)
      :sm=255.255.255.0:\               # Subnet mask
      :gw=192.168.13.1:\                # Gateways
      :ts=192.168.13.1:\                # Time Servers
      :lp=192.168.13.1:\                # lpr Servers
      :to=-7200:                        # Time Offset in seconds
# Next, individual entries of every single host. Futher XTs would
# have their own entry
whisper:ht=ethernet:\         # Type of hardware link
       :ha=0f03113145f1:\     # Ethernet number of X terminal
       :ip=192.168.13.41:\    # IP number of X terminal (whisper)
       :tc=allhost:\          # Template for standard options as above
       :bf=xtermOS:           # Boot file name - the X terminal's OS
</verb></tscreen>

  X 端末のオペレーティングシステムの名前は hd (ホームディレクトリ)登録の
一部として含まれていないかもしれません。われわれの例では、オペレーティ
ングシステムとして取り込むのは 
<tt>/usr/local/xterm/liveshere/xtermOS</tt> というファイルですが、その hd の
登録は <tt>/usr/local/xterm/liveshere</tt> です。
この例で、X 端末が OS として取り込むファイルは、
<tt>/usr/local/xterm/liveshere/xtermOS</tt> ですが、そのホームディレクトリは 
<tt>/usr/local/xterm/liveshere</tt> です。

  bootpd は <tt>/var/adm/syslog</tt> と <tt>/var/adm/messages</tt> 
の両方に情報を書き出します。それはちゃんと起動すれば、
次のように確認できるはずです。

<tscreen><verb>
Jul 17 05:19:42 imlinux in.bootpd&lsqb;110&rsqb;: connect from 0.0.0.0
Jul 17 05:19:42 imlinux bootpd&lsqb;110&rsqb;: reading "/etc/bootptab"
Jul 17 05:19:42 imlinux bootpd&lsqb;110&rsqb;: read 2 entries from "/etc/bootptab"
Jul 17 05:19:43 imlinux bootpd&lsqb;110&rsqb;: request from hardware address 0F03113145F1 Type 1
Jul 17 05:19:43 imlinux bootpd&lsqb;110&rsqb;: found 192.168.13.41 whisper
</verb></tscreen>

X 端末を起動するのを援助した後、bootpd は１５分ほど待機します。
それからそれ以上なすべき仕事がないなら自分自身を削除します。

<sect1>tftpd
<p>
  tftp (Trivial File Transfer Program)は、Linux のハードディスクからそ
のオペレーティングシステムをロードするために X 端末によって使われます。
tftpd はすべての Linux 配付物に含まれているはずですが、設定ファイルを
持っていません。コマンドシェルから tftp と入力することで tftp をテスト
できます。

  bootpd での場合と同様、<tt>/etc/inetd.conf</tt> に次の行を入れるか、あるいは
コメントアウトしなければいけません。

<tscreen><verb>
tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd 
</verb></tscreen>

  tftp は全ユーザーに読みだし許可があるファイルにだけアクセスできるこ
とに注意しましょう。また、tftp はあなたが覚えておかなくてはいけない潜
在的なセキュリティホールであり、 ある種の Linux パッケージに含まれる 
tftp のバージョンはより安全な使用に対して <tt>-r</tt> (あるいは <tt>-s</tt> ) 
フラグを含んでいません。

  また tftp は <tt>/var/adm/messages</tt> に記録を書き出します。bootpd が首尾よ
くその仕事をしているなら、かなり長い間、次の行に似たようなものが記録さ
れるはずです。

<tscreen><verb>
Jul 17 05:19:43 imlinux in.tftpd&lsqb;111&rsqb;: connect from whisper
Jul 17 05:19:58 imlinux in.tftpd&lsqb;113&rsqb;: connect from whisper
Jul 17 05:19:59 imlinux in.tftpd&lsqb;115&rsqb;: connect from whisper
Jul 17 05:20:00 imlinux in.tftpd&lsqb;117&rsqb;: connect from whisper
Jul 17 05:20:03 imlinux in.tftpd&lsqb;125&rsqb;: connect from whisper
Jul 17 05:20:05 imlinux in.tftpd&lsqb;127&rsqb;: connect from whisper
</verb></tscreen>

これらは X 端末が Linux コンピュータのホームディレクトリに要求している
ファイルです。あなたはこのような移転が起こっている間 X 端末のスクリー
ン上でメッセージを見るでしょう。

<sect1>リンクをテストする
<p>
  上に述べたフィル類を一度修正すれば、 X 端末を起動することができるは
ずです。製造者に依存するので、X 端末のスクリーンのいくぶん冗長なメッセー
ジは何が起こっているかを教えてくれるでしょう。見つからないファイルにつ
いてメッセージを注意してみましょう。

  すべてがうまくいけば、X 端末は X 自身のバージョンを表示できる段階に
進むはずです。モノクロの背景と X カーソルを表示する段階です。すでに 
Linux マシンで xdm を動作させているなら、いくつかの定義がまだ正しい場
所にないので、少し混乱するかもしれませんが、xdm ログインプロンプトを出
すかもしれません。最後の手段として、Linux マシンからルートで xdm を中
断する準備をしなさい。

  たいていの X 端末は起動オペレーティングシステムの一部として telnet 
クライアントに似た機能を内蔵しています。Linux コンピュータに telnet す
ることでさらにリンクをテストできます。
 
  この時点で、アクセスがどのように成立するかに依存するので、X 端末でディ
スプレイオプションを使って X プログラムを起動することができます。Linux 
コンピュータから、次のように試します。

<tscreen><verb>
xclock -display whisper:0 &amp;
</verb></tscreen>

このコマンドは X 端末上に xlock を表示します。このような方法で fvwm のよう
なウインドウマネジャーさえ起動させることができます。


<!--####################### section 4 ##################################-->

<sect>X の動作  
<p>
  このセクションは xdm の設定を扱います。そうすれば X 端末でログインプ
ロンプトが利用でき、ユーザーがログアウトすると復帰します。xdm プログラ
ムは、通常の端末にとってログインプログラムの(とても)素朴なものに相当す
るディスプレイマネジャーです。 すべての Linux の X パッケージに含まれ
ています。

<sect1>xdm の設定
<p>
  xdm の設定ファイルは <tt>/usr/X11R6/lib/X11/xdm</tt> 
(<tt>/usr/X11R6</tt> は <tt>/usr/X11</tt> にリンクされているかもしれません) 
にあります。おもな設定ファイルは <tt>xdm-config</tt> です。
数あるファイルのなかからこれを見つけたなら、
すでに次のような行が見つかるはずです。

<tscreen><verb>
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
</verb></tscreen>

これらは Linux マシンで X が動作する時に、スクリーンをコントロールする
ファイル類です。 X 端末に対して、同様な形の４行を加えます。

<tscreen><verb>
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
</verb></tscreen>

 <tt>_0</tt> が <tt>:0.</tt> になるように、<tt>whisper_0</tt> は 
<tt>whisper:0</tt> に対する xdm 表記であることに注意してください。
また、<tt>GiveConsole</tt> は <tt>Xstartup</tt> で置きかえられていることにも
注意してください。私の場合、それがダミーファイルになり、また、<tt>Xreset</tt> 
に対して <tt>TakeComsole</tt> がダミーファイルになります。オリジナ
ルのファイルは両方とも Linux マシンで X が動作する時、コンソールの所有
者を制御しますから、ちょうど X 端末が動作しているからといって 
Linux コンソールの周囲でじゃまをする理由はありません。

  セットアップファイルはログインプロンプトがスクリーンに置かれる前にプ
ログラムを動作させます。これがバックグラウンドで画像を持っている xv や
あるいは似たようなプログラムを使用するための場所です。あなたは 
<tt>Xsetup_whisper</tt> に与えられた <tt>Xsetup_0</tt> を簡単にコピーできる
はずです。

&lsqb; この質問はたびたびあるのですが、ルートウインドウに画像を置く一つの方
法は、

<tscreen><verb>
nice xv -root -quit -rmode 5 &lt;picture_file&gt; &amp;
</verb></tscreen>

このような行を置くか、セットアップファイルにそのように置くことです。そ
うすれば画像ファイルは xdm ログインプロンプトで、ルートウインドウに表
示されます。ファイルがあんまりに大きいか、複雑すぎるとエラーメッセージ
を出す X 端末もあることに注意してください。&rsqb;

  <tt>Xaccess</tt> はマシンにアクセスできる人をコントロールします。デフォルトの
設定をそのまま使うことができるでしょう。<tt>Xaccess</tt> は <tt>chooser</tt> 
を使うことでユーザーを選択できるようにします。その場合、あなたは X 端末 を
サービスできるネット上で違ったマシンを持つことに注意してください。

  <tt>Xsources</tt> はログインプロンプトの形とサイズをコントロールします。X 端
末と Linux マシンとで違った表示にしたいなら、次の行を２行におきかえま
す。

<tscreen><verb>
DisplayManager*resources:       /usr/X11R6/lib/X11/xdm/Xresources
</verb></tscreen>

    このように２行にします。

<tscreen><verb>
DisplayManager._0.resources:        /usr/X11R6/lib/X11/xdm/Xres_0
DisplayManager.whisper_0.resources: /usr/X11R6/lib/X11/xdm/Xres_wh_0
</verb></tscreen>

      <tt>Xres_wh_0</tt> は <tt>whisper</tt> のリソースファイルの名前です。

      <tt>Xsession</tt> を変更しないでおくこともできます。

  <tt>Xservers</tt> ファイルの設定はわずかですがとてもよくできています。初期状
態では、コメントされてない１行だけがあるか(Slackware 2.2.0.1 )、

<tscreen><verb>
:0 local/usr/X11R6/bin/X 
</verb></tscreen>

あるいは効果のある何かがあります。これが xdm が呼ばれた時 Linux マシン
の X サーバを始動します。この行をコメントにするということは、xdm が呼
ばれた時、Linux マシンで起動する X がないということになります。ローカ
ルの Linux X サーバを必要とせず、X 端末 を管理する xdm を持ちたいだけな
ら、そのようにする必要があります。この場合、いままでに不具合を見つけら
れことはなく、X は Linux マシンでいつでも startx で起動することができ
ます。

  X 端末が XDMCP を持っていないなら、 X 端末に対して次の１行を追加しな
ければいけません。

<tscreen><verb>
whisper:0 foreign
</verb></tscreen>

XDMCP はたとえば X 端末を彼らのホストと talk させる標準的な方法です。
もし端末が XDMCP を持っているなら、ここに行を入れないで繰り返しをして
はいけません。これは XCMCPを知らない X 端末がそこにあると XDM が考える
ようにさせ、一方、同時に同じ名前を持つ端末が入るのを試させてしまうでしょ
う。このようなことはコントロールに対して戦っている２つの xdm があるよ
うにみにくい結果を導きます。

   X 端末に対して <tt>Xservers</tt> に記述がないなら、<tt>xdm-config</tt> 
登録を使うことができます。すなわち、XDMCP を使う X 端末のために、さらに xdm 
のログインプロンプトやその他もカスタマイズすることができます。

  再起動のたびに xdm が始動するように、 <tt>/etc/rc.d/rc.local</tt> に次の行を
加えることができます。

<tscreen><verb>
/usr/bin/X11/xdm
</verb></tscreen>

 <tt>/etc/inittab</tt> で xdm を始動する人もいますが、どのような場合でも、xdm 
は Linux マシンの再起動後、プロセッサのリストを表示するはずです。

<sect1>アクセスについての質問
<p>
&lsqb;  ここは重要です、そしてわれわれはその上で動いているのです。&rsqb;

  ユーザーが Linux マシンから X 端末のスクリーンにアクセスできるのを確
かめるには、Linux マシンで non-root でログインし、次のコマンドを試して
ください。

<tscreen><verb>
xsetroot -solid white -display whisper:0 &amp;
    or 
xterm -display whisper:0 &amp;
</verb></tscreen>

  だれかが X 端末にログインしていて、それを確かめるには xdm にログイン
するしかないなら、これを試してください。あなたがどこにいるかによります
が、コンソールから X 端末 スクリーンをいっぱいにする能力はバグよりももっ
と特徴的かもしれません。

<sect>エラー、わからないこと、そして謝辞
<p>
<sect1>既知の問題点
<p>
  これらは、指摘されてきた問題でもありますが、同様に問題を考えられるか
もしれない興味深いことでもあります。もしあなたが興味を持っておられるな
ら、あるいは解決したなら、どうぞ私に教えてください。

<descrip>
<tag>talk</tag>
  双方向のチャットは X 端末のユーザーが Linux マシンのユーザーと話合いを
開始すればできますが、他の方法ではうまくいきません。私はこれをうまくや
る方法を読んだのは確かですが忘れています。

<tag>who</tag>
  X 端末を経由してログインしたユーザーは、たとえ X 端末自身からコマン
ドが送られても、who コマンドで出力されません。これはたぶん talk は 
Linux マシン( X 端末での場合です。あなたは誰の存在もわからないでしょう)
からはじまった時は失敗するためです。

<tag>xlock</tag>
  xlock のノーマルな呼び出しは X 端末スクリーンが捕らえることができな
い結果にメッセージを出すだけでしょう。 -remote オプションは端末をロッ
クする許可をするために、 xlock 呼び出しに含まれなければなりません。
xlock モードは、他のものより、より多くの資源を消費するものもあります。
Qix は他のものよりも X 端末にとってより適当だと思われます。 詳細につい
ては Art Mulder(後述) による FAQ を調べてください。

<tag>xv</tag>
   大きい、あるいは複雑なカラーの背景画像を扱うことができるほ
ど十分なビデオメモリを持っていない X 端末もあります。古い画像
(`xsetroot' あるいはそれに似たもの)を削除しましょう、そして 
ルートで xv ウインドウを動かす前にスクリーンをリフレッシュしましょう。

</descrip>

<sect1>テストされた端末について
<p>
  このテキストに記述された方法は、今のところ、Slackware 2.2.0.1 からの 
Linux 1.2.3 と XFree86 Version 3.1.1 を動作させている 386DX-33MHz
16Mbyte RAM と接続した Tektronix XP23 できちんとテストされたものだけ
です。

<sect1>もっと知るために
<p>
 X についてのさらなる情報は次のように、ネットで見つけることができるで
しょう。David B. Lewis &lt;dbl@ics.com&gt; は comp.windows.x、 news.answers 
そして comp.answers に定期的に、詳細で費用のかかった Comp.windows.x
Frequently Asked Questions (FAQ) を投稿しています。この文書はまた X に
ついてのさらなる情報をどこで入手するかについての記載も含まれています。

Steve Kotsopoulos &lt;steve@ecf.toronto.edu&gt; は同じグループにリスト され
ている X on Intel-based Unix Frequently Asked Questions (FAQ) を投稿し
ています。

Art Mulder &lt;art@cs.ualberta.ca&gt; は、これらのグループに常時投稿されてい
る X FAQ をさらによいものを得るために、Comp.windows.x を維持しています。
X のもとで Linux に役立つヒントも含まれています。

<sect1>謝辞
<p>
  最初に Linus B. Torvalds&lt;torvalds@kruuna.helsinki.fi&gt; にいつも感謝。
さらにこの HOWTO を可能にしてくれた Klaus ter Fehn &lt;ktf@bc3.gun.de&gt;に、 
そして、この文書を利用できるようにしてくれた Douglas K. Stevenson
&lt;duck@catzen.gun.de&gt; に感謝します。


<sect>日本語訳について
<p>
日本語訳について JF Project の次の方々に校正をして頂き、
多くの助言を頂きました。ありがとうございます。

<tscreen><verb>
こじまさん KOJIMA Mitsuhiro &lt;kojima@criepi.denken.or.jp&gt;
いとうさん Nozomi Ytow &lt;nozomi@biol.tsukuba.ac.jp&gt;
なかごめさん NAKAGOME Tomoyuki &lt;nakagome@ines.co.jp&gt;
吉山さん yosshy@jedi.seg.kobe-u.ac.jp (Akira Yoshiyama)
山崎さん "Y. Hiro Yamazaki" &lt;hiro@koneeko.linux.or.jp&gt;
</verb></tscreen>

日本語訳についての問い合わせは

<verb>
中谷千絵 jeanne@mbox.kyoto-inet.or.jp
</verb>
1997/01/07

</article>
