FreeBSD ハンドブック
Prev | Chapter 5. X Window System | Next

# 5.6. X ディスプレイマネージャ

寄稿: Seth Kingsley.

## 5.6.1. 概要

X ディスプレイマネージャ (XDM) は X Window System のオプショナルな一部分であり、ログインセッションの管理に用います。 最低限の機能を実装した “X 端末”やデスクトップ、 大規模なネットワークディレプレイサーバといった場面ではこれが有用です。 X Window System はネットワークとプロトコルから独立しているため、 ネットワークで繋がれた X のクライアントとサーバを動かすための設定はかなり幅が広くなります。 XDM はどのディスプレイサーバに接続するかを選択でき、ログイン名とパスワードの組み合わせなど認証情報を入力できるグラフィカルなインタフェイスを提供しています。

XDM がユーザに getty(8) (詳しくはSection 18.3.3をご覧ください) と同じ機能を提供することを考えてみてください。 つまり、ディスプレイ上でシステムへのログインができ、ユーザの代わりにセッションマネージャ (通常は X のウィンドウマネージャ) を起動することができるのです。 それからXDMは、ユーザが作業を終えてディスプレイからログアウトする合図を送ってきてプログラムが終了するのを待ちます。 この時点で、XDM は次にログインするユーザのためにログイン画面や chooser 画面を表示することができるのです。

## 5.6.2. XDM の使用

XDM のデーモンプログラムは `/usr/X11R6/bin/xdm` にあります。 このプログラムは `root` になればいつでも起動することができ、 ローカルマシン上のディスプレイの管理を始めます。 マシンをブートする際、いつも XDM を起動したい場合には、`/etc/ttys` にそのためのエントリを加えておくのが簡単です。 このファイルのフォーマットや使用方法についての詳細は Section 18.3.3.1 を参照してください。デフォルトの `/etc/ttys` ファイルには仮想端末上で XDM デーモンを起動するための行:

    ttyv8  "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

があります。このエントリーはデフォルトでは無効になっており、 有効にするには 5 番目のカラムを `off` から `on` にし、Section 18.3.3.6 の指示に従って init(8) を再起動します。最初のカラムはこのプログラムが管理する端末の名前で、 この場合 `ttyv8` になります。 つまり、XDM は 9 番目仮想端末で起動されるということです。

## 5.6.3. XDM の設定

XDM の設定用ディレクトリは `/usr/X11R6/lib/X11/xdm` です。 このディレクトリには XDM の振る舞いや見た目を変更するために用いられるいくつかのファイルがあります。 だいたいは以下のような感じです。

ファイル | 説明
--- | ---
`Xaccess` | クライアント認証のルールセット
`Xresources` | デフォルトの X リソース
`Xservers` | 管理すべきリモートやローカルのディスプレイのリスト
`Xsession` | デフォルトのログイン時のセッションスクリプト
`Xsetup_`* | ログインインタフェイスの前にアプリケーションを起動するためのスクリプト
`xdm-config` | このマシンで動いている全てのディスプレイのグローバルな設定
`xdm-errors` | サーバプログラムによって生成されるエラー
`xdm-pid` | 現在動いている XDM のプロセス ID

このディレクトリにはまた、XDM の動作中にデスクトップをセットアップするために用いられるスクリプトやプログラムがいくつかあります。 それぞれのファイルの目的を簡単に解説しましょう。 正確な文法や使い方は xdm(1) に記述されています。

デフォルトの設定では、単純な四角のログインウィンドウがあり、 そこにはマシンのホスト名が大きなフォントで表示され、“Login:” と “Password:” のプロンプトがその下に表示されています。 XDM スクリーンのルックアンドフィールを変えるにはここから始めるのがいいでしょう。

### 5.6.3.1. Xaccess

XDM がコントロールするディスプレイに接続するためのプロトコルは X Display Manager Connection Protocol (XDMCP) と呼ばれます。 このファイルにはリモートのマシンからの XDMCP 接続をコントロールするためのルールセットが書かれます。 デフォルトでは、どんなクライアントからの接続も許可するようになっていますが、 `xdm-config` を変更してリモートからのコネクションを待ち受けるようにしない限り問題ではありません。

### 5.6.3.2. Xresources

これはディスプレイの chooser とログインスクリーン用の application-defaults ファイルです。 このファイルでログインプログラムの見た目を変更することができます。 フォーマットは XFree86 のドキュメントで記述されている app-defaults ファイルのものと同じです。

### 5.6.3.3. Xservers

これは、chooser が選択肢として提供するリモートのディスプレイの一覧です。

### 5.6.3.4. Xsession

XDM でログインした後に実行されるデフォルトのセッションスクリプトです。 通常、各ユーザは `~/.xsessionrc` というカスタマイズしたセッションスクリプトを持っており、こちらが優先されます。

### 5.6.3.5. Xsetup_*

これらは chooser やログインインタフェイスが表示される前に自動的に実行されます。 それぞれのディスプレイには、 `Xsetup_` に続けてローカルのディスプレイ番号を付けたもの (例えば`Xsetup_0`) を名前とするスクリプトがあります。 典型的な使い方は `xconsole` のようなバックグラウンドで動かすプログラムを一つか二つ起動することです。

### 5.6.3.6. xdm-config

app-defaultsの書式で書かれた、このインストレーションで管理されるすべてのディスプレイに適用される設定を保持しています。

### 5.6.3.7. xdm-errors

このファイルには XDM が起動しようとしている X サーバからの出力が書き出されます。 XDM が起動しようとしているディスプレイがなんらかの理由でハングした場合、 このファイルのエラーメッセージを見てください。 そういったメッセージは各ユーザの `~/.xsession-errors` にもセッション毎に書き出されます。

## 5.6.4. ネットワークディスプレイサーバの起動

あるディスプレイサーバに他のクライアントが接続することができるようにするために、 アクセスコントロールのルールを編集し、コネクションリスナーを有効にします。 デフォルトでは保守的な設定になっています。 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) を参照したりしてください。

## 5.6.5. XDM の代わりになるもの

デフォルトの XDM に代わるものがいくつかあります。 一つは KDM (KDE に付属しています) はその一つであり、この章の後ろで解説します。 KDM はログイン時にウィンドウマネージャを選ぶことができるのに加え、 見た目もかなり綺麗にしてくれます。

Prev | Home | Next
XFree86 でのフォントの使用 | Up | デスクトップ環境