XFree86サーバーは、シングルバイナリ実行可能ファイル(/usr/X11R6/bin/XFree86)、 これは/usr/X11R6/lib/modules/ディレクトリからランタイムにおいて、必要な X サーバーモジュールを動的にロードします。これらのモジュールの一部はサーバーによって自動的に ロードされますが、それ以外は選択肢となり、XFree86サーバー設定ファイルの中で指定しなければ なりません。
XFree86サーバーとその関連設定ファイルは/etc/X11/ディレクトリ内に 保存されています。XFree86サーバー用の設定ファイルは/etc/X11/XF86Configです。 Red Hat Linuxがインストールされると、XFree86の設定ファイルが、インストールプロセスの間にシステム ハードウェアについての情報を使用して作成されます。
/etc/X11/XF86Configを手動で編集が必要なことはあまりありませんが、 トラブルシューティングの時などにさまざまなセクションとオプションパラメータについて 知っておくと便利です。
/etc/X11/XF86Configのファイルはセクションの集まりで構成されており、 それぞれのセクションはシステムハードウェアの特定の動作を担当します。
各セクションはSection "<section-name>" (ここで<section-name>とはセクションの タイトルです)行で始まり、EndSection行で終了します。 各行の中には、オプション名を含む行があり、少なくとも1つのオプション値が ときには引用符で囲まれています。
/etc/X11/XF86Configファイルの幾つかはブール値スィッチを取り、 これが機能のオンとオフの切替えをします。有効なブール値は以下のようになります:
1、on、 true、yes — これらはいずれも、 オプションをオンにします。
0、off、 false、no — これらはいずれも オプションをオフにします。
以下に、標準的な /etc/X11/XF86Configファイルに 表示されている順序のセクションの一部を示します。XFree86ファイルサーバーの 設定ファイルに関する詳細情報はXF86Configのmanページで 確認することができます。
オプションのServerFlagsセクションには、さまざまな グローバルXFree86サーバーの設定が含まれています。このセクションの設定は ServerLayoutセクションに配置されているオプションで 上書きされてしまいます。(詳細は項7.3.1.3で 御覧下さい)。
ServerFlagsセクション内のエントリーはそれぞれ独自の
行にあり、Optionという表示で始まる2重引用符
以下にServerFlagsセクションのサンプルを示します:
Section "ServerFlags" Option "DontZap" "true" EndSection |
役に立つオプションの幾つかを以下に示します:
"DontZap"
"<boolean>" —
<boolean>の値が、「true」の場合、
XFree86サーバーを直ちに停止するような
"DontZoom"
"<boolean>" —
<boolean>の値が、「true」の場合、
ServerLayoutセクションは、XFree86サーバーによって 制御されている入力/出力用のデバイスを組み合わせます。最低でもこのセクションは 1つの出力デバイスと2つの入力デバイス(キーボードとマウス)を指定する必要があります。
次の例では、標準的なServerLayoutセクションを 示しています:
Section "ServerLayout" Identifier "Default Layout" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection |
以下にServerLayoutセクションで一般的に使用される エントリーを示します:
Identifier — このServerLayoutセクション用の 独自の名前を指定します。
Screen — XFree86サーバーで使用される Screenセクションの名前を指定します。複数のScreen オプションが存在することができます。
以下に標準的なScreenエントリーの例を示します:
Screen 0 "Screen0" 0 0 |
この例のScreenエントリー(0)は、 最初のモニターコネクター、あるいはビデオカード上のheadが Screenセクションの指定した設定を識別子"Screen0"で 使用することを示しています。
ビデオカードが複数のヘッドを持っている場合、別の番号と 別のScreenセクション識別子を持つもう1つの Screenエントリーが必要になります。
"Screen0"の右の番号は、画面の左上隅に 使うXとYの絶対座標です(デフォルトは0 0)。
InputDevice — XFree86サーバーと 併用するInputDeviceセクションの名前を指定します。
少なくとも2つのInputDeviceエントリーが必要です: 1つは、デフォルトのマウス用で、もう1つはデフォルトのキーボード用です。 オプションのCorePointerとCoreKeyboardは これらが主要なマウスとキーボードであることを示します。
Option "<option-name>" — このセクションのエクストラパラメーターを指定する オプションのエントリーです。ここにリストされているエントリーは ServerFlagsセクションにリストされている ものを上書きします。
この<option-name>は、 XF86Configのmanページのこのセクションにリストしてある有効な オプションで入れ換えます。
複数のServerLayoutセクションを作成することが出来ます。 しかし、サーバーは、コマンドラインの引数として代用のServerLayout セクションが指定されている場合以外は、最初に表示される物を読み込みます。
Filesセクションは、フォントパスのように、 XFree86サーバーへの重要なサービス用のパスを設定します。
以下の例で、標準的なFilesセクションを示します:
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:7100" EndSection |
以下に一般的にFilesセクションで使用されるエントリーを 示します:
RgbPath — RGBカラーデータベースの 場所を指定します。このデータベースはXFree86の全てのカラー名を定義し、 それを特定のRGB値と結合させます。
FontPath — XFree86 サーバーが、 xfsフォントサーバーからフォントを取り出す為に 接続する必要のある場所を指定します。
デフォルトでは、FontPathはunix/:7100です。 これは、XFree86 サーバーに対して、ポート7100にあるIPC(inter-process communication)用の UNIXドメインソケットを使用してフォント情報を取得するように指示します。
XFree86やフォントの詳細については、項7.4を参照してください。
ModulePath — オプションのパラメーターです。 これはXFree86サーバーモジュールを保存する代替のディレクトリを指定します。
Moduleは、 XFree86サーバーがロードする予定の /usr/X11R6/lib/modules/ディレクトリ内のモジュールを 指定します。モジュールはXFree86サーバーに追加の機能を与えます。
以下の例で標準的なModuleセクションを示します:
Section "Module" Load "dbe" Load "extmod" Load "fbdevhw" Load "glx" Load "record" Load "freetype" Load "type1" Load "dri" EndSection |
各InputDeviceセクションはXFree86サーバーに対して 1つの入力デバイスを設定します。システムは標準レベルで、最低でも 2つのInputDeviceセクション(キーボードとマウス) を持ちます。
以下の例は、マウス用の標準的なInputDevice セクションを示します:
Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "Emulate3Buttons" "no" EndSection |
一般にInputDeviceセクションで使用される エントリーは以下のようになります:
Identifier — InputDeviceセクションの 独自の名前を指定します。これは必須のエントリーです。
Driver — デバイス用にXFree86がロードする必要のある デバイスドライバーの名前を指定します。
Option — そのデバイスに関係する必要なオプションを指定します。
マウスには、以下のオプションがあります:
Protocol — IMPS/2など、マウスで 使用するプロトコルを指定します。
Device — 物理デバイスの場所を指定します。
Emulate3Buttons — 2つのマウスボタンを同時に押した時に 3ボタンマウスのように動作させるかどうか指定します。
このセクションの有効なオプションのリストについては、XF86Configのmanページを 参照してください。
デフォルトでは、InputDeviceセクションには、ユーザーが 追加のオプションを設定できるようにするコメントがあります。
各Monitorセクションは、システムによって使用される モニターのタイプを1つ設定します。1つのMonitorセクションは 最低限必要ですが、マシンによって使用される各モニターの追加分の設定も有り得ます。
モニターの設定で最善の方法は、インストールのプロセス中にXを設定するか、又は X 設定ツールを使用することです。この X 設定ツールの使用に関する詳細はRed Hat Linux 入門ガイドの 中にあるオーディオ、ビデオ、その他の遊びの機能という章でお読み下さい。
次の例は、モニター用の標準的なMonitorセクションを 示しています:
Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "DDC Probed Monitor - ViewSonic G773-2" DisplaySize 320 240 HorizSync 30.0 - 70.0 VertRefresh 50.0 - 180.0 EndSection |
警告 | |
---|---|
/etc/X11/XF86ConfigのMonitorセクション内で 値を手動で編集することには注意が必要です。不適切な値はモニターを損傷したり、破損したり する可能性があります。モニターのマニュアル等で安全な操作用のパラメータ一覧を確認して 下さい。 |
以下にMonitorセクションで一般的に使用される エントリーを示します:
Identifier — Monitorセクション用の 独自に名前を指定します。これは必須のエントリーです。
VendorName — モニターのベンダーを指定する オプションのパラメータです。
ModelName — モニターのモデル名を指定する オプションのパラメータです。
DisplaySize — モニターの表示面積をミリメーターで 指定するオプションのパラメータです。
HorizSync — モニターで互換性のある水平同期周波数の幅を kHz単位で指定します。この値はXFree86サーバーが、モニター用の組込みの、あるいは 指定済のModelineエントリーの有効性を判定するのに役立ちます。
VertRefresh — モニターでサポートされている垂直同期周波数の 幅をkHz単位で指定します。これらの値は、XFree86サーバーが、モニター用の組込みの、あるいは 指定済のModelineエントリーの有効性を判定するのに役立ちます。
Modeline — 特定の水平同期周波数と垂直同期周波数を 固定した、ある解像度でのモニター用の追加のビデオモードを指定するパラメータです。 Modelineエントリーに関する詳細はXF86Configの manページで御覧下さい。
Option "<option-name>" — セクションへのエクストラパラメータを指定するオプションの エントリーです。<option-name>は、 XF86Configのmanページ内のこのセクション用にリストしてある有効な オプションで入れ換えます。
各Deviceセクションは、システム上のビデオカード1つを 設定します。1つのDeviceセクションが最低限ですが、 マシン上にインストールされている各ビデオカードの為に追加分の設定も 有り得ます。
ビデオカードを設定する最善の方法は、インストールプロセス中にXを設定するか、又は X 設定ツールを使用することです。この X 設定ツールの使用についての詳細はRed Hat Linux 入門ガイド の中のオーディオ、ビデオ、その他の遊びの機能の章を 御覧下さい。
次の例は、ビデオカード用の標準的なDeviceセクションを 示しています:
Section "Device" Identifier "Videocard0" Driver "mga" VendorName "Videocard vendor" BoardName "Matrox Millennium G200" VideoRam 8192 Option "dpms" EndSection |
以下にDeviceセクションで一般的に使用される エントリーを示します:
Identifier — このDeviceセクション用の 独自の名前を指定します。これは必須のエントリーです。
Driver — ビデオカードを使用するためにXFree86サーバーが ロードする必要のあるドライバーを指定します。hwdataパッケージで インストールしてある/usr/X11R6/lib/X11/Cardsの中にドライバーの リストがあります。
VendorName — ビデオカードのベンダーを 指定するオプションのパラメータです。
BoardName — ビデオカードの名前を指定する オプションのパラメータです。
VideoRam — ビデオカード上で利用できるRAMの 容量をキロバイトで指定するオプションのパラメータです。この設定はXFree86 サーバーがビデオRAMの容量を検出できなかった時にのみ必要です。
BusID — ビデオカードバスの位置を指定する オプションのパラメータです。このオプションは、システムに複数のカードがある時に のみ必要となります。
Screen — Deviceセクションが 設定するビデオカード上のモニターコネクター又はヘッドを指定するオプションの エントリーです。このオプションは複数ヘッドを持つビデオカードだけに役立ちます。
複数のモニターが同一のビデオカードの異なるヘッドに接続されている 場合、別々の Device セクションが必要となり、各セクションは 異なるScreen 値を持つ必要があります。
Screen エントリーの値は、整数である必要があります。 ビデオカード上の最初のヘッドは、値0を持ちます。各追加の ヘッドは追加の度に値を1つずつ加算していきます。
Option "<option-name>" — このセクションのエクストラパラメータを指定するオプションの エントリーです。<option-name>は XF86Configのmanページのこのセクション用にリストしてある有効な オプションで入れ換えます。
一般的なオプションの1つは"dpms"で、これは モニターのService Star 省電力規定機能を起動します。
各Screenセクションは、1つのビデオカード(又は ビデオカードヘッド)を、Deviceセクションと Monitorセクションをそれぞれ参照することにより、 1つのモニターに結合します。 1つのScreenは最低限 ですが、マシン上にあるビデオカードとモニターのそれぞれの組み合わせの 為に、追加の構成も有り得ます。
以下の例は、標準的なScreenセクションを 示しています:
Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 16 SubSection "Display" Depth 24 Modes "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 16 Modes "1152x864" "1024x768" "800x600" "640x480" EndSubSection EndSection |
以下に一般的に使用されるScreenセクションの エントリーを示します:
Identifier — このScreenセクションの 独自の名前を指定します。これは必須のエントリーです。
Device — Deviceセクションの独自の 名前を指定します。これは必須のエントリーです。
Monitor — Monitorセクションの独自の 名前を指定します。これは必須のエントリーです。
DefaultDepth — デフォルトの色の深さをビットで指定します。 上記の例では16であり、数千の色を提供するデフォルトです。また 最低限1つの指定が必ず必要ですが、複数のDefaultDepthエントリーも 許可されます。
SubSection "Display" — 特定の色の深さで 利用できるスクリーンモードを指定します。Screenセクションは 複数のDisplayサブセクションを使用できますが、必ず、 DefaultDepthエントリーで指定してある色の深さの為の1つの Displayサブセクションが必要です。
Option "<option-name>" — このセクションのエクストラパラメータを指定するオプションの エントリーです。<option-name>は XF86Configの manページの中にあるこのセクション用リスト内の有効な オプションで入れ換えます。
オプションのDRI セクションは、DRI (Direct Rendering Infrastructure)用のパラメータを指定します。 DRI は、最近のビデオハードウェアに組み込まれている3Dソフトウェアアプリケーションを 利用可能にするインターフェイスです。さらには、DRIはビデオカードドライバーにより サポートされている限り、ハードウェアアクセラレーションを経由して2Dのパフォーマンスも 向上させることが出来ます。
ModuleセクションでDRIが有効にあっている場合以外は このセクションは無視されます。
以下の例は、標準的なDRIセクションを 示します:
Section "DRI" Group 0 Mode 0666 EndSection |
異なるビデオカードは、DRIを異なる方法で使用しますので、最初に /usr/X11R6/lib/X11/doc/README.DRIファイルを 参照するまでは、このセクションの値を変更しないで下さい。