X ディスプレイマネージャ (XDM) は X Window System のオプショナルな一部分であり、 ログインセッションの管理に用います。 最低限の機能を実装した 「X 端末」 やデスクトップ、 大規模なネットワークディスプレイサーバといった場面ではこれが有用です。 X Window System はネットワークとプロトコルから独立しているため、 ネットワークで繋がれた X のクライアントとサーバを動かすための設定はかなり幅が広くなります。 XDM はどのディスプレイサーバに接続するかを選択でき、 ログイン名とパスワードの組み合わせなど認証情報を入力できるグラフィカルなインタフェースを提供しています。
XDM がユーザに getty(8) (詳しくは 「設定」 をご覧ください) と同じ機能を提供することを考えてみてください。 つまり、ディスプレイ上でシステムへのログインができ、 ユーザの代わりにセッションマネージャ (通常は X のウィンドウマネージャ) を起動することができるのです。 それから XDM は、 ユーザが作業を終えてディスプレイからログアウトする合図を送ってきてプログラムが終了するのを待ちます。 この時点で、XDM は次にログインするユーザのためにログイン画面や chooser 画面を表示できます。
XDM を使用するには、
x11/xdm
port をインストールしてください
(最近の Xorg のバージョンでは、
デフォルトでインストールされません)。
XDM のデーモンプログラムは
/usr/local/bin/xdm
にあります。
このプログラムは root
になればいつでも起動することができ、
ローカルマシン上のディスプレイの管理を始めます。
マシンをブートする際、いつも XDM
を起動したい場合には、/etc/ttys
にそのためのエントリを加えておくのが簡単です。
このファイルのフォーマットや使用方法についての詳細は
「/etc/ttys
へのエントリの追加」 を参照してください。
デフォルトの /etc/ttys
ファイルには仮想端末上で XDM
デーモンを起動するための行:
ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure
があります。
このエントリはデフォルトでは無効になっており、有効にするには
5 番目のカラムを off
から
on
にし、「init
にファイル
/etc/ttys
の再読み込みをさせる」
の指示に従って init(8) を再起動します。
最初のカラムはこのプログラムが管理する端末の名前で、この場合
ttyv8
になります。
つまり、XDM は
9 番目の仮想端末で起動されるということです。
XDM の設定用ディレクトリは
/usr/local/lib/X11/xdm
です。
このディレクトリには XDM
の振る舞いや見た目を変更するために用いられるいくつかのファイルがあります。
だいたいは以下のような感じです。
ファイル | 説明 |
---|---|
Xaccess | クライアント認証のルールセット |
Xresources | デフォルトの X リソース |
Xservers | 管理すべきリモートやローカルのディスプレイのリスト |
Xsession | デフォルトのログイン時のセッションスクリプト |
Xsetup_ * | ログインインタフェースの前にアプリケーションを起動するためのスクリプト |
xdm-config | このマシンで動いているすべてのディスプレイのグローバルな設定 |
xdm-errors | サーバプログラムによって生成されるエラー |
xdm-pid | 現在動いている XDM のプロセス ID |
このディレクトリにはまた、XDM の動作中にデスクトップをセットアップするために用いられるスクリプトやプログラムがいくつかあります。 それぞれのファイルの目的を簡単に解説しましょう。 正確な文法や使い方は xdm(1) に記述されています。
デフォルトの設定では、単純な四角のログインウィンドウがあり、 そこにはマシンのホスト名が大きなフォントで表示され、 「Login:」 と 「Password:」 のプロンプトがその下に表示されています。 XDM スクリーンの見ためや使い勝手を変えるにはここから始めるのがいいでしょう。
XDM
がコントロールするディスプレイに接続するためのプロトコルは
X Display Manager Connection Protocol (XDMCP) と呼ばれます。
このファイルにはリモートのマシンからの
XDMCP 接続をコントロールするためのルールセットが書かれます。
これは、xdm-config
を変更してリモートからのコネクションを待ち受けるようにしない限り無視されます。
デフォルトでは、どのクライアントからの接続も拒否します。
これはディスプレイの chooser とログインスクリーン用の application-defaults ファイルです。 このファイルでログインプログラムの見た目を変更することができます。 フォーマットは X11 のドキュメントで記述されている app-defaults ファイルのものと同じです。
XDM
でログインした後に実行されるデフォルトのセッションスクリプトです。
通常、各ユーザは ~/.xsession
というカスタマイズしたセッションスクリプトを持っており、
こちらが優先されます。
これらは chooser
やログインインタフェースが表示される前に自動的に実行されます。
それぞれのディスプレイに対して、Xsetup_
に続けてローカルのディスプレイ番号を付けた
(たとえば Xsetup_0
)
名前のついたスクリプトがあります。
典型的な使い方は xconsole
のようなバックグラウンドで動かすプログラムを一つか二つ起動することです。
あるディスプレイサーバに他のクライアントが接続することができるようにするために、
アクセスコントロールのルールを編集し、
コネクションリスナを有効にする必要があります。
デフォルトでは保守的な設定になっています。
XDM
がそういったコネクションを待ち受けるようにするためには
xdm-config
にある次の行をコメントアウトします。
! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0
そして、XDM を再起動します。
app-defaults ファイルにおけるコメントは 「!」
であっていつものような 「#」
ではないことに注意してください。
アクセス制限はもっと厳しくしてもよいかもしれません。
Xaccess
にある例を参考にしたり、詳細についてオンラインマニュアル
xdm(1) を参照してください。
本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、
ドキュメント を読んだ上で
<questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、
<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。