X Window System (以下 "X") は、UNIX 系 OS を中心に広く標準的に使われている GUI システムで、サーバ・クライアント方式を採用し、ネットワークにも対応しているという特徴があります。
もう少し詳しく説明すると、X サーバはキーボード・マウス・ビデオカードなどの GUI コンソールの入出力機器を制御し、クライアントの要求に従って入力された内容を伝えたり画面を実際に描画したりするのが役目です。これに対し X クライアントは、Iceweasel(Firefox) や Sylpheed などのいわゆる「GUI プログラム」と呼ばれるものであり、サーバから受け取った入力機器の情報に基づいて処理をし、結果を X サーバに描画してもらっています。また、X サーバ・クライアント間の通信は X プロトコルによって行われるので、他のマシンにログインして起動した X クライアントを手元のマシンの X サーバで操作することもできます。
ARMA も含め Linux システムでは XFree86 Project を引き継いだ Xorg Foundation による Xorg という X サーバが一般的です。ARMA では長らく使われた XFree86 4.3 から、後継の Xorg 7.4 を採用しています。
X サーバの設定ファイルは /etc/X11/xorg.conf です。通常は X サーバの設定は管理ツールで設定しますが、設定がうまくいかない場合はこの賞を参考にしてください。
xorg.conf では、"#" 以降の文字はコメントと見なされます。また、内部はいくつかのセクションに分かれていますので、下記では各セクションについて説明します。
Xorg で使うフォントやカラーデータベースのパスを指定します。
Section "Files"
| FontPath "/usr/share/fonts/X11/misc:unscaled"
| FontPath "/usr/share/fonts/X11/75dpi:unscaled"
| FontPath "/usr/share/fonts/X11/100dpi:unscaled"
| FontPath "/usr/share/fonts/X11/misc"
| FontPath "/usr/share/fonts/X11/Speedo"
| FontPath "/usr/share/fonts/X11/Type1"
| FontPath "/usr/share/fonts/X11/CID"
| FontPath "/usr/share/fonts/X11/75dpi"
| FontPath "/usr/share/fonts/X11/100dpi"
| FontPath "/usr/share/fonts/X11/TrueType"
| FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
| FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
| EndSection
|
|
|
|
FontPath 行には、フォントがあるディレクトリを指定します。通常は、例の通り /usr/share/fonts/X11 以下の misc, 75dpi, 100dpi, TrueType の各ディレクトリ等が指定されています。また、:unscaled は、そのディレクトリ内の unscaled なビットマップフォントを使うことを表しています。通常は unscaled を優先するため、例のような順番で FontPath を指定することになります。
Xorg の拡張機能モジュールを読み込みます。
Section "Module"
| Load "dbe"
| Load "dri"
| Load "extmod"
| Load "glx"
| Load "record"
| EndSection
|
|
|
|
Load 行のパラメータに、読み込むモジュールを 1 つずつ指定します。
モジュールの実体は /usr/lib/xorg/modules 以下にある lib*.so というファイルになります。例えば extmod の実体は /usr/lib/xorg/modules/extensions/libextmod.so です。
モジュールに内部オプションを指定するときは Load の代わりにサブセクションを使います。例えば extmod に omit XFre86-DGA というオプションを渡す場合は下のようにします。
Section "Module"
| (…中略…)
| SubSection "extmod"
| Option "omit Xorg-DGA"
| EndSubSection
| (…中略…)
|
|
|
|
Xorg の挙動を決めるオプションを指定できます。ただしほとんどは、通常指定する機会がなかったり、GNOME や KDE のコントロールセンターで同じ設定ができるオプションなので、全て初期値のままでよいと思われます。詳細は man xorg.conf を参照してください。
マウス、キーボードなどの入力機器を設定します。
Section "InputDevice"
| Identifier "Keyboard0"
| Driver "kbd"
| Option "XkbRules" "xfree86"
| Option "XkbModel" "jp"
| Option "XkbLayout" "jp"
| Option "XkbOptions" "ctrl:nocaps"
| EndSection
|
| Section "InputDevice"
| Identifier "Mouse0"
| Driver "mouse"
| Option "Protocol" "ImPS/2"
| Option "Device" "/dev/input/mice"
| Option "Buttons" "5"
| Option "ZAxisMapping" "4 5 6 7"
| Option "Emulate3Buttons"
| EndSection
|
|
|
|
Identifier 行には、後述の ServerLayout セクションで入力機器を識別するための ID (認識名) を指定します。
Driver 行には入力機器のドライバを、キーボードなら keyboard 、マウスなどのポインティングデバイスなら mouse と指定します。
Option 行では入力機器の仕様を設定しますが、ここでのキーボードの配置等は標準では使われません。実際には Xorg サーバは hal と呼ばれる仕組みによってキー配列を取得しています。実際のキーボードの配置は/etc/hal/fdi/policy/10-keymap.fdiで決定されます。もし hal を使わず InputDevice セクションのキーボード配列を有効にする場合は下記の設定を追加します。
Section "ServerFlags"
| Option "AutoAddDevices" "False"
| EndSection
|
|
|
|
Protocol オプションではマウスのプロトコルを、ホイール無しマウスなら PS/2、マイクロソフト IntelliMouse 互換のホイールマウスなら IMPS/2 と指定します。通常ホイールマウスの多くは IntelliMouse 互換です。また USB マウスでもプロトコルは同じく PS/2, IMPS/2 です。
Device オプションではマウスのデバイスファイルを、PS/2 なら /dev/psaux、USB なら /dev/input/mice と指定します。
|