# X11 の設定

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

# 5.4. X11 の設定

寄稿: Christopher Shumway.

## 5.4.1. はじめに

X11 の設定を始める前に、 次の情報が必要となります。

- モニタの仕様

- ビデオアダプタのチップセット

- ビデオアダプタのメモリ

モニタの仕様は、X11 がどの解像度とリフレッシュレートで動作するかを決定するために用いられます。 こういった仕様は、通常モニタに付いてくるドキュメントや、 製造元のウェブサイトから取得できます。 必要なものは、水平走査周波数と垂直同期周波数の 2 つの数値範囲です。

ビデオアダプタのチップセットは X11 がグラフィックハードウェアとやり取りするために どのドライバモジュールを使うかを定義します。 ほとんどのチップセットが自動認識されますが、 正常に認識されない時のために知っておくとよいでしょう。

ビデオメモリは、 グラフィックアダプタがどの解像度とどの色数で動くことができるかを決めます。 これは、ユーザが自分のシステムにおける制限を理解するために知っておくことが重要です。

## 5.4.2. X11 の設定

Xorg は、 バージョン 7.3 から設定ファイルを作成することなく

    % startx

と入力するだけで起動するようになりました。

バージョン 7.4 から、Xorg は HAL を用いてキーボードやマウスを自動認識するようになりました。 `x11/xorg` の依存として、 `sysutils/hal` および `devel/dbus` port がインストールされますが、以下のようなエントリを `/etc/rc.conf` ファイルに追加し、 有効にする必要があります。

    hald_enable="YES"
    dbus_enable="YES"

これらのサービスは、 Xorg の設定が行われる前に (手動や再起動によって) 起動している必要があります。

ある種のハードウェアは、自動設定で動作しなかったり、 期待したような設定が行われないかもしれません。 そのような場合には、手動で設定する必要があります。

> Note: GNOME, KDE および Xfce などのデスクトップ環境では、 解像度などのスクリーンパラメータを簡単に設定できるツールがあります。 したがって、デフォルトの設定が満足するようなものではない場合でも、 これらのデスクトップ環境をインストールすることを考えているのであれば、 デスクトップ環境をインストールして、 スクリーン設定ツールを利用してください。

X11 の設定は複数の段階を経て行います。 まずは初期設定ファイルを作りましょう。 スーパーユーザになって次のようにしてください。

    # Xorg -configure

これにより、`/root` ディレクトリに `xorg.conf.new` という X11 の設定ファイルの雛形が生成されます (su(1) か直接ログインのどちらを利用したかが、受け継がれる `$HOME` 環境変数に影響します)。 X11 プログラムはシステム上のグラフィックハードウェアを検出し、 そのハードウェア用の適切なドライバを読み込む設定ファイルを作ります。

次のステップは、作成した設定ファイルで Xorg がそのグラフィックハードウェアで動くことを確認することです。 バージョン 7.3 以前の Xorg では、 以下を実行してください。

    # Xorg -config xorg.conf.new

Xorg 7.4 以降では、 このコマンドを実行すると黒い画面が表示され、 X11 が正常に動作しているかどうかの判断ができません。 古いバージョンと同じ実行結果を得るには、 `retro` オプションを使ってください。

    # Xorg -config xorg.conf.new -retro

黒とグレーのグリッドと X のマウスポインタが現われればその設定は成功です。 テストを終了するには、コマンドを実行した仮想コンソールに Ctrl+Alt+F`n` (1 番目の仮想コンソールへは F1) と入力して切り替え、 Ctrl+C と入力してください。

> Note: バージョン 7.3 以前の Xorg では、 Ctrl+Alt+Backspace キーの組み合わせで Xorg を終了できます。 バージョン 7.4 以降でこのキー操作を利用する場合には、 X 端末エミュレータで以下のコマンドを入力してください。

>     % setxkbmap -option terminate:ctrl_alt_bksp

> または、hald 用のキーボード設定ファイル `x11-input.fdi` を作成して、`/usr/local/etc/hal/fdi/policy` ディレクトリに保存してください。 このファイルには以下を含める必要があります。

>     <?xml version="1.0" encoding="ISO-8859-1"?>
>     <deviceinfo version="0.2">
>       <device>
>         <match key="info.capabilities" contains="input.keyboard">
>           <merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>
>         </match>
>       </device>
>     </deviceinfo>

> hald がこのファイルを読み込むように、 コンピュータを再起動してください。

> `xorg.conf.new` の `ServerLayout` もしくは `ServerFlags` セクションに、以下の行を追加する必要もあるでしょう。

>     Option "DontZap"   "off"

もしマウスが動作しなければ、 先へ進む前にマウスの設定を行う必要があります。 FreeBSD インストールの章の マウスの設定 を参照してください。 さらに、 バージョン 7.4 以降ではデバイスの自動認識のため、 `xorg.conf` の `InputDevice` セクションは無視されます。 古い設定の記述を利用するには、以下の行を ファイルの `ServerLayout` もしくは、 `ServerFlags` セクションに追加してください。

    Option "AutoAddDevices" "false"

これで、以前のバージョンのように、入力デバイスを (キーボードレイアウトの変更のように) 必要なオプションを用いて設定できるようになります。

> Note: すでに説明したように、 バージョン 7.4 以降では、デフォルトで hald デーモンがキーボードを自動的に認識します。 キーボードレイアウトやモデルを正しく認識しない場合でも、 GNOME, KDE もしくは Xfce のようなデスクトップ環境が、 キーボードの設定ツールを提供している可能性があります。 しかしながら、 setxkbmap(1) ユーティリティや hald の設定を利用することで、 キーボードのプロパティを直接設定できます。

> たとえば、フランス語のレイアウトの PC 102 キーボードを使いたい場合には、 hald のキーボード設定ファイル `x11-input.fdi` を作成し、`/usr/local/etc/hal/fdi/policy` ディレクトリに保存してください。 このファイルは以下を含んでいる必要があります。

>     <?xml version="1.0" encoding="ISO-8859-1"?>
>     <deviceinfo version="0.2">
>       <device>
>         <match key="info.capabilities" contains="input.keyboard">
>           <merge key="input.x11_options.XkbModel" type="string">pc102</merge>
>           <merge key="input.x11_options.XkbLayout" type="string">fr</merge>
>         </match>
>       </device>
>     </deviceinfo>

> このファイルがすでに存在する場合には、 キーボードの設定に関する部分をただ単にコピーし、 ファイルに追加してください。

> hald がこのファイルを読み込むように、 コンピュータを再起動してください。

> X 端末やスクリプトから以下のコマンドラインを実行することでも、 同様に設定できます。

>     % setxkbmap -model pc102 -layout fr

> `/usr/local/share/X11/xkb/rules/base.lst` ファイルは、利用可能なキーボード、レイアウトおよびオプションの一覧です。

次は `xorg.conf.new` を好みに合うように調整します。 emacs(1) や ee(1) のようなテキストエディタでファイルを開いてください。 まずモニタの周波数を加えます。 これらは水平と垂直の同期周波数と表現されるのが普通です。 これらの値は `xorg.conf.new` の `"Monitor"` セクションに次のように書き加えます。

       Section "Monitor"
            Identifier   "Monitor0"
            VendorName   "Monitor Vendor"
            ModelName    "Monitor Model"
            HorizSync    30-107
            VertRefresh  48-120
        EndSection

`HorizSync` と `VertRefresh` というキーワードが設定ファイル中にない場合があります。 その場合には、 `HorizSync` キーワードの後には水平走査周波数の、 `VertRefresh` キーワードの後には垂直同期周波数の正しい値を加えてください。 上の例では対象となるモニタの周波数が書かれています。

X はモニタが対応していれば DPMS (Energy Star) 機能を使うことができます。 xset(1) プログラムでタイムアウトをコントロールしたり、 強制的にスタンバイ、サスペンドや電源オフにすることができます。 モニタの DPMS 機能を有効にしたい場合は、 `"Monitor"` セクションに次の行を加えてください。

    Option       "DPMS"

`xorg.conf.new` はエディタで開いたままにしておき、 デフォルトの解像度と色数を好みで選びましょう。 `"Screen"` セクションに以下のように書きます。

    Section "Screen"
            Identifier "Screen0"
            Device     "Card0"
            Monitor    "Monitor0"
            DefaultDepth 24
            SubSection "Display"
                    Viewport  0 0
                    Depth     24
                    Modes     "1024x768"
            EndSubSection
    EndSection

`DefaultDepth` というキーワードは 実行時のデフォルトの色数について記述するためのものです。 Xorg(1) のコマンドラインスイッチ `-depth` が使用された場合はそちらが優先されます。 `Modes` というキーワードは、 与えられた色数におけるデフォルトの解像度を記述しておくためのものです。 ターゲットのシステムのグラフィックハードウェアによって定義されている、 VESA スタンダードモードのみがサポートされていることに注意してください。 上の例ではデフォルトの色数はピクセルあたり 24 ビットであり、 この色数での解像度は 1024 ピクセル× 768 ピクセルです。

最後に、設定ファイルを保存し、 上の例にあるようにテストしてみてください。

> Note: トラブルシューティングの過程で手助けするツールのひとつに X11 のログファイルがあります。これには、 X11 サーバが検知したデバイスそれぞれについての情報があります。 Xorg のログファイル名は `/var/log/Xorg.0.log` という形式です。実際のログファイル名は `Xorg.0.log` から `Xorg.8.log` のように変わります。

すべてうまくいったなら、設定ファイルを Xorg(1) が見つけることができる共通の場所に置きます。 これは、通常は `/etc/X11/xorg.conf` や `/usr/local/etc/X11/xorg.conf` です。

    # cp xorg.conf.new /etc/X11/xorg.conf

これで X11 の設定は完了です。 startx(1) ユーティリティで Xorg を起動できます。また、 xdm(1) を使って X11 サーバを起動することもできます。

## 5.4.3. 高度な設定

### 5.4.3.1. Intel® i810 グラフィックチップセットの設定

Intel® i810 統合チップセットを設定するには、 X11 にカードを制御させるために AGP プログラミングインタフェースである `agpgart` が必要になります。 詳しくは、agp(4) ドライバのマニュアルページをご覧ください。

このドライバを用いることで、 他のグラフィックカードと同様に設定を行うことができるようになります。 カーネルに agp(4) ドライバが組み込まれていないシステムでは、 このモジュールを kldload(8) を使って読み込もうとしても動作しないことに注意してください。 このドライバは、 起動時にカーネル内に存在するようにカーネル内部に組み込むか、 `/boot/loader.conf` を使わなければなりません。

### 5.4.3.2. ワイドスクリーンフラットパネルの追加

この章では、設定に関する幾分高度な知識を必要とします。 これまでに述べた標準ツールを使って設定に失敗する場合は、 ログファイルを参照してください。 ログファイルには、 設定のために有用な情報が十分含まれています。 テキストエディタを使用する必要があるでしょう。

現在のワイドスクリーン (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+ など) は、 16:10 や 10:9 形式、または (問題を含む可能性のある) 他のアスペクト比に対応しています。 以下は、16:10 アスペクト比のスクリーン解像度の例です。

- 2560x1600

- 1920x1200

- 1680x1050

- 1440x900

- 1280x800

これらの解像度のひとつを以下のように `"Screen" セクション` の `Mode` に追加してください。

    Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    DefaultDepth 24
    SubSection "Display"
        Viewport  0 0
        Depth     24
        Modes     "1680x1050"
    EndSubSection
    EndSection

Xorg は、I2C/DDC を通してワイドスクリーンの解像度に関する情報を取得できるので、 モニタの周波数や解像度の範囲を把握しています。

もし、これらの `ModeLines` についての情報がドライバに存在しないのであれば、 Xorg にヒントを与えなけれならないでしょう。 `ModeLine` を手動で設定するのに十分な情報を `/var/log/Xorg.0.log` から得ることができます。 以下のような情報を探してください。

    (II) MGA(0): Supported additional Video Mode:
    (II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
    (II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
    (II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
    (II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

これは EDID と呼ばれる情報です。 この情報を用いて `ModeLine` を作成するには、 正しい順番に数字を入力するだけです。

     ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>

この例では "Monitor" セクションの ModeLine は以下のようになります。

    Section "Monitor"
    Identifier      "Monitor1"
    VendorName      "Bigname"
    ModelName       "BestModel"
    ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
    Option          "DPMS"
    EndSection

以上の簡単な編集作業が終わったら、 新しいワイドスクリーンモニタ上で X が動作するでしょう。

Prev | Home | Next
X11 のインストール | Up | X11 でのフォントの使用