Provided by: xmanpages-ja_4.1.0.20011224-6_all bug

名前

       xdm - X ディスプレイマネージャ (XDMCP, ホスト選択機能付き)

書式

       xdm  [  -config  configuration_file  ]  [  -nodaemon  ]  [  -debug  debug_level ] [ -error
       error_log_file ] [  -resources  resource_file  ]  [  -server  server_entry  ]  [  -session
       session_program ]

説明

       xdm  はローカルホストやリモートホストにある  X のいろいろなディスプレイの集 合を管理する。
       xdm の設計は、X 端末の必要性と The Open Group 標準の  XDMCP  (X  Display  Manager  Control
       Protocol)に則って行われた。  xdm はキャラクタ端末上で init, gettylogin が行なうこ とと
       同じこと、つまりログイン名とパスワードのプロンプトを出してユーザ認    証を行い、「セッショ
       ン」を起動する。

       「セッション」は伝統的な文字ベースの端末の世界では特定のプロセスの  存続期間として定義され
       る。この特定のプロセスとはユーザのログインシェル である。  xdm  環境では任意のセッションマ
       ネージャが利用できる。なぜなら、ウィンドウ環  境にあるため、ユーザのログインシェルプロセス
       は接続を行うための端末のよ うなインタフェースを必要としないからである。 本当のセッションマ
       ネージャが使えない時は、普通ウィンドウマネージャか端    末エミュレータを「セッションマネー
       ジャ」として用いる。このセッションマ  ネージャのプロセスが終了するとユーザのセッションが終
       了する。

       セッションが終了する時、  xdm は X サーバをリセットして(指定によっ ては)すべてのプロセスを
       再起動する。

       xdm が XDMCP 経由で  Indirect  の問い合わせを受け取ったとき、  xdm  はディスプレイのために
       chooser   プロセスを起動して   XDMCP  BroadcastQuery(または指定されたホストに対する  XDMCP
       Query)を実行 する。そして、XDMCP  によってディスプレイ管理ができるホスト一覧を提供す  る。
       この機能は、ホスト一覧を与えることができない X 端末を使う際に便利であ る。

       xdm  は選択されたホストからの  BroadcastQuery  メッセージを無視するように設定 できる。これ
       は、このホストを chooser または X 端末が生成するリストに出したくない場合に便利である。

       xdm は最初にユーザが触れるインタフェースを提供するので、簡単に利用でき、個  別のサイトの要
       望に合わせて簡単にカスタマイズできるようになっている。  xdm は多くのオプションがあり、その
       ほとんどは適切なデフォルト値になっている。  このマニュアルの多くのセクションを調べて、変更
       したい部分を選択すること。 セッションのスタイルの設定について説明している セッションプログ
       ラム セクションには特に注意すること。

概要

       xdm は細かく設定が変えられ、ほとんどの挙動はリソースファイルとシェ  ルスクリプトで制御可能
       である。これらのファイル名は、xdm-config ファイルまたは -config オプションで指定したファイ
       ルからリソース として読み込む。

       xdm  でディスプレイを管理するには2つの異なる方法がある。ローカル  マシンで動作するサーバを
       Xservers に指定する方法と、リモートの X サーバ(通常は X 端末)を Xaccess ファイルで指定して
       XDMCP(XDM 制 御プロトコル)を使う方法である。

       ユーザのセッション外でxdm が実行する X クライアント(これは xdm 自身のログイン画面を含む)の
       リソースは Xresources ファ イルで設定することができる。

       ディスプレイ管理を得るためのホスト一覧を与えない X 端末に対しては、 xdm は自発的に動作する
       ホストを集め、ユーザに一覧を提供するために chooser  プログラムを実行する。ホストに接続して
       いる  X  ディスプレ イに対しては通常このような手順は行われず、ローカルホストがディスプレイ
       管理を行う。

       X サーバをリセットした後、xdmXsetup スクリプトを実行し て、ユーザが xlogin  ウィジェッ
       トで見るスクリーンの設定を補助する。

       xdm  が提供する xlogin ウィジェットは、よくあるタイプのログ インとパスワードプロンプトであ
       る。

       ユーザがログインした後で、xdmXstartup スクリプトを ルート権限で実行する。

       それから xdmXsession スクリプトをユーザ権限で実行する。 このシステムセッションファイル
       は追加の開始処理をいくつか行い、通常はユー ザのホームディレクトリの .xsession を実行する。
       Xsession スクリプトが終了するとセッションは終了する。

       セッションの最後には、終了処理を行う Xreset  スクリプトが実行され、  X  サーバがリセットさ
       れ、サイクルの最初に戻る。

       xdmXsetup,  Xstartup,  Xsession,  Xreset が標準エラー出力に送っ たエラーメッセエージ
       は、/usr/X11R6/lib/X11/xdm/xdm-errors ファイ ルに格納される。 xdm の実行中に問題が発生した
       場合には、このファイルを見て、 xdm が問題解決の手がかりを示しているかどうか調べること。

オプション

       -config  オプション自身を除くすべてのオプションは、リソースとして 設定ファイルでも指定でき
       る。

       -config configuration_file
              設定ファイルの名前。これは         xdm         の挙動を制御するリソースを指定する。
              <XRoot>/lib/X11/xdm/xdm-config  がデフォルト値である。 設定ファイルのセクションを参
              照すること。

       -nodaemon
              DisplayManager.daemonMode リソースを ``false'' にすることと同じ である。 xdm に一般
              のデーモンの挙動をさせない。デーモンの挙動とは、 ファイルデスクリプタを全て閉じ、自
              分自身を制御端末から切り放し、 さらに起動時に自分自身をバックグラウンドで動作させる
              ことである。

       -debug debug_level
              DisplayManager.debugLevel  リソースに数値を指定する。ゼロでない数  値を指定すると、
              xdm                  は多量のデバッグ情報を端末に表示させる。このオプションはまた、
              DisplayManager.daemonMode リソースを無効にし、 xdm を強制的に同期動作させる。デバッ
              グメッセージを解釈するには、 xdm のソースファイルが必要であろう。出力情報の合理化や
              標準化を行う予定はな い。

       -error error_log_file
              DisplayManager.errorLogFile  リソースの値を指定する。 このファイルには xdm が出力し
              たエラーや、セッション中に実行された様々なスクリプトやプログラ ムが標準エラー出力に
              書き出したエラーが記録されている。

       -resources resource_file
              DisplayManager*resources  リソースにファイル名を設定する。このファ  イルは  xrdb を
              使ってロードされ、認証ウィジェット用の設定パラメータを指定に使われる。

       -server server_entry
              DisplayManager.servers リソースに値を設定する。 このリソースの説明は ローカルサーバ
              指定 セクションを参照すること。

       -udpPort port_number
              DisplayManager.requestPort リソースに値を設定する。 このリソースは XDMCP リクエスト
              に使う xdm のポート番号を設定する。XDMCP はよく知られた登録済みの UDP ポート 177 番
              を使うので、デバッグ目的以外ではこのリソースを変更すべきでない。  このリソースに  0
              を設定すると、xdm は XDMCP リクエストも Chooser リクエストも監視しない。

       -session session_program
              DisplayManager*session リソースに値を設定する。  ユーザがログインした後にセッション
              として動作させたいプログラムを指定す る。

       -xrm resource_specification
              ほとんどの X ツールキットアプリケーションのように、任意のリソースを指 定できる。

リソース

       xdm  の動作は設定ファイルを使って制御することはいろいろな段階で可能である。 この設定ファイ
       ルは X リソースフォーマットで書かれる。 リソースには全てのディスプレイ上での xdm  の挙動を
       変えるものもあるし、1つのディスプレイだけの動作を変えるもの  もある。 特定のディスプレイの
       動作に限定するには、``DisplayManager'' と 最後のリソース名の間にディスプレイ名を挿入するこ
       と。

       ローカルディスプレイの場合は、リソース名とクラスは Xservers ファ イルから読み込まれる。

       リモートディスプレイの場合は、リソース名はディスプレイのアドレスを解決        したものであ
       る。removeDomain リソースを参照すること。名前は完全 に一致しなければならない。xdm は指定さ
       れたディスプレイを示すネッ トワーク上の別名が全てわかるわけではない。 名前の解決に失敗した
       場合は、名前ではなくアドレスを使用すること。リソー       スクラスはディスプレイによりXDMCP
       Manage リクエストで送られる。

       リソースマネージャはリソース名とその値を区切るためにコロンを使い、リソー  ス名の部分を区切
       るためにドットを使うので、 xdm がリソース名を生成するときにはドットとコロンは下線(アンダス
       コア)に置き  換えられる。 例えば、起動シェルスクリプトが ``expo.x.org:0'' をディスプレイに
       定義して いるときは DisplayManager.expo_x_org_0.startup がリソース名とな る。

       DisplayManager.servers
              このリソースは、全てのサーバエントリのファイル名を行ごとに1つずつ指定 するか(値が /
              から始まる場合)、1つのサーバエントリを指定する。 詳細はローカルサーバ指定のセクショ
              ンを参照すること。

       DisplayManager.requestPort
              このオプションは xdm が XDMCP リクエストを待つ UDP ポート番号を指定する。システムを
              デバッグ する必要がなければデフォルト値の 177 のままにしておくこと。

       DisplayManager.errorLogFile
              エラー出力は通常システムコンソールに出力される。エラー出力をリダイレクト するにはこ
              のリソースにファイル名を設定すること。  syslog   をサポートしているシステムに対して
              は、 これらのメッセージを syslog に送る方法が開発されるべきである。しかし、色々なイ
              ンタフェースを持つよ うにすると、システムに依存しない実装ができなくなってしまう。こ
              のファイ  ルは Xsetup, Xstartup, Xsession, Xreset ファイルによる標準 エラー出力への
              出力も含まれる。したがって、このファイルにはこれらのスク リプトが起こした問題も記述
              されている。

       DisplayManager.debugLevel
              このリソースの整数値がゼロより大きい場合、出力するデバッグ情報の範囲が 大きくなる。
              このオプションはデーモンモードも無効にする。デーモンモードでは、 bit-bucket  に情報
              がリダイレクトされ、ルート以外のユーザも xdm を実行できるようになるが、あまり役には
              立たない。 【訳注:bit-bucket - /dev/null でしょう】

       DisplayManager.daemonMode
              通常、 xdm はどの端末とも関係がないデーモンプロセスとして動作しようとする。  これは
              fork  を行って親の方のプロセスを終了させ、そしてファイルデスクリ プタを閉じ、制御し
              ている端末を解放することによって実現される。環境によっ     てはこの動作は必要ではな
              い(特にデバッグするとき)。このリソースを  ``false''  に設定するとこの機能は無効とな
              る。

       DisplayManager.pidFile
              指定されたファイル名が生成され、その内容が メインの xdm のプロセス ID の ASCII 表現
              となる。

              xdm はこのファイルのロックを行い、重複してデーモンが同じマシンで起動して混 乱が起き
              ないようにする。

       DisplayManager.lockPidFile
              このリソースは、複数のディスプレイマネージャが暴走しないように xdm がファイルのロッ
              キングを行うかどうか制御する。 System V では、このリソースは lockf ライブラリコール
              を使い、BSD では flock を使う。

       DisplayManager.authDir
              これは  xdm  がセッションを初期化する時の認証ファイルを格納するディレクトリを指す。
              デフォルト値は     <XRoot>/lib/X11/xdm     である。    特定のディスプレイに対しては
              DisplayManager.DISPLAY.authFile で 上書きすることができる。

       DisplayManager.autoRescan
              この真偽値は xdm が終わってファイルが変更された後に、構成情報、サーバ、アクセス制御
              と認  証キーファイルを再読み込みするかどうか制御する。デフォルト値は  ``true'' であ
              る。 メインプロセスに SIGHUP を送ることによって、 xdm  にこれらのファイルを再度読み
              込ませることができる。

       DisplayManager.removeDomainname
              XDMCP クライアント用のディスプレイ名を計算するとき、その名前解決では完 全に選択され
              たホスト名が生成される。これは時々紛らわしいことがあるので、 この変数がセットされた
              場合、ローカルホストのドメイン名と同じならば xdm はホスト名からドメイン名部分を取り
              除く。デフォルトではこの値は ``true'' である。

       DisplayManager.keyFile
              XDM-AUTHENTICATION-1 型の XDMCP 認証はプライベートキーの xdm と端末における共有を必
              要とする。このリソースはこの値を持つファイルを指       定する。このファイルの各項目
              は、ディスプレイ名と共有されるキーからなる。   デフォルトでは、   xdm    は    XDM-
              AUTHENTICATION-1  をサポートしていない。その理由は、この認証はア メリカ合衆国の輸出
              制限のため一般に配布できない DES を必要とするためで ある。

       DisplayManager.accessFile
              許可されていない XDMCP を防ぎ、XDMCP の IndirectQuery リクエストを転送 できるように
              するため、このファイルは、このマシンへの直接アクセスが許さ れているホスト名のデータ
              ベースまたは問い合わせが転送されるべきホストの   リストを持っている。このファイルの
              フォーマットは XDMCP アクセス制御 のセクションで述べる。

       DisplayManager.exportList
              Xsetup, Xstartup, Xsession, and Xreset プログラムに渡す追加の環境変数のリスト。リス
              トは空白で区切られる。

       DisplayManager.randomFile
              認証キーの種を生成するチェックサムのファイル。 このファイルは頻繁に内容が変わるもの
              でなければならない。 デフォルト値は /dev/mem である。

       DisplayManager.greeterLib
              動的にロード可能なグリーティングライブラリをサポートしているシステムで、 ライブラリ
              の名前を指定する。デフォルト値は <XRoot>/lib/X11/xdm/libXdmGreet.so である。

       DisplayManager.choiceTimeout
              ユーザが chooser からホスト名を選択した後に、ディスプレイの応答を待つ  秒数。ディス
              プレイがこの間に XDMCP の IndirectQuery を送ると、このリク エストは選択されたホスト
              に送られる。そうでない場合には、これは新しいセッ ションから送られたものとして処理さ
              れ、再び chooser が表示される。 デフォルト値は15秒である。

       DisplayManager.sourceAddress
              マルチホームのホストでの接続を受けるときに、ホスト名を使わずに数値の  IP アドレスを
              使用する。これは接続時にダウンするような不正なインターフェー スでの接続の試みを回避
              する。

       DisplayManager.willing
              このリソースは、XDMCP の BroadcastQuery を受信した時に root 権限で実行 されるプログ
              ラムを指定し、このホストはXDMCP のディスプレイ管理を提供す るように設定される。この
              プログラムの出力は  chooser のウィンドウに表示 される。プログラムが指定されていない
              場合は、文字列 Willing to manage が送られる。

       DisplayManager.DISPLAY.resources
              このリソースは xrdb がディスプレイのスクリーン  0  のルートウィン  ドウ上のリソース
              データベースとして読み込むファイルの名前を指定する。  Xsetup プログラム、Login ウィ
              ジェットと chooser はこのファ  イルのリソースセットを使用する。  このリソースデータ
              ベースは認証手続きの直前に読み込まれるので、ログイン ウィンドウの外観を制御すること
              ができる。このファイルに記述することが適 切である様々なリソースについて説明している
              認証ウィジェット  セクションを参照してすること。 このリソースにはデフォルト値はない
              が、慣習的に <XRoot>/lib/X11/xdm/Xresources という名前が使われている。

       DisplayManager.DISPLAY.chooser
              特別なホスト名である CHOOSER にリダイレクトされる間接問い合わせ (Indirect  query)に
              対するホストメニューを与えるために実行するプログラム                   を指定する。
              <XRoot>/lib/X11/xdm/chooser がデフォルト値である。 XDMCP アクセス制御Chooser の
              セクションを参照すること。

       DisplayManager.DISPLAY.xrdb
              リソースを読み込むために使うプログラムを指定する。デフォルトでは       xdm<XRoot>/bin/xrdb を使用する。

       DisplayManager.DISPLAY.cpp
              xrdb が使用する C プリプロセッサの名前を指定する。

       DisplayManager.DISPLAY.setup
              Login ウィンドウを出す前に (root として) 実行するプログラムを指定する。  これを使っ
              て、Login   ウィンドウの周りのスクリーンの外観を変えることや、   他のウィンドウを出
              す(例えば、ここで xconsole を実行できる)ことが できる。  デフォルトでは、プログラム
              は実行されない。ここで慣習的に使われている名  前は Xsetup である。 プログラムのセッ
              トアップ のセクションを参照すること。

       DisplayManager.DISPLAY.startup
              これは認証手続きが成功した後に(root として)実行するプログラムを指定す  る。デフォル
              トでは、プログラムは実行されない。ここで慣習的に使われてい  る名前は  Xstartup であ
              る。 プログラムの起動のセクションを参照すること。

       DisplayManager.DISPLAY.session
              これはセッションが(root  以外の権限で)実行するプログラムを指定する。   デフォルトで
              は、<XRoot>/bin/xterm  が実行される。 慣習的に使われる名前は Xsession である。 セッ
              ションプログラム のセクションを参照すること。

       DisplayManager.DISPLAY.reset
              これはセッションが終了した後に(root として)実行するプログラムを指定す  る。デフォル
              トでは、プログラムは実行されない。慣習的に使われる名前は Xreset である。 プログラム
              のリセット のセクションを参照すること。

       DisplayManager.DISPLAY.openDelay

       DisplayManager.DISPLAY.openRepeat

       DisplayManager.DISPLAY.openTimeout

       DisplayManager.DISPLAY.startAttempts
              これらの数値リソースは非妥協的なサーバをオープンするときの    xdm    の挙動を制御す
              る。openDelay     は継続的な試行の間の間隔(秒単位)、     openRepeat    は試行する回
              数、openTimeout は実際にオープンを 試みる時の待ち時間の長さ (すなわち、  connect(2)
              システムコールに使う最大の時間)、startAttempts  はこのサーバ上に 対して行う全ての過
              程の回数である。openRepeat      回の試行を行った後、       または特定の試行において
              openTimeout 秒経過した場合には、 xdm は終了してサーバを再起動し、再び接続を試みる。
              この過程は startAttempts 回繰り返され、この場合にはディスプレイ  が停止していて使用
              不能であるとされる。この挙動は恣意的に見えるが、経験 的に決められたものであり、ほと
              んどのシステムでうまく動作する。デフォル ト値は openDelay が 5,  openRepeat  が  5,
              openTimeout が 30, startAttempts が 4 である。

       DisplayManager.DISPLAY.pingInterval

       DisplayManager.DISPLAY.pingTimeout
              リモートのディスプレイが見えなくなった時を知るため、  xdm は時折、それらに X 接続と
              XSync コールを使って ping をかける。 pingInterval は(分単位で) ping  を行う時間間隔
              を指定し、  pingTimeout はリクエストに対する端末の応答を待つ最大時間(分単位 で)を指
              定する。端末からの応答がない場合、セッションは壊れたと見なされ て終了する。デフォル
              トではどちらの値も 5 分である。管理しているホスト から隔離されることがある X 端末を
              頻繁に使用する場合には、この値を増や すとよいだろう。唯一の問題点は、端末が突発的に
              使用不能になった後でもセッ  ションが存在し続けることである。 xdm はローカルディスプ
              レイには ping をかけない。これは問題ないようであるが、 NFS サービスによるサーバがハ
              ングアップし、ping  に応答しなくなる結果と してワークステーションのセッションが終了
              してしまった場合には好ましくな い。

       DisplayManager.DISPLAY.terminateServer
              この真偽値のリソースはセッションが(リセットの代わりに)終了したときに X サーバが終了
              するかどうかを指定する。このオプションはサーバが稼働時間の 際限がない傾向があるとき
              に使用し、サーバが動作する時間を制限することが できる。デフォルト値は ``false''  で
              ある。

       DisplayManager.DISPLAY.userPath
              xdm はセッション用の PATH 環境変数にこの値を設定する。これはディレクトリを コロンで
              区切ったリストである。詳しい説明については          sh(1)          を参照すること。
              ``:/bin:/usr/bin:/usr/X11R6/bin:/usr/ucb'' が通常の設定である。 デフォルト値は X の
              構築時に X システム設定ファイル内の DefaultUserPath 項目で指定する。

       DisplayManager.DISPLAY.systemPath
              xdm は、起動スクリプトとリセットスクリプトで使う PATH 環境変数にこのリソー スの値を
              セットする。このリソースのデフォルト値は    X   の構築時にシステム   設定ファイルの
              DefaultSystemPath                      項目で指定する。                      普通は
              ``/etc:/bin:/usr/bin:/usr/X11R6/bin:/usr/ucb'' が使われる。 この項目から ``.'' を取
              り除いておく(訳注: パスにカレントディレクトリを 含めない)点には注意すること。これは
              root  の仕事の良い練習である。これ は一般的なトロイの木馬によるシステム侵入計画を防
              ぐことができる。

       DisplayManager.DISPLAY.systemShell
              xdm は、起動スクリプトとリセットスクリプトで使う SHELL 環境変数にこのリソー  スの値
              をセットする。デフォルト値は /bin/sh である。

       DisplayManager.DISPLAY.failsafeClient
              デフォルトのセッションの実行に失敗したとき、 xdm はこのプログラムに戻ろうとする。こ
              のプログラムは引き数なしで実行するが、 セッションを動作させるのと同じ環境変数を使っ
              て実行される(    Session   Program   のセクションを参照すること)。   デフォルトでは
              <XRoot>/bin/xterm が使われる。

       DisplayManager.DISPLAY.grabServer

       DisplayManager.DISPLAY.grabTimeout
              セキュリティを向上させるために、 xdm はログイン名とパスワードを入力させるときにサー
              バとキーボードを占有する。  grabServer リソースは、ログイン名とパスワードの読み込み
              の間にサー  バを保持するかどうかを指定する。``false''  の場合にはキーボードの占有が
              成功した後にサーバの占有を離し、``true''  の場合にはセッションが始まる 直前までサー
              バは占有される。デフォルト値は ``false'' である。 grabTimeout リソースは xdm の占有
              が成功するまで待つ最長の間を指定する。他のクライアントが サーバを占有している場合や
              ネットワークの遅延がとても大きいには占有が失 敗することがある。このリソースのデフォ
              ルト値は  3 秒である。 ユーザがディスプレイ上のよく似たウィンドウに騙されることがあ
              るので、こ の値を高くするときには注意すること。占有に失敗すると xdm  はサーバとセッ
              ションのプロセスを止め、(可能ならば)再スタートさせる。

       DisplayManager.DISPLAY.authorize

       DisplayManager.DISPLAY.authName
              authorize  は、 ローカルサーバへの接続に対して xdm が認証を生成して使用するかどうか
              を制御する真偽値のリソースである。認証 を用いる場合、authName  は使用する認証機構の
              リスト(区切りは空白文  字)である。 XDMCP 接続はサポートされている認証機構を動的に指
              定するので、この場合 authName は無視される。authorize がディスプレイ用に設定さ れて
              いるが認証ができない場合、ユーザは通常とは異なるメッセージがログイ ンウィジェットで
              表示される。デフォルトでは、authorize は``true'' である。authName  は  ``MIT-MAGIC-
              COOKIE-1''     または、     XDM-AUTHORIZATION-1     が利用可能であれば、     ``XDM-
              AUTHORIZATION-1 MIT-MAGIC-COOKIE-1'' である。

       DisplayManager.DISPLAY.authFile
              このファイルは、サーバ の -auth コマンド行オプションを使っ て xdm  からサーバへ認証
              データを伝えるために使われる。 このファイルは、簡単に削除されてサーバのセキュリティ
              機構が無効化されて しまわないように、世界中から書き込むことはできないディレクトリに
              置くべ  きである。 指定のない場合は、ファイル名は DisplayManager.authDir とディスプ
              レイの 名から生成される。

       DisplayManager.DISPLAY.authComplain
              これに ``false'' を設定すると、unsecureGreeting がログイン ウィンドウで使われなくな
              る。 認証ウィジェット のセクションを参照すること。 デフォルト値は ``true'' である。

       DisplayManager.DISPLAY.resetSignal
              xdm  がサーバをリセットするために送るシグナルの番号である。 サーバの制御 のセクショ
              ンを参照すること。 デフォルト値は 1(SIGHUP)である。

       DisplayManager.DISPLAY.termSignal
              xdm がサーバを終了するために送るシグナルの番号である。 サーバの制御  のセクションを
              参照すること。 デフォルト値は 15(SIGTERM)である。

       DisplayManager.DISPLAY.resetForAuth
              サンプルサーバにおける元々の認証の実装では、サーバのリセット時に最初の 接続をチェッ
              クする代わりに認証ファイルを再読み込みを行う。 xdm はディスプレイに接続する直前に認
              証情報を生成するので、古いサーバは最新の  認証情報を取得することはできない。 このリ
              ソースを設定すると、 xdm はファイルを設定した後にサーバに SIGHUP を送る。これにより
              追加のサーバ  はリセットされ、この際に新しい認証情報が読み込まれる。 デフォルト値は
              ``false'' であり、これは全ての MIT サーバで動作する。

       DisplayManager.DISPLAY.userAuthDir
              xdm  は通常のユーザ認証ファイル($HOME/.Xauthority)に書き込みを行えないとき、   この
              ディレクトリ内に名前が重複しないファイルを作成し、XAUTHORITY 環境変数が作成したファ
              イルを指すように設定する。デフォルトでは /tmp が使われる。

設定ファイル

       まず   xdm   の設定ファイルの設定を行う。   全ての関連ファイルを置くディレクトリ   (通常は
       <XRoot>/lib/X11/xdm,  ここで  <XRoot>  は  X11 をインストールしたディ レクトリのルートを指
       す)を作成する。次の例では <XRoot> の値として /usr/X11R6 を用いる。

       以下は xdm-config という名前の使いやすい設定ファイルである:

            DisplayManager.servers:            /usr/X11R6/lib/X11/xdm/Xservers
            DisplayManager.errorLogFile:       /usr/X11R6/lib/X11/xdm/xdm-errors
            DisplayManager*resources:          /usr/X11R6/lib/X11/xdm/Xresources
            DisplayManager*startup:            /usr/X11R6/lib/X11/xdm/Xstartup
            DisplayManager*session:            /usr/X11R6/lib/X11/xdm/Xsession
            DisplayManager.pidFile:            /usr/X11R6/lib/X11/xdm/xdm-pid
            DisplayManager._0.authorize:       true
            DisplayManager*authorize:          false

       このファイルは普通、他のファイルを参照している点に注意すること。また、 要素を区切る  ``*''
       を使って指定されるリソースもある点にも注意すること。  これらのリソースは、ディスプレイ名を
       ``*'' で置き換えることによって異  なるディスプレイに対しては重ならないようにすることができ
       るが、通常はあ  まり役に立たない。詳しい議論については、リソース  セクショ  ンを参照するこ
       と。

XDMCP のアクセス制御

       DisplayManager.accessFile によって指定したデータベースファイルは、 XDMCP  サービスを要求す
       るディスプレイからのアクセスを xdm が制御をするために使う情報を与える。このファイルは 3 種
       類の項目が含ま れる: Direct と Broadcast の問い合わせに応答する制御項目、Indirect の  問い
       合わせに応答する制御項目、マクロ定義である。

       Direct 項目の書式は単純であり、ディスプレイデバイスのホスト名と比較さ れるホスト名またはパ
       ターンである。パターンは1つ以上のメタ文字(`*' は 0 個以上の任意の文字に一致し、`?'  は任意
       の一文字に一致する)を含むことに  よってホスト名とは区別される。 項目がホスト名の場合は、全
       ての比較はネットワークアドレスを使って行われ  るので、正しいネットワークアドレスに変換され
       る任意の名前を使うことがで きる。 項目がパターンの場合は、カノニカルなホスト名だけが比較に
       使われるので、 エイリアスにマッチさせようとしないように注意すること。 ホスト名またはパター
       ンの前に `!' 文字をつけると、その項目にマッチする ホストが除外される。

       ホスト名もしくはパターンの    Direct    問い合わせにだけに応答させるには、    オプションの
       ``NOBROADCAST'' キーワードを後に加えること。 これを使って、xdm サーバが Broadcast の問い合
       わせに基づくメニューに現 われないようにすることができる。

       Indirect 項目もホスト名もしくはパターンを含むが、この項目の場合はその 後に間接的な問い合わ
       せを送るホスト名またはマクロのリストが続けられる。

       マクロ定義は、マクロ名とホスト名のリストとマクロを展開するその他のマク  ロを含む。マクロと
       ホスト名を区別するため、マクロ名は `%' 文字で始まる。 マクロはネストさせることができる。

       Indirect  項目では、接続できるホストのメニューを出すために xdmchooser を実行させるよう
       に指定することもできる。Chooser の セクションを参照すること。

       特定のディスプレイホストへのアクセスを調査するときは、各項目は順番に調  べられ、最初にマッ
       チする項目で応答が決められる。Direct  と Broadcast 項 目は Indirect 項目を調べるときには無
       視される。その逆も同じである。

       空白行は無視される。`#'       はコメント区切りとして扱われ、その行の残りは無視        され
       る。`\newline' は改行を無視されるようにし、間接ホストのリス トを複数行に渡って記述できるよ
       うにする。

       Xaccess ファイルの例を示す:

       #
       # Xaccess - XDMCP アクセス制御ファイル
       #

       #
       # Direct/Broadcast query entries
       #

       !xtra.lcs.mit.edu   # xtra に対する direct/broadcast サービスを禁止する
       bambi.ogi.edu       # この特定のディスプレイからのアクセスを許可する
       *.lcs.mit.edu       # LCS ドメインの任意のディスプレイからのアクセスを許可する

       *.deshaw.com        NOBROADCAST         # direct アクセスのみを許可する
       *.gw.com                                # direct アクセスと broadcast アクセスを許可する

       #
       # Indirect 問い合わせ項目
       #

       %HOSTS              expo.lcs.mit.edu xenon.lcs.mit.edu \
                           excess.lcs.mit.edu kanga.lcs.mit.edu

       extract.lcs.mit.edu xenon.lcs.mit.edu   # extract を xenon に接続させる
       !xtra.lcs.mit.edu   dummy               #indirect アクセスを禁止する
       *.lcs.mit.edu       %HOSTS              #他の全てのホストを選択させる

CHOOSER

       Broadcast  または  Indirect  問い合わせを使ってホストメニューを出さない   X   端末に対して
       は、chooser プログラムがメニューを出す。 Xaccess ファイルの中で、Indirect ホストリスト内の
       最初の項目に ``CHOOSER'' を指定すること。chooser は Query リクエストをリスト  中の残りのホ
       スト名それぞれに送り、応答した全てのホストをメニューに出す。

       リストで ``BROADCAST'' という語を使うこともでき、この場合には代わりに chooser は Broadcast
       を送り、応答した全てのホストをメニューに出 す。OS によっては UDP  パケットをブロードキャス
       トできず、この機能が動作 しない場合がある点に注意すること。

       chooser を用いる場合の Xaccess ファイルの例を示す:

       extract.lcs.mit.edu CHOOSER %HOSTS      #これらのホストのメニューを出す
       xtra.lcs.mit.edu    CHOOSER BROADCAST   #全てのホストのメニューを出す

       chooser  を使用するプログラムは、 DisplayManager.DISPLAY.chooser リソースによって指定 され
       る。この段階をより柔軟にするため、chooser  をシェルスクリプトにする  こともできる。   ここ
       で、chooser  はセッションマネージャであり、子プロセスの xdm の代わりにディスプレイを管理す
       る。

       このプログラム用のリソースは、 DisplayManager.DISPLAY.resources にファイル名を記述  するこ
       とができる。

       ユーザがホストを選択するとき、chooser は選択されたホスト(これは 親である xdm が取得する)を
       出力して終了する。 xdm は X サーバへの接続を閉じ、  サーバはリセットを行い、別の  Indirect
       XDMCP リクエストを送る。 xdm はユーザに選択されたホストを (DisplayManager.choiceTimeout 秒
       間)記憶する。この選択されたホス トはそのディスプレイでセッションを開始する。

ローカルサーバ指定

       DisplayManager.servers リソースはサーバの指定を与える。あるいは、  スラッシュ(/)で始まる値
       の場合には、サーバを指定しているファイルの名前 を1行に1つずつ指定する。

       それぞれの指定は、常に管理されており  XDMCP を使っていないディスプレイ を示す。 この方法は
       普通はローカルサーバだけで使われる。このリソースまたはリソー  スで指定したファイルが空の場
       合は、xdm は XDMCP サービスだけを提 供する。

       それぞれの指定は最低 3 個の部分から構成されている: これはディスプレイ 名、ディスプレイクラ
       ス、ディスプレイタイプであり、(ローカルサーバに対  しては)  サーバを起動するコマンド行であ
       る。番号0のローカルディスプ レイに対する典型的な項目は次のようになる:

         :0 Digital-QV local /usr/X11R6/bin/X :0

       ディスプレイタイプは次のようになる:

       local     ローカルディスプレイ: xdm はサーバを起動しなければならない
       foreign   リモートディスプレイ: xdm は動作しているサーバに対する X 接続をオープンする

       ディスプレイ名は、-display  オプションで  X  プログラムに渡せるよ うなものでなければならな
       い。この文字列はディスプレイ固有のリソース名を  生成するために使われるので、その名前とマッ
       チするように注意すること(例  えば、他のリソースが ``DisplayManager._0.session'' のように設
       定されて いる場合には、``localhost:0 Sun-CG3 local /usr/X11R6/bin/X :0''  ではな  く  ``:0
       Sun-CG3 local /usr/X11R6/bin/X :0'' を使用すること)。 ディスプレイクラス部分も、リソースの
       タイプのようにディスプレイ固有のリ  ソースで使われる。これは、似たようなディスプレイがたく
       さんあり(X 端末 を並べているような場合)これらにまとめてリソースをセットしたいような場 合に
       便利である。XDMCP を使うときはディスプレイにはディスプレイクラスを  指定しなければならない
       ので、個別の X 端末のマニュアルにはそのデバイス に対するディスプレイクラスが記述されている
       はずである。これが記述されて いなければ、 xdm をデバッグモードで起動して、そのデバイスに対
       して生成されるリソース文字 列を見ること。これにはクラス文字列が含まれているはずである。

       xdm  はセッションを開始するときに、サーバに対する認証データを設定 する。ローカルサーバに対
       しては、xdm  はサーバのコマンド行で  ``-auth  filename''  を渡し、認証データの場所を示す。
       XDMCP  サーバに対しては、xdmAccept XDMCP リクエストを経 由して認証データをサーバに渡
       す。

リソースファイル

       Xresources ファイルは xrdb  コマンドを使って、リソースデータベースとしてディスプレイに読み
       込まれる。  認証ウィジェットは起動前にこのデータベースを読み込むので、このファイル  は認証
       ウィジェット用のパラメータも含んでよい:

            xlogin*login.translations: #override\
                 Ctrl<Key>R: abort-display()\n\
                 <Key>F1: set-session-argument(failsafe) finish-field()\n\
                 <Key>Return: set-session-argument() finish-field()
            xlogin*borderWidth: 3
            xlogin*greeting: CLIENTHOST
            #ifdef COLOR
            xlogin*greetColor: CadetBlue
            xlogin*failColor: red
            #endif

       トランスレーションの項目に注意すること。ここでは、ユーザがデフォルトセッ  ションから抜け出
       せる(また、ここで起こる問題を避ける)ようにするため、ウィ  ジェットのトランスレーションをい
       くつか新たに指定している。 #override  を指定しないと標準のトランスレーションが消去され、新
       しい値に    置き換えられてしまう。デフォルトのトランスレーションも非常に便利なので   (例え
       ば、通常の文字入力に応答する ``<Key>: insert-char ()'' 等)、この  ような置き換えはあまり好
       ましい結果ではない。

       このファイルは設定プログラムと chooser に対するリソースも含んで よい。

設定プログラム

       Xsetup ファイルはサーバがリセットされた後、かつ Login ウィンドウ が出る前に起動する。 この
       ファイルは普通はにシェルスクリプトである。    このファイルはルート権限で実行されるので、セ
       キュリティには注意が必要で     ある。     このファイルには、ルートウィンドウの背景を変えた
       り、Login ウィジェット  と一緒にスクリーンに表示する他のウィンドウを呼び出すための記述を行
       う。

       DisplayManager.exportList による指定に加え、次の環境変数が渡され る:

            DISPLAY        関連するディスプレイ名
            PATH           DisplayManager.DISPLAY.systemPath の値
            SHELL          DisplayManager.DISPLAY.systemShell の値
            XAUTHORITY     認証ファイルがセットされる

       xdm  はキーボードを占有するので、他のウィンドウはキーボード入力を 受け付けない点に注意する
       こと。しかし、マウスで操作することはできる。    セキュリティホールの可能性に注意すること。
       DisplayManager.DISPLAY.grabServer がセットされている 場合は、Xsetup はディスプレイに全く接
       続できない。 このプログラム用のリソースは DisplayManager.DISPLAY.resources  が指すファイル
       に記 述することができる。

       以下に Xsetup スクリプトの例を挙げる:

            #!/bin/sh
            # Xsetup_0 - ワークステーション 1 台用の設定スクリプト
            xcmsdb < /usr/X11R6/lib/monitors/alex.0
            xconsole -geometry 480x130-0-0 -notify -verbose -exitOnFail &

認証ウィジェット

       認証ウィジェットはユーザ名/パスワードの組をキーボードから読み込む。考   えられるようなパラ
       メータのほとんど全てはリソースで制御できる。このウィ                ジェット用のリソースは
       DisplayManager.DISPLAY.resources が指すファイルに記 述すること。全てのリソースにはちゃんと
       したデフォルト値が設定されている ので、これらに値を指定する必要はない。

       xlogin.Login.width, xlogin.Login.height, xlogin.Login.x, xlogin.Login.y
              通常、Login ウィジェットのジオメトリは自動的に計算される。この位置を変 えたい場合に
              は、これらのリソースで指定すること。

       xlogin.Login.foreground
              入力したユーザ名の表示に使う色。

       xlogin.Login.font
              入力したユーザ名の表示に使うフォント。

       xlogin.Login.greeting
              このウィンドウを識別するための文字列。 デフォルト値は ``X Window System'' である。

       xlogin.Login.unsecureGreeting
              X の認証がこのディスプレイ用の設定ファイルで要求されているが、全く使用 されていない
              とき、標準のグリーティングはこのグリーティングに置き換えら     れる。デフォルト値は
              ``This is an unsecure session'' である。

       xlogin.Login.greetFont
              グリーティングの表示に用いるフォント。

       xlogin.Login.greetColor
              グリーティングの表示に用いる色。

       xlogin.Login.namePrompt
              ユーザ名のプロンプトに表示する文字列。  xrdb はリソースの値の末尾の空白文字を取り除
              き、プロンプトの末尾に空白を追加 し(普通はこれで良い)、バックスラッシュでエスケープ
              した空白を追加する。 デフォルト値は ``Login:  '' である。

       xlogin.Login.passwdPrompt
              パスワードのプロンプトに表示する文字列。 デフォルト値は ``Password:  '' である。

       xlogin.Login.promptFont
              両方のプロンプトの表示に用いるフォント。

       xlogin.Login.promptColor
              両方のプロンプトの表示に用いる色。

       xlogin.Login.fail
              認証が失敗したときに表示するメッセージ。  デフォルト値は  ``Login  incorrect'' であ
              る。

       xlogin.Login.failFont
              認証失敗のメッセージの表示に用いるフォント。

       xlogin.Login.failColor
              認証失敗のメッセージの表示に用いる色。

       xlogin.Login.failTimeout
              認証失敗のメッセージを表示する秒数。 デフォルト値は 30 秒である。

       xlogin.Login.translations
              ログインウィジェットで使うトランスレーションを指定する。詳しい説明につ    いては、X
              ツールキットの文書を参照すること。デフォルトのトランスレーショ ンテーブルを以下に示
              す:

                   Ctrl<Key>H:    delete-previous-character() \n\
                   Ctrl<Key>D:    delete-character() \n\
                   Ctrl<Key>B:    move-backward-character() \n\
                   Ctrl<Key>F:    move-forward-character() \n\
                   Ctrl<Key>A:    move-to-begining() \n\
                   Ctrl<Key>E:    move-to-end() \n\
                   Ctrl<Key>K:    erase-to-end-of-line() \n\
                   Ctrl<Key>U:    erase-line() \n\
                   Ctrl<Key>X:    erase-line() \n\
                   Ctrl<Key>C:    restart-session() \n\
                   Ctrl<Key>\\:   abort-session() \n\
                   <Key>BackSpace:delete-previous-character() \n\
                   <Key>Delete:   delete-previous-character() \n\
                   <Key>Return:   finish-field() \n\
                   <Key>:         insert-char() \

       xlogin.Login.allowRootLogin
              このリソースに ``false'' が設定されてると、root (およびユーザ ID が 0  である全ての
              ユーザ)は直接ログインできない。 デフォルト値は ``true'' である。

       xlogin.Login.allowNullPasswd
              このリソースを  ``true''  に設定すると、アカウントがパスワードを全く必要 としなけれ
              ば、パスワードが一致しない場合を除いて認証を成功とする。  デフォルト値は  ``false''
              であり、パスワードが割り当てられているユーザ だけがログインできる。

       このウィジェットがサポートしているアクションを以下に挙げる:

       delete-previous-character
              カーソルの前の文字を消去する。

       delete-character
              カーソルの次の文字を消去する。

       move-backward-character
              カーソルを後ろに動かす。

       move-forward-character
              カーソルを前に動かす。

       move-to-begining
              (スペルを間違えた名前がアクションについています。すみません。) 編集可能なテキストの
              初めまでカーソルを移動させる。

       move-to-end
              編集可能なテキストの最後までカーソルを移動させる。

       erase-to-end-of-line
              カーソルの後ろのテキストをすべて消去する。

       erase-line
              すべてのテキストを消去する。

       finish-field
              カーソルがログイン名フィールドにある場合、パスワードフィールドに進む。   パスワード
              フィールドにある場合は、現在のログイン名とパスワードの組をチェッ クする。ログイン名
              とパスワードの組が有効であれば、xdm  はセッショ  ンを開始する。この組が有効でなけれ
              ば、認証失敗のメッセージを表示してプ ロンプトを再び表示する。

       abort-session
              サーバを終了し再スタートさせる。

       abort-display
              サーバを終了して使用不能にする。このアクションはデフォルトの設定ではア クセスできな
              いようになっている。 システムコンソール上の xdm を停止させる理由はいくつかある。 こ
              の理由には、システムのシャットダウンをしたいとき、xdmshell  を 使用しているとき、他
              のタイプのサーバを起動するため、一般にコンソールに  アクセスするため等がある。  xdm
              に  SIGHUP  を送るとディスプレイは再スタートする。 XDM の制御セクションを参照するこ
              と。

       restart-session
              X サーバをリセットして、新しいセッションを開始する。このアクションは変 更したリソー
              スをテストしたい場合、あるいはシステムメッセージで画面が上 書きされてしまった場合に
              使うことができる。

       insert-char
              入力した文字を挿入する。

       set-session-argument
              セッション開始時にセッションに渡される1語の引き数を指定する。  セッションプログラム
              セクションを参照すること。

       allow-all-access
              サーバのアクセス制御を無効にする。これは  xdm  が  .Xauthority ファイルを生成できな
              かった場合に使用することができる。 これを使用するときは十分注意すること。これを行う
              前にはネットワークから マシンを切り放しておいた方が良いだろう。

       一部のシステム(OpenBSD)では、ユーザのシェルが  /etc/shells に書かれていないと xdm 経由での
       ログインは許可されない。 パスワードとアカウントの有効期限も通常通りに適用される。

起動プログラム

       Xstartup プログラムはユーザがログインしたときに root 権限で実行 される。  これは普通はシェ
       ルスクリプトである。 Xstartup は root 権限で実行するので、Xstartup についてはセ キュリティ
       に十分注意すること。このファイルには /etc/utmp  にエン  トリーを追加するコマンドやファイル
       サーバからユーザのホームディレクトリ  をマウントするコマンド、ログインが許可されない場合に
       セッションを中止さ せるコマンド等を記述する。

       DisplayManager.exportList による指定に加え、以下の環境変数を渡す ことができる:

            DISPLAY        関連するディスプレイ名
            HOME           ユーザの最初の作業ディレクトリ
            LOGNAME        ユーザ名
            USER           ユーザ名
            PATH           DisplayManager.DISPLAY.systemPath の値
            SHELL          DisplayManager.DISPLAY.systemShell の値
            XAUTHORITY     認証ファイルをセットすることができる

       スクリプトへは引き数は全く渡されない。 xdm  はユーザセッションを開始する前に、このスクリプ
       トが終了するのを待つ。 このスクリプトの終了値がゼロでない場合、 xdm はセッションを続行を行
       わず、他の認証サイクルを開始する。

       ここで示すサンプルの Xstartup ファイルは、/etc/nologin ファ イルが存在する間はログインを行
       わせない。 これは完全な例ではなく、単に利用できる機能のデモである。

       以下にサンプルの Xstartup を示す;

            #!/bin/sh
            #
            # Xstartup
            #
            # このプログラムはユーザの認証後、root 権限で実行される
            #
            if [ -f /etc/nologin ]; then
                 xmessage -file /etc/nologin -timeout 30 -center
                 exit 1
            fi
            sessreg -a -l $DISPLAY -x /usr/X11R6/lib/xdm/Xservers $LOGNAME
            /usr/X11R6/lib/xdm/GiveConsole
            exit 0

セッションプログラム

       Xsession  プログラムはユーザセッションとして実行されるコマンドで  ある。  これは認証された
       ユーザの権限で実行される。

       DisplayManager.exportList の指定に加え、次の環境変数が渡される:

            DISPLAY        関連するディスプレイ名
            HOME           ユーザの初期作業ディレクトリ
            LOGNAME        ユーザ名
            USER           ユーザ名
            PATH           DisplayManager.DISPLAY.userPath の値
            SHELL          ユーザのデフォルトのシェル(getpwnam で取得する)
            XAUTHORITY     標準でない認証ファイルをセットすることができる
            KRB5CCNAME     Kerberos 証明書のキャッシュ名をセットすることができる

       X を普通にインストールした場合には、Xsession は $HOME  にある  .xsession  を参照する。この
       ファイルには、各ユーザがセッションと   して利用するコマンドが記述される。   Xsession  はま
       た、ユーザ指定のセッションが存在しない場合に実行す  るシステム標準のセッションも実装してい
       る。 通常の使用方法 セクションを参照すること。

       `set-session-argument' アクションを使用する認証ウィジェットから、この プログラムへ引き数を
       渡すことができる。これを用いて違うスタイルの  セッションを選択できる。この機能の便利な使い
       方の 1 つは、通常の セッションが失敗したときにユーザがこのセッションからエスケープできるよ
       うにすることである。この機能を使えば、ユーザは .xsession の設定 に失敗した場合に、管理者の
       仲介がなくても自分の .xsession を修正 できる。 次の例でこの機能を示す:

       これは特殊な「フェールセーフ」モードを使えるようにする例題である。 このモードは Xresources
       ファイルのトランスレーションで指定し、  通常のセッションからエスケープできるようにする。こ
       の例題では  .xsession ファイルが実行可能であることも必要であるので、このファイルが使おうと
       す るシェルを推定する必要はない。

            #!/bin/sh
            #
            # Xsession
            #
            # これは、ディスプレイマネージャに対するクライアント
            # として実行されるプログラムである。

            case $# in
            1)
                 case $1 in
                 failsafe)
                      exec xterm -geometry 80x24-0-0
                      ;;
                 esac
            esac

            startup=$HOME/.xsession
            resources=$HOME/.Xresources

            if [ -f "$startup" ]; then
                 exec "$startup"
            else
                 if [ -f "$resources" ]; then
                      xrdb -load "$resources"
                 fi
                 twm &
                 xman -geometry +10-10 &
                 exec xterm -geometry 80x24+10+10 -ls
            fi

       ユーザの .xsession ファイルはこの例のようになっているだろう。 このファイルには実行属性を持
       たせる必要があるのを忘れないこと。
            #! /bin/csh
            # .cshrc を実行させて  $PATH をセットさせるため、前の行で -f
            # オプションは指定しないこと
            twm &
            xrdb -merge "$HOME/.Xresources"
            emacs -geometry +0+50 &
            xbiff -geometry -430+5 &
            xterm -geometry -0+50 -ls

リセットプログラム

       Xstartup  と対になる  Xreset スクリプトは、ユーザセッション が終了した後に実行される。この
       ファイルは root 権限で実行され、 Xstartup で実行されたコマンドの効果を打ち消すようなコマン
       ドや、 /etc/utmp からの項目の削除、ファイルサーバからのディレクトリのア ンマウントを行うコ
       マンドを含む。Xstartup に渡された環境変数は Xreset にも渡される。

       Xreset スクリプトの例:
            #!/bin/sh
            #
            # Xreset
            #
            # このプログラムはセッションが終わった後に root 権限で実行される
            #
            sessreg -d -l $DISPLAY -x /usr/X11R6/lib/xdm/Xservers $LOGNAME
            /usr/X11R6/lib/xdm/TakeConsole
            exit 0

サーバの制御

       xdm は POSIX  シグナルを用いてローカルサーバを制御する。SIGHUP  では、サーバ  がリセットさ
       れ、すべてのクライアントの接続のクローズや他の後処理が行わ   れることが期待される。SIGTERM
       ではサーバが終了することが期待される。    これらのシグナルが期待される動作をしない場合は、
       DisplayManager.DISPLAY.resetSignal,  DisplayManager.DISPLAY.termSignal  リソースで他のシグ
       ナルを設定することができる。

       XDMCP を使わないリモート端末を制御するため、 xdm  はディスプレイのウィンドウの階層構造を検
       索し、次のセッションのために端  末を片づけるために  KillClient  プロトコルリクエストを用い
       る。これは実際 には全てのクライアントを破棄するのではなく、ウィンドウを生成したクライ アン
       トだけが通知を受ける。XDMCP  はより確実に動作する機構を提供している。 xdm が最初の接続を閉
       じたとき、そのセッションは終了し、端末には他のすべての 接続を閉じることが要求される。

XDM の制御

       xdm は二つのシグナル SIGHUP と SIGTERM に応答する。SIGHUP を送ると xdm  は設定ファイル、ア
       クセス制御ファイルとサーバファイルを再読み込みする。  サーバファイルについては、項目の追加
       や削除があれば通知がなされる。新し い項目が追加されたら、 xdm は対応するディスプレイのセッ
       ションを開始する。削除された項目は即座に無  効にされる。これは通知無しに進行中のセッション
       が終了し、新しいセッショ ンが開始されるということである。

       SIGTERM を送ると、 xdm  は進行中のすべてのセッションを終了させ、自身も終了する。これはシス
       テム をシャットダウンするときに使用する。

       xdm  はコマンド行引き数リストを適宜修正して、 ps(1) のために各種サブプロセスに印をつけよう
       とする。 xdm はこの作業のために追加の割り当てを行うことができないので、 xdm を十分な長いコ
       マンド行(フルパス名で十分だろう)を使って起動するとよ い。 ディスプレイを提供しているそれぞ
       れのプロセスには、 -display の印が付けられる。

追加のローカルディスプレイ

       ローカルディスプレイを追加するには、Xservers ファイルに一行追加 する。 (ローカルサーバの指
       セクションを参照すること。)

       xdm-config  内のディスプレイ固有のリソースを調べ(例えば、 DisplayManager._0.authorize)、ど
       のリソースを新しいディスプレイ用 にコピーするか考えること。 デフォルトの  xdm-config  には
       :0:1 に対する適切な 指定がある。

他の可能性

       4.3  init オプションを使い、xdm で同時に1つのセッションを実 行することができる。また、コマ
       ンド行でサーバを指定することにより、 他の適切なデーモンを実行することができる。

            xdm -server ":0 SUN-3/60CG4 local /usr/X11R6/bin/X :0"

       あるいは、ファイルサーバと何台もの   X    端末があるものとする。この場合の    設定ファイル
       は、Xservers ファイルが次のようになる点以外は前述の 例と同じである:

            extol:0 VISUAL-19 foreign
            exalt:0 NCD-19 foreign
            explode:0 NCR-TOWERVIEW3000 foreign

       これは、  xdm をこれらの3台の端末全てのセッションを管理することを指示する。 init(8) と同じ
       ようにシグナルを使ってこれらの端末を有効/無効にする方法について は、XDM の制御  セクション
       を参照すること。

制限事項

       xdm  と他のウィンドウシステムとの共存はあまりうまくいかない。同じハードウェ アで複数のウィ
       ンドウシステムを使う場合には、 xinit を使う方が良いだろう。

ファイル

       <XRoot>/lib/X11/xdm/xdm-config
                           デフォルトの設定ファイル

       $HOME/.Xauthority   xdm  がクライアントに対するキーの格納、取得を行うユーザ認証ファイル

       <XRoot>/lib/X11/xdm/chooser
                           デフォルトの chooser

       <XRoot>/bin/xrdb    デフォルトのリソースデータベース読み込みプログラム

       <XRoot>/bin/X       デフォルトのサーバ

       <XRoot>/bin/xterm   デフォルトのセッションプログラムとフェールセーフクライアント

       <XRoot>/lib/X11/xdm/A<display>-<suffix>
                           認証ファイルのデフォルトの位置

       /tmp/K5C<display>   Kerberos の証明書キャッシュ

       注意: <XRoot> は X11 のインストールツリーのルートディレクトリを示す。

関連項目

       X(7), xinit(1), xauth(1), Xsecurity(7), sessreg(1), Xserver(1),
       X Display Manager Control Protocol

著者

       Keith Packard, MIT X Consortium