<!--
     The FreeBSD Documentation Project
     The FreeBSD Japanese Documentation Project

     Original revision: 1.173
     $FreeBSD$
-->

<chapter id="x11">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Ken</firstname>
	<surname>Tom</surname>
	<contrib>X.Org X11 サーバ向けに更新 : </contrib>
      </author>
      <author>
	<firstname>Marc</firstname>
	<surname>Fonvieille</surname>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>X Window System</title>

  <sect1 id="x11-synopsis">
    <title>この章では</title>

    <para>FreeBSD
      では、ユーザに強力なグラフィカルインタフェースを提供するために
      X11 を採用しています。
      X11 は X Window System のオープンソースな実装で、
      <application>&xorg;</application> と
      <application>&xfree86;</application> の 2 つがあります。
      &os;&nbsp;5.2.1-RELEASE 以前の
      &os; では、デフォルトの X11 サーバは、&xfree86; Project, Inc
      がリリースしている <application>&xfree86;</application> でした。
      &os;&nbsp;5.3-RELEASE から、デフォルトかつ公式の X11 サーバは
      X.Org Foundation が開発した
      <application>&xorg;</application> に変更されました。</para>

    <para>この章では、<application>&xorg;</application> に重点を置いた
      X11 のインストールと設定について解説します。</para>

    <para>X11 がサポートするビデオハードウェアについての情報は、
      <ulink url="http://www.x.org/">&xorg;</ulink> または
      <ulink url="http://www.XFree86.org/">&xfree86;</ulink>
      の Web サイトをご覧ください。</para>

    <para>この章を読めば以下のことがわかります。</para>

    <itemizedlist>
      <listitem>
	<para>X Window System の様々なコンポーネントと、
	  それらが互いにどのように連携しているか。</para>
      </listitem>

      <listitem>
	<para>X11 のインストールおよび設定方法</para>
      </listitem>

      <listitem>
	<para>様々なウィンドウマネージャのインストール方法</para>
      </listitem>

      <listitem>
	<para>X11 での &truetype; フォントの使い方</para>
      </listitem>

      <listitem>
	<para>GUI ログイン (<application>XDM</application>) のセットアップ方法</para>
      </listitem>
    </itemizedlist>

    <para>この章を読み始める前に以下のことを理解しておく必要があります。</para>

    <itemizedlist>
      <listitem>
	<para>サードパーティ製ソフトウェアのインストール方法について
	  (<xref linkend="ports">)。</para>
      </listitem>
    </itemizedlist>

    <note>
      <para>この章では、<application>&xorg;</application> と
	<application>&xfree86;</application>
	両方の X11 サーバのインストールと設定について説明します。
	多くの部分、設定ファイル、コマンドおよび文法は全く同じです。
	それらに違いがある場合は、<application>&xorg;</application> と
	<application>&xfree86;</application>
	両方の文法を説明します。</para>
    </note>
  </sect1>

  <sect1 id="x-understanding">
    <title>X を理解する</title>
    <para>初めて X を使う場合、&microsoft.windows; や &macos; といった他の
      GUI 環境に慣れている人は多少ショックを受けるでしょう。</para>

    <para>様々な X のコンポーネントについての詳細の全てや、
      それらがどのようにやり取りするかについては理解する必要はありませんが、
      基本的なことをいくつか知っていると
      X を使う際に強力な武器になるでしょう。</para>

    <sect2>
      <title>なぜ X?</title>
      <para>X は、&unix;
	用に書かれた最初のウィンドウシステムではありませんが、
	それらの中では最も広まっているものです。
	X のオリジナルの開発チームは
	X を書く前に別のウィンドウシステムを開発していました。
	そのシステムの名前は <quote>W</quote>
	(<quote>Window</quote>の W) です。
	X は単にローマ字でその次の文字だというだけなのです。</para>

      <para>X は <quote>X</quote>, <quote>X Window System</quote>,
	<quote>X11</quote> などといった用語で呼ぶことができます。
	X11 を <quote>X Windows</quote>
	と呼ぶと気を悪くする人もいるでしょう。
	詳しくは &man.X.7; をご覧ください。</para>
    </sect2>

    <sect2>
      <title>X のクライアント/サーバモデル</title>

      <para>X は最初からネットワークを意識してデザインされており、
	<quote>クライアント - サーバ</quote>モデルを採用しています。</para>

	<para>X では、<quote>X サーバ</quote>はキーボードやモニター、
	マウスが接続されたコンピュータ上で動きます。
	このサーバはディスプレイの表示を管理したり、キーボード、
	マウスなどからの入力を処理したりします。
	各 X アプリケーション (<application>XTerm</application> や
	<application>&netscape;</application> など) は
	<quote>クライアント</quote>になります。
	クライアントは<quote>この座標にウィンドウを描いてください</quote>
	といったメッセージをサーバへ送り、サーバは
	<quote>ユーザが OK ボタンを押しました</quote>
	といったようなメッセージを送り返します。</para>

      <para>家庭や小さなオフィスのような環境では、
	X サーバと X クライアントは一般的に同じコンピュータ上で動作します。
	しかし、X サーバを非力なデスクトップコンピュータで動かし、
	X アプリケーション (クライアント) は例えばオフィス全体を捌くような
	高機能で高価なマシンで動かすことも可能なのです。この場合、
	X のクライアントとサーバの通信はネットワーク越しに行なわれます。</para>

      <para>これは、ある人々を混乱させることがあります。
	X での用語は彼らが想定するものとは正反対だからです。
	彼らは<quote>X サーバ</quote>は地下にある大きなパワフルなマシンであり、
	<quote>X クライアント</quote>が自分たちのデスク上にあると想像するのです。</para>
      
      <para>Xサーバとはモニターとキーボードがついているマシンのことであり、
	X クライアントとはウィンドウを表示するプログラムだということを覚えておいてください。</para>

      <para>X のプロトコルには、クライアントとサーバのマシンが同じ OS
	で動いていなければならないといったことを強制するものはなにもありませんし、
	同じ機種で動いている必要もありません。
	X サーバを &microsoft.windows; や Apple の &macos;
	で動かすことも可能ですし、
	そのようなソフトウェアもフリーのものから商用のまでいろいろとあります。</para>

      <para>&os;&nbsp;5.3-RELEASE から、&os; に付いてくる X サーバは
	<application>&xorg;</application> になりました。これは FreeBSD
	のライセンスに似たライセンスに従ってフリーで配布されています。
	FreeBSD 用の商用 X サーバも入手可能です。</para>
    </sect2>

    <sect2>
      <title>X ウィンドウマネージャ</title>

      <para>X のデザイン哲学は &unix; のそれに非常によく似ており、
	<quote>ツールであってポリシーではない</quote>のです。
	つまり、X
	はあるタスクがどのように達成されるべきかを示すものではありません。
	その代わり、ユーザにはツールが与えられ、
	それらをどうするかはユーザに委ねられているのです。</para>

      <para>この哲学は、X
	ではスクリーン上でウィンドウがどのように見えるべきか、
	マウスでそれらをどうやって動かすか、ウィンドウ間を移動するのに
	どういうキーストロークを使うべきか
	(例えば &microsoft.windows; における
	<keycombo action="simul">
	  <keycap>Alt</keycap>
	  <keycap>Tab</keycap>
	</keycombo>)、
	各ウィンドウのタイトルバーはどのように見えるべきか、
	それらはクローズボタンを持つべきかどうか、
	といったことを示すものではないというところまで拡大して解釈できます。</para>

      <para>その代わりに、X
	ではそういったことを<quote>ウィンドウマネージャ</quote>
	と呼ばれるアプリケーションに任せるのです。
	X 用のウィンドウマネージャは以下のようにたくさんあります。
	<application>AfterStep</application>,
	<application>Blackbox</application>,
	<application>ctwm</application>,
	<application>Enlightenment</application>,
	<application>fvwm</application>,
	<application>Sawfish</application>,
	<application>twm</application>,
	<application>Window Maker</application>
	などなど。
	これらのウィンドウマネージャはそれぞれ異なるルックアンドフィールを持っていますし、
	いくつかは
	<quote>バーチャルデスクトップ</quote>
	をサポートしていますし、
	いくつかはデスクトップのマネージメントにキーストロークをカスタマイズできたり、
	<quote>スタート</quote>
	ボタンやそれに類するものを持っているものもありますし、
	<quote>テーマのサポート</quote>をしており
	新しいテーマを適用することによって
	ルックアンドフィールを完全に変えることができるものもあります。
	これらのウィンドウマネージャやさらに多くのものは
	Ports Collection の <filename>x11-wm</filename>
	というカテゴリからインストールすることが可能です。</para>

      <para>加えて、<application>KDE</application> や
	<application>GNOME</application> といったデスクトップ環境は
	ともにそれぞれのデスクトップに統合された独自のウィンドウマネージャを持っています。</para>

      <para>それぞれのウィンドウマネージャはまた異なる設定機構を備えており、
	手で設定ファイルを編集しなければならないものや、
	設定作業のほとんどを GUI ツールですることができるものもあります。
	少なくとも 1 つ (<application>Sawfish</application>) は
	Lisp 言語の変種で書かれた設定ファイルを持っています。</para>

      <note>
	<title>フォーカスポリシー</title>

	<para>ウィンドウマネージャのもう一つの機能はマウスの
	  <quote>フォーカスポリシー</quote>に関するものです。
	  全てのウィンドウシステムは、ウィンドウを選択しキーストロークを
	  受け付けるようにするための方法が必要です。
	  そして、どのウィンドウがアクティブなのかを示す必要もあります。</para>

	<para>よく知られているフォーカスポリシーは
	  <quote>click-to-focus</quote> と呼ばれるもので、
	  このモデルは &microsoft.windows; で利用されており、
	  あるウィンドウ内でマウスをクリックすればそのウィンドウがアクティブになる、
	  というものです。</para>

	<para>X は特定のフォーカスポリシーを採用していません。
	  代わりにウィンドウマネージャがそれをコントロールします。
	  それぞれのウィンドウマネージャが、
	  それぞれのフォーカスポリシーをサポートしています。
	  全てのものは click-to-focus をサポートしていますし、
	  多くのものは他の方法もサポートしています。</para>

	<para>最もポピュラーなフォーカスポリシーは次のものでしょう</para>

	<variablelist>
	  <varlistentry>
	    <term>focus-follows-mouse</term>

	    <listitem>
	      <para>マウスポインターの下にいるウィンドウがフォーカスされるというものです。
		ウィンドウは最前面にある必要はありません。
		フォーカスを変えるには他のウィンドウにマウスポインターを動かすだけです。
		クリックする必要はありません。</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>sloppy-focus</term>

	    <listitem>
	      <para>これは focus-follows-mouse を少し拡張したものです。
		focus-follows-mouse では、
		マウスがルートウィンドウ (背景) に移動した時には、
		フォーカスされているウィンドウがなくなり、
		キーストロークは単に破棄されます。
		sloppy-focus であれば
		ポインターが別のウィンドウに移った時のみフォーカスが変わり、
		現在のウィンドウから出ただけでは変わりません。</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>click-to-focus</term>

	    <listitem>
	      <para>アクティブなウィンドウはマウスクリックにより選択されます。
		ウィンドウは<quote>持ち上げられ</quote>、
		他の全てのウィンドウの前にきます。
		ポインターが別のウィンドウに動いた時でも、
		全てのキーストロークがこのウィンドウに届きます。</para>
	    </listitem>
	  </varlistentry>
	</variablelist>

	<para>多くのウィンドウマネージャはこういったものに加え、
	  他のポリシーもサポートしています。
	  ウィンドウマネージャ自身のドキュメントもよく読んでください。</para>
      </note>
    </sect2>

    <sect2>
      <title>ウィジェット</title>

      <para>X のツールを提供してもポリシーは提供しないというアプローチは、
	各アプリケーションでスクリーンに現われるウィジェットにも適用されます。</para>

      <para><quote>ウィジェット</quote>はクリック可能であったり、
	他の方法で操作可能なすべてのユーザインタフェース用アイテムを指す用語です。
	ボタンやチェックボックス、ラジオボタン、アイコン、リスト、などがそうです。
	&microsoft.windows; はこれらを<quote>コントロール</quote>と呼んでいます。</para>

      <para>&microsoft.windows; や Apple の &macos;
	はともに非常に厳密なポリシーをウィジェットに課しています。
	アプリケーション開発者は共通のルックアンドフィールに
	確実に従うことを想定されているわけです。
	X では、グラフィカルなスタイルやウィジェットのセットが
	特定のものに合わせたりすることに対してそれほど意識していませんでした。</para>

      <para>すなわち、X
	アプリケーションに共通のルックアンドフィールを期待してはいけません。
	いくつかのポピュラーなウィジェットセットやその亜種があります。
	MIT のオリジナルの Athena ウィジェットや
	<application>&motif;</application> (&microsoft.windows;
	をモデルにした、
	斜めになったエッジやグレイの陰影のウィジェットセットを持っている)、
	<application>OpenLook</application> などです。</para>

      <para>比較的新しい X アプリケーションのほとんどが、
	<application>KDE</application> で使われている Qt や
	<application>GNOME</application> プロジェクトで使われている
	GTK+ のようにモダンな見た目を持ったウィジェットセットを使っています。
	この点で言えば、&unix; のルックアンドフィールは収斂されてきており、
	初心者がより簡単に使えるようになってきています。</para>
    </sect2>
  </sect1>

  <sect1 id="x-install">
    <title>X11 のインストール</title>

    <para><application>&xorg;</application> もしくは
      <application>&xfree86;</application> を
      &os; にインストールできます。
      &os;&nbsp;5.3-RELEASE から、<application>&xorg;</application> が
      &os のデフォルトの X11 になりました。
      <application>&xorg;</application> は  X.Org Foundation
      がリリースしている X Window System のオープンソースな実装です。
      <application>&xorg;</application> は
      <application>&xfree86&nbsp;4.4RC2</application>
      と X11R6.6 のコードを元にしています。
      X.Org Foundation は X11R6.7 を 2004 年 4 月に、X11R6.8.2 を
      2005 年 2 月にリリースしており、
      後者は現在 &os; Ports Collection で利用可能です。</para>

    <para>Ports Collection から <application>&xorg;</application>
      をビルドしインストールするには、以下のように入力します。</para>

    <screen>&prompt.root; <userinput>cd /usr/ports/x11/xorg</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

    <note>
      <para><application>&xorg;</application> をすべてビルドするには、
	少なくとも 4&nbsp;GB の空き容量が必要です。</para>
    </note>

    <para>Ports Collection から <application>&xfree86;</application>
      をビルドしインストールするには、以下のように入力します。</para>

    <screen>&prompt.root; <userinput>cd /usr/ports/x11/XFree86-4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

    <para>package から直接 X11 をインストールすることもできます。
      &man.pkg.add.1; ツールで扱われるバイナリパッケージが
      X11 についても提供されています。
      &man.pkg.add.1; のリモート取得機能を利用する時は、
      package のバージョンは外してください。
      &man.pkg.add.1;
      は自動的にそのアプリケーションの最新版を取得します。</para>

    <para>ですから、<application>&xorg;</application>
      の package を取得してインストールするには、
      次のように入力します。</para>

    <screen>&prompt.root; <userinput>pkg_add -r xorg</userinput></screen>

    <para><application>&xfree86;&nbsp;4.X</application>
      package は以下のように入力してインストールできます。</para>

    <screen>&prompt.root; <userinput>pkg_add -r XFree86</userinput></screen>

    <note>
      <para>上記の例では、サーバ、クライアント、フォントなどを含んだ
	X11 ディストリビューション全体をインストールします。
	分割された X11 のパッケージや ports も利用できます。</para>
    </note>

    <para>この章の残りでは、X11 をどのように設定すればよいか、
      また生産性の高いデスクトップ環境をどのように設定するかについて解説します。</para>

    <sect2 id="x-to-xorg">
      <title><application>&xfree86;</application> から
      <application>&xorg;</application> への移行</title>

      <para>他の port と同じように、変更点を
	<filename>/usr/ports/UPDATING</filename>
	ファイルで確認してください。このファイルには、システムを
	<application>&xfree86;</application> から
	<application>&xorg;</application>
	に移行するための手順が説明されています。</para>

      <para>変更を試みる前に、<application>CVSup</application>
	を使って ports ツリーを更新してください。X11 を変更する前に、
	<filename role="package">sysutils/portupgrade</filename>
	をインストールする必要もあるでしょう。</para>

      <para><filename>/etc/make.conf</filename> に
	<literal>X_WINDOW_SYSTEM=xorg</literal>
	という変数を追加する必要があります。
	これは、システムにどの X11 を使用するかを指定します。以前の
	<literal>XFREE86_VERSION</literal> 変数は使用されなくなり、
	<literal>X_WINDOW_SYSTEM</literal> 変数に置き換えられました。</para>

      <para>その後、以下のコマンドを実行します。</para>

      <screen>&prompt.root; <userinput>pkg_delete -f /var/db/pkg/imake-4* /var/db/pkg/XFree86-*</userinput>
&prompt.root; <userinput>cd /usr/ports/x11/xorg</userinput>
&prompt.root; <userinput>make install clean</userinput>
&prompt.root; <userinput>pkgdb -F</userinput></screen>

      <para>&man.pkgdb.1; コマンドは
	<application>portupgrade</application>
	ソフトウェアの一部で、パッケージの依存関係を更新します。</para>

      <note>
	<para><application>&xorg;</application> をすべてビルドするには、
	  少なくとも 4&nbsp;GB の空き容量が必要です。</para>
      </note>
    </sect2>
  </sect1>

  <sect1 id="x-config">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Christopher</firstname>
          <surname>Shumway</surname>
          <contrib>寄稿: </contrib>
          <!-- July 2001 -->
        </author>
      </authorgroup>
    </sect1info>
    <title>X11 の設定</title>

    <indexterm><primary>&xfree86;&nbsp;4.X</primary></indexterm>
    <indexterm><primary>&xfree86;</primary></indexterm>
    <indexterm><primary>&xorg;</primary></indexterm>
    <indexterm><primary>X11</primary></indexterm>

    <sect2>
      <title>はじめに</title>

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

      <itemizedlist>
	<listitem><para>モニターの仕様</para></listitem>
	<listitem><para>ビデオアダプタのチップセット</para></listitem>
	<listitem><para>ビデオアダプタのメモリー</para></listitem>
      </itemizedlist>

      <indexterm><primary>水平走査周波数</primary></indexterm>
      <indexterm><primary>垂直同期周波数</primary></indexterm>

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

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

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

    </sect2>

    <sect2>
      <title>X11 の設定</title>

      <para>X11 の設定は複数のステップの処理に分けられます。
	まずは初期設定ファイルを作りましょう。
	スーパーユーザになって次のようにしてください。</para>

      <screen>&prompt.root; <userinput>Xorg -configure</userinput></screen>

      <para><application>&xfree86;</application>
	の場合は、以下のように入力します。</para>

      <screen>&prompt.root; <userinput>XFree86 -configure</userinput></screen>

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

      <para>次のステップは、作成した設定ファイルで
	<application>&xorg;</application>
	がそのグラフィックハードウェアで動くことを確認することです。
	そのためには以下のようにします。</para>

      <screen>&prompt.root; <userinput>Xorg -config xorg.conf.new</userinput></screen>

      <para><application>&xfree86;</application>
	ユーザは以下のようにします。</para>

      <screen>&prompt.root; <userinput>XFree86 -xf86config XF86Config.new</userinput></screen>

      <para>黒とグレーのグリッドと
	X のマウスポインターが現われればその設定は成功です。
	テストから抜け出すためには単に次のキーを同時に押します。
	<keycombo action="simul">
	  <keycap>Ctrl</keycap>
	  <keycap>Alt</keycap>
	  <keycap>Backspace</keycap>
	</keycombo></para>

      <note>
	<para>もしマウスが動作しなければ、
	  先へ進む前にマウスの設定を行う必要があります。
	  &os; インストールの章の
	  <!-- ryusuke:2005/11/09
	       activate this block after updating install/chapter.sgml
	       <xref linkend="mouse">
	  -->
	  <!-- the next line should be removed when linkend="mouse" is activated -->
	  マウスの設定
	  を参照してください。</para>
      </note>

      <indexterm><primary>X11 のチューニング</primary></indexterm>

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

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

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

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

      <programlisting>Option       "DPMS"</programlisting>

      <indexterm>
	<primary><filename>xorg.conf</filename></primary>
      </indexterm>
      <indexterm>
	<primary><filename>XF86Config</filename></primary>
      </indexterm>

      <para><filename>xorg.conf.new</filename>
	(もしくは <filename>XF86Config.new</filename>)
	はエディターで開いたままにしておき、
	デフォルトの解像度と色数を好みで選びましょう。
	<literal>"Screen"</literal>
	セクションに以下のように書きます。</para>

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

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

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

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

      <para>
	すべてうまくいったなら、設定ファイルを &man.Xorg.1;
	(もしくは &man.XFree86.1;) が見つけることができる共通の場所に置きます。
	これは、通常は <filename>/etc/X11/xorg.conf</filename> や
	<filename>/usr/X11R6/etc/X11/xorg.conf</filename>
	(<application>&xfree86;</application> では
	<filename>/etc/X11/XF86Config</filename> や
	<filename>/usr/X11R6/etc/X11/XF86Config</filename>) です。</para>

      <screen>&prompt.root; <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput></screen>

      <para><application>&xfree86;</application>
	では、以下のようにします。</para>

      <screen>&prompt.root; <userinput>cp XF86Config.new /etc/X11/XF86Config</userinput></screen>

      <para>これで X11 の設定は完了です。
	&man.startx.1; で
	<application>&xfree86;&nbsp;4.X</application> を起動するために
	<filename role="package">x11/wrapper</filename>
	ポートをインストールします。
	<application>&xorg;</application> にはすでに
	wrapper コードが組み込まれており、
	wrapper port をインストールする必要はありません。
	&man.xdm.1; を使って X11 サーバを起動することもできます。</para>

      <note>
	<para>X11 配布物に含まれている
	  &man.xorgcfg.1; (<application>&xfree86;</application> では
	  &man.xf86cfg.1;) というグラフィカルな設定ツールもあります。
	  これは、対話的に
	  適切なドライバと設定を選択して設定を行うことができます。
	  このプログラムは、<command>xorgcfg -textmode</command>
	  コマンドでコンソール環境から起動することもできます。
	  詳しくは、 &man.xorgcfg.1; と &man.xf86cfg.1;
	  のマニュアルページを参照してください。</para>

      <para>そのほかに、&man.xorgconfig.1;
	(<application>&xfree86;</application> では
	&man.xf86config.1;) というツールもあります。
	このプログラムはユーザフレンドリではないコンソールユーティリティですが、
	他のツールが動作しない状況でも動作する可能性が高いでしょう。</para></note>

    </sect2>

    <sect2>
      <title>高度な設定</title>

      <sect3>
	<title>&intel; i810 グラフィックチップセットの設定</title>

        <indexterm><primary>Intel i810 graphic chipset</primary></indexterm>

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

	 <para>これで他のグラフィックカードと同様に設定を行うことができるようになります。
	   カーネルに &man.agp.4; ドライバが組み込まれていないシステムでは、
	   &man.kldload.8;
	   モジュールをロードしようとしても動作しないということに注意してください。
	   このドライバは、カーネル内部に組み込まれるか、もしくは、
	   <filename>/boot/loader.conf</filename>
	   を使用することで、
	   起動時にカーネル内に存在する必要があります。</para>

	<para>もし <application>&xfree86;&nbsp;4.1.0</application>
	  (もしくはそれ以降) を使っており、
	  <literal>fbPictureInit</literal>
	  といったようなシンボルが見つからないというメッセージが現われるなら、
	  X11 設定ファイルで <literal>Driver "i810"</literal>
	  の後に次のような行を入れてみてください。</para>
	<programlisting>Option "NoDDC"</programlisting>
      </sect3>
    </sect2>
  </sect1>

  <sect1 id="x-fonts">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Murray</firstname>
          <surname>Stokely</surname>
          <contrib>寄稿: </contrib>
        </author>
      </authorgroup>
    </sect1info>
    <title>X11 でのフォントの使用</title>

    <sect2 id="type1">
      <title>Type1 フォント</title>
      <para>X11
	に付いてくるデフォルトのフォントは通常のデスクトップパブリッシングアプリケーションにとっては理想的とは言えない程度のものです。
	文字を大きくするとジャギーになりプロフェッショナルとは言えないようなものになりますし、
	<application>&netscape;</application> での小さなフォントは頭が悪そうに見えます。
	しかし、世の中には質の高い Type1 (&postscript;) フォントがいくつかあり、
	X11 ではそれらを簡単に利用することができます。
	例えば、URW フォントコレクション (<filename role="package">x11-fonts/urwfonts</filename>) には高品質の
	Type1 フォント (<trademark class="registered">Times Roman</trademark>,
	<trademark class="registered">Helvetica</trademark>,
	<trademark class="registered">Palatino</trademark> など) が含まれています。
	freefont コレクション (<filename role="package">x11-fonts/freefonts</filename>) にはもっとたくさんのフォントが含まれていますが、
	それらは <application>Gimp</application> のようなグラフィックソフトウェアで使用するためのものであり、
	スクリーンフォントとしては十分ではありません。さらに、X11
	は簡単に &truetype; フォントを使うように設定することも可能です。
	詳しくは、&man.X.7; のマニュアルページか
	<link linkend="truetype">&truetype; フォントの節</link>
	を参照してください。</para>

      <para>上記の Type1 フォントコレクションを ports から入れる場合には次のコマンドを実行してください。</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <para>freefont や他のコレクションでも同じようにします。
	X サーバがこれらのフォントを検出できるようにするには
	<filename>/etc/X11/</filename> にある X サーバ設定ファイル
	(<application>&xorg;</application> では
	<filename>xorg.conf</filename>、
	<application>&xfree86;</application> では
	<filename>XF86Config</filename>)
	の適切な場所に次のような行を加えます。</para>

      <programlisting>FontPath "/usr/X11R6/lib/X11/fonts/URW/"</programlisting>

      <para>別の方法としては、X のセッション中に次のようなコマンドラインを実行します。</para>

      <screen>&prompt.user; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/URW</userinput>
&prompt.user; <userinput>xset fp rehash</userinput></screen>

      <para>これは動くのですが、X のセッションが終了すると消えてしまいます。
	消えないようにするには X の起動時に読み込まれるファイル
	(通常の <command>startx</command> セッションの場合は <filename>~/.xinitrc</filename>,
	<application>XDM</application> のようなグラフィカルなログインマネージャを通してログインする時は
	<filename>~/.xsession</filename>) に加えておきます。
	三番目の方法は新しい
	<filename>/usr/X11R6/etc/fonts/local.conf</filename>
	ファイルを使うことです。
	これに関しては <link linkend="antialias">アンチエイリアス</link>のセクションを参照してください。
      </para>
    </sect2>

    <sect2 id="truetype">
      <title>&truetype; フォント</title>

      <indexterm><primary>TrueType フォント</primary></indexterm>
      <indexterm><primary>フォント</primary>
	<secondary>TrueType</secondary>
      </indexterm>

      <para><application>&xfree86;&nbsp;4.X</application> と
	<application>&xorg;</application> のどちらにも
	この機能を実現するために二つの異なるモジュールがあります。
	ここでは、freetype のほうが他のフォントレンダリングバックエンドと整合性が高いので、
	このモジュールを使うことにします。
	freetype モジュールを使うためには <filename>/etc/X11/xorg.conf</filename>
	もしくは <filename>/etc/X11/XF86Config</filename> ファイルの
	<literal>"Module"</literal> セクションに以下の行を追加するだけです。</para>

      <programlisting>Load  "freetype"</programlisting>

      <para><application>&xfree86;&nbsp;3.3.X</application> の場合、
	&truetype; フォントサーバが別に必要となります。
	<application>Xfstt</application> がよく使われるものです。
	<application>Xfstt</application> をインストールするのは簡単で、
	<filename role="package">x11-servers/Xfstt</filename> を利用してください。</para>

      <para>さて、まずは &truetype; フォント用のディレクトリ
	(例えば <filename>/usr/X11R6/lib/X11/fonts/TrueType</filename>)
	を作り、そこに &truetype; フォントを全て放り込みましょう。
	&macintosh; の &truetype; フォントは、そのままでは使うことができませんので注意してください。
	X11 で使うには &unix;/&ms-dos;/&windows;
	用のフォーマットでなければなりません。
	ファイルを置いたら <application>ttmkfdir</application> を使って
	<filename>fonts.dir</filename> ファイルを作ってください。
	このファイルにより、X は新しいファイルがイントールされたことを理解します。
	<command>ttmkfdir</command> は FreeBSD Ports Collection,
	<filename role="package">x11-fonts/ttmkfdir</filename>、からインストールできます。</para>

      <screen>&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts/TrueType</userinput>
&prompt.root; <userinput>ttmkfdir &gt; fonts.dir</userinput></screen>

      <para>次に &truetype; フォントのディレクトリをフォントパスに追加します。
	上の <link linkend="type1">Type1</link> フォントの場合と同じように、</para>

      <screen>&prompt.user; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/TrueType</userinput>
&prompt.user; <userinput>xset fp rehash</userinput></screen>

      <para>とするか、もしくは <filename>xorg.conf</filename>
	(もしくは <filename>XF86Config</filename>) ファイルに
	<literal>FontPath</literal> 行を追加するのです。</para>

      <para>これで終わりです。<application>&netscape;</application> や
	<application>Gimp</application>, <application>&staroffice;</application>
	といった全ての X アプリケーションから &truetype; フォントを使うことができます。
	(高解像度なディスプレイで見る Web ページ上のテキストみたいな)
	とても小さなフォントや (<application>&staroffice;</application> にあるような)
	非常に大きなフォントもかなり綺麗に見えるようになることでしょう。</para>
    </sect2>

    <sect2 id="antialias">
      <sect2info>
	<authorgroup>
	  <author>
	    <firstname>Joe Marcus</firstname>
	    <surname>Clarke</surname>
	    <contrib>更新 : </contrib> 
	    <!-- May 2003 -->
	  </author>
	</authorgroup>
      </sect2info>

      <title>フォントのアンチエイリアス</title>

      <indexterm><primary>フォントのアンチエイリアス</primary></indexterm>
      <indexterm><primary>フォント</primary>
	<secondary>アンチエイリアス</secondary></indexterm>

      <para>アンチエイリアスは <application>&xfree86;</application>
	4.0.2 から X11 で利用できるようになっています。
	しかし、<application>&xfree86;</application> 4.3.0
	以前はフォントの設定は扱いづらいものでした。
	<application>&xfree86;</application> 4.3.0 から、
	<filename>/usr/X11R6/lib/X11/fonts/</filename> と
	<filename>~/.fonts/</filename> にあるすべての X11 のフォントが Xft
	に対応しているアプリケーションで自動的にアンチエイリアス表示できるようになりました。
	全てのアプリケーションが Xft に対応しているわけではありませんが、
	多くは Xft に対応しています。
	Xft に対応するアプリケーションの一例として、Qt 2.3 以降
	(<application>KDE</application>
	デスクトップ向けのツールキット)、GTK+ 2.0 以降
	(<application>GNOME</application>
	デスクトップ向けのツールキット)、そして
	<application>Mozilla</application> 1.2
	以降などがあります。</para>

      <para>どのフォントがアンチエイリアスされるかを制御するため、
	もしくはアンチエイリアスの特性を設定するために、
	<filename>/usr/X11R6/etc/fonts/local.conf</filename>
	ファイルを作成 (すでに存在しているのなら編集) します。
	多くの Xft フォントシステムの高度な機能をこのファイルを使って調整できます。
	この節ではいくつか簡単なところだけを紹介します。
	詳しくは、&man.fonts-conf.5; をご覧ください。</para>

      <indexterm><primary>XML</primary></indexterm>

      <para>このファイルは XML 形式でなければなりません。
	大文字小文字の区別に注意を払い、
	全てのタグが正しく閉じられているか確認してください。
	ファイルは一般的な XML ヘッダで始まり、DOCTYPE 定義と
	<literal>&lt;fontconfig&gt;</literal>
	タグがその後にきます。</para>

      <programlisting>
        &lt;?xml version="1.0"?&gt;
        &lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;
        &lt;fontconfig&gt;
      </programlisting>

      <para>すでに説明したように、
	<filename>/usr/X11R6/lib/X11/fonts/</filename> と
	<filename>~/.fonts/</filename> にある全てのフォントは
	Xft 対応のアプリケーションで利用できます。
	これら 2 つ以外の別のディレクトリを追加したいのなら、
	<filename>/usr/X11R6/etc/fonts/local.conf</filename>
	に以下のような行を追加します。</para>

      <programlisting>&lt;dir&gt;/path/to/my/fonts&lt;/dir&gt;</programlisting>

      <para>新しいフォント、
	そして特に新しいフォントディレクトリを追加したら、
	以下のコマンドを実行してフォントキャッシュを再構築してください。</para>

      <screen>&prompt.root; <userinput>fc-cache -f</userinput></screen>

      <para>アンチエイリアスをかけることによって境界が少しぼやけ、
	そのためにとても小さなテキストはさらに読みやすくなり、
	大きなフォントでは<quote>ギザギザ</quote>が消えるのです。
	しかし、普通のテキストにかけた場合には目が疲れることになります。
	14 ポイント以下のサイズのフォントについて、
	アンチエイリアスをかけないようにするには次の行を加えます。</para>
      
      <programlisting>        &lt;match target="font"&gt;
            &lt;test name="size" compare="less"&gt;
                &lt;double&gt;14&lt;/double&gt;
            &lt;/test&gt;
            &lt;edit name="antialias" mode="assign"&gt;
                &lt;bool&gt;false&lt;/bool&gt;
            &lt;/edit&gt;
        &lt;/match&gt;
        &lt;match target="font"&gt;
            &lt;test name="pixelsize" compare="less" qual="any"&gt;
                &lt;double&gt;14&lt;/double&gt;
            &lt;/test&gt;
            &lt;edit mode="assign" name="antialias"&gt;
                &lt;bool&gt;false&lt;/bool&gt;
            &lt;/edit&gt;
        &lt;/match&gt;</programlisting>

      <indexterm><primary>フォント</primary>
	<secondary>スペーシング</secondary></indexterm>

      <para>いくつかの等幅フォントは、
	アンチエイリアスをかけるとスペーシングがうまくいかなくなる場合があります。
	特に <application>KDE</application> でその傾向があるようです。
	解決策の一つとして、そういったフォントのスペーシングを 100 に設定する方法があります。
	そうするためには次の行を加えてください。</para>

      <programlisting>        &lt;match target="pattern" name="family"&gt;
            &lt;test qual="any" name="family"&gt;
                &lt;string&gt;fixed&lt;/string&gt;
            &lt;/test&gt;
            &lt;edit name="family" mode="assign"&gt;
                &lt;string&gt;mono&lt;/string&gt;
            &lt;/edit&gt;
        &lt;/match&gt;
        &lt;match target="pattern" name="family"&gt;
            &lt;test qual="any" name="family"&gt;
                &lt;string&gt;console&lt;/string&gt;
            &lt;/test&gt;
            &lt;edit name="family" mode="assign"&gt;
                &lt;string&gt;mono&lt;/string&gt;
            &lt;/edit&gt;
        &lt;/match&gt;</programlisting>

      <para>(これは fixed というフォントに、
	<literal>"mono"</literal> という一般名を別名として付けます)。
	そして以下を追加します。</para>

      <programlisting>        &lt;match target="pattern" name="family"&gt;
            &lt;test qual="any" name="family"&gt;
                &lt;string&gt;mono&lt;/string&gt;
            &lt;/test&gt;
            &lt;edit name="spacing" mode="assign"&gt;
                &lt;int&gt;100&lt;/int&gt;
            &lt;/edit&gt;
        &lt;/match&gt;</programlisting>

      <para>Helvetica の様なある種のフォントは、
	アンチエイリアスをかけると問題が起こるでしょう。
	たいてい、フォントが縦に半分に切られて表示されます。
	最悪の場合、<application>Mozilla</application>
	の様なアプリケーションがクラッシュします。
	これを回避するには、以下を <filename>local.conf</filename>
	に追加します。</para>

      <programlisting>        &lt;match target="pattern" name="family"&gt;
            &lt;test qual="any" name="family"&gt;
                &lt;string&gt;Helvetica&lt;/string&gt;
            &lt;/test&gt;
            &lt;edit name="family" mode="assign"&gt;
                &lt;string&gt;sans-serif&lt;/string&gt;
            &lt;/edit&gt;
        &lt;/match&gt;</programlisting>

      <para><filename>local.conf</filename> の編集を終えたら、
	ファイルの末尾に <literal>&lt;/fontconfig&gt;</literal>
	タグを追加してください。
	これを行わなければ、変更は無視されるでしょう。</para>

      <para>X11 とともにインストールされるデフォルトのフォントセットは、
	アンチエイリアスをかけるにはあまり向いていません。
	デフォルトのフォントセットとしてよりよいものが
	<filename role="package">x11-fonts/bitstream-vera</filename>
	にあります。この port は、
	<filename>/usr/X11R6/etc/fonts/local.conf</filename>
	ファイルがまだ存在していなければ作成します。
	ファイルが存在すると、port は
	<filename>/usr/X11R6/etc/fonts/local.conf-vera</filename>
	ファイルを作成します。このファイルの内容を
	<filename>/usr/X11R6/etc/fonts/local.conf</filename>
	へ追加してください。そうすれば、Bitstream フォントがデフォルトの
	X11 Serif, Sans Serif そして Monospaced
	フォントを自動的に置き換えます。</para>

      <para>最後に、ユーザは自分だけの設定を各自の
	<filename>.fonts.conf</filename> ファイルに追加できます。
	これを行うためには、それぞれのユーザが単に
	<filename>~/.fonts.conf</filename> を作成するだけです。
	このファイルも XML 形式でなければなりません。</para>

      <indexterm><primary>LCD スクリーン</primary></indexterm>
      <indexterm><primary>フォント</primary>
	<secondary>LCD スクリーン</secondary></indexterm>

      <para>最後に一つ。LCD スクリーンではサブピクセルサンプリングが必要な場合があります。
	これは、基本的には (水平方向に分かれている) 赤、緑、
	青の各コンポーネントを別々に扱うことによって水平方向の解像度を良くするというもので、
	そうすることによって劇的な結果が得られます。
	これを有効にするには <filename>local.conf</filename>
	ファイルに次の行を加えます。</para>

      <programlisting>
        &lt;match target="font"&gt;
            &lt;test qual="all" name="rgba"&gt;
                &lt;const&gt;unknown&lt;/const&gt;
            &lt;/test&gt;
            &lt;edit name="rgba" mode="assign"&gt;
                &lt;const&gt;rgb&lt;/const&gt;
            &lt;/edit&gt;
        &lt;/match&gt;
      </programlisting>

      <note>
	<para>ディスプレイの種類にもよりますが、
	  <literal>rgb</literal> ではなく
	  <literal>bgr</literal> や <literal>vrgb</literal>、もしくは
	  <literal>vbgr</literal> の場合もあるので、
	  試してみて最も良いものを使ってください。</para>
      </note>

      <indexterm>
	<primary>Mozilla</primary>
	<secondary>アンチエイリアスフォントの無効化</secondary>
      </indexterm>

      <para>アンチエイリアスは、次に
	X サーバを立ち上げた時から有効になります。しかし、
	上でも述べたようにその恩恵を受けるにはプログラム側での対処も必要です。
	今のところ Qt ツールキットは対応しているため、
	<application>KDE</application>
	環境全体でアンチエイリアスのかかったフォントを用いることができます。
	GTK+ と <application>GNOME</application> も <quote>Font</quote>
	capplet を通してアンチエイリアスを利用できます
	(詳しくは<xref linkend="x11-wm-gnome-antialias">を参照してください)。
	デフォルトで、<application>Mozilla</application> 1.2 以降は
	自動的にアンチエイリアスを使用します。
	これを無効にするには、<makevar>-DWITHOUT_XFT</makevar>
	フラグをつけて <application>Mozilla</application>
	を再ビルドします。</para>
    </sect2>
  </sect1>

  <sect1 id="x-xdm">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Seth</firstname>
	  <surname>Kingsley</surname>
	  <contrib>寄稿: </contrib>
	</author>
      </authorgroup>
    </sect1info>
    <title>X ディスプレイマネージャ</title>
    <sect2>
      <title>概要</title>

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

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

    <sect2>
      <title>XDM の使用</title>

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

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

      <para>があります。このエントリーはデフォルトでは無効になっており、
	有効にするには 5 番目のカラムを <literal>off</literal> から
	<literal>on</literal> にし、<xref linkend="term-hup"> の指示に従って
	&man.init.8; を再起動します。最初のカラムはこのプログラムが管理する端末の名前で、
	この場合 <literal>ttyv8</literal> になります。
	つまり、<application>XDM</application> は 9 番目仮想端末で起動されるということです。</para>
    </sect2>

    <sect2>
      <title>XDM の設定</title>

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

      <informaltable frame="none" pgwide="1">
	<tgroup cols="2">
	  <thead>
	    <row>
	      <entry>ファイル</entry>
	      <entry>説明</entry>
	    </row>
	  </thead>

	  <tbody>
	    <row>
	      <entry><filename>Xaccess</filename></entry>
	      <entry>クライアント認証のルールセット</entry>
	    </row>

	    <row>
	      <entry><filename>Xresources</filename></entry>
	      <entry>デフォルトの X リソース</entry>
	    </row>

	    <row>
	      <entry><filename>Xservers</filename></entry>
	      <entry>管理すべきリモートやローカルのディスプレイのリスト</entry>
	    </row>

	    <row>
	      <entry><filename>Xsession</filename></entry>
	      <entry>デフォルトのログイン時のセッションスクリプト</entry>
	    </row>

	    <row>
	      <entry><filename>Xsetup_</filename>*</entry>
	      <entry>ログインインタフェースの前にアプリケーションを起動するためのスクリプト</entry>
	    </row>

	    <row>
	      <entry><filename>xdm-config</filename></entry>
	      <entry>このマシンで動いている全てのディスプレイのグローバルな設定</entry>
	    </row>

	    <row>
	      <entry><filename>xdm-errors</filename></entry>
	      <entry>サーバプログラムによって生成されるエラー</entry>
	    </row>

	    <row>
	      <entry><filename>xdm-pid</filename></entry>
	      <entry>現在動いている XDM のプロセス ID</entry>
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>

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

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

      <sect3>
	<title>Xaccess</title>

	<para><application>XDM</application>
	  がコントロールするディスプレイに接続するためのプロトコルは
	  X Display Manager Connection Protocol (XDMCP) と呼ばれます。
	  このファイルにはリモートのマシンからの
	  XDMCP 接続をコントロールするためのルールセットが書かれます。
	  これは、<filename>xdm-config</filename>
	  を変更してリモートからのコネクションを待ち受けるようにしない限り無視されます。
	  デフォルトでは、どのクライアントからの接続も拒否します。</para>
      </sect3>

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

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

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

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

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

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

    <sect2>
      <title>ネットワークディスプレイサーバの起動</title>

      <para>あるディスプレイサーバに他のクライアントが接続することができるようにするために、
	アクセスコントロールのルールを編集し、
	コネクションリスナーを有効にします。
	デフォルトでは保守的な設定になっています。
	<application>XDM</application>
	がそういったコネクションを待ち受けるようにするためには
	<filename>xdm-config</filename>
	にある次の行をコメントアウトします。</para>

      <screen>! 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</screen>

      <para>そして、<application>XDM</application> を再起動します。
	app-defaults ファイルにおけるコメントは <quote>!</quote>
	であっていつものような <quote>#</quote> ではないことに注意してください。
	アクセス制限はもっと厳しくしたいかもしれません。
	<filename>Xaccess</filename> にある例を参考にしたり、オンラインマニュアル
	&man.xdm.1; を参照したりしてください。</para>
    </sect2>

    <sect2>
      <title>XDM の代わりになるもの</title>

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

  <sect1 id="x11-wm">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Valentino</firstname>
	  <surname>Vaschetto</surname>
	  <contrib>寄稿: </contrib>
	</author>
	<!-- June 2001 -->
      </authorgroup>
    </sect1info>

    <title>デスクトップ環境</title>

    <para>このセクションでは、FreeBSD 上の X で利用可能ないくつかのデスクトップ環境について解説します。
      <quote>デスクトップ環境</quote>とは、単なるウィンドウマネージャから <application>KDE</application>
      や <application>GNOME</application> といったような完全なデスクトップアプリケーションスイートまでカバーします。</para>

    <sect2 id="x11-wm-gnome">
      <title>GNOME</title>

      <sect3 id="x11-wm-gnome-about">
        <title>GNOME について</title>

	<indexterm><primary>GNOME</primary></indexterm>
        <para><application>GNOME</application> はユーザフレンドリーなデスクトップ環境で、
	  ユーザはコンピュータを簡単に使ったり設定したりできるようになります。
	  <application>GNOME</application> にはパネル (アプリケーションを起動したり状態を表示したりするもの)
	  、デスクトップ (データやアプリケーションが置かれる場所)、
	  標準的なデスクトップツールやアプリケーションのセット、
	  そしてアプリケーションが互いにうまくやり取りできるような仕組みが含まれています。
	  他の OS や環境に慣れている人でも
	  <application>GNOME</application>
	  の提供するグラフィック環境であれば心地よく感じるでしょう。
	  FreeBSD 上の <application>GNOME</application>
	  に関するもっと詳しい情報は、
	  <ulink url="http://www.FreeBSD.org/gnome">FreeBSD GNOME Project</ulink>
	  の Web サイトで見ることができます。
	  Web サイトには、<application>GNOME</application>
	  のインストール、設定、管理に関する十分分かりやすい FAQ
	  もあります。</para>
      </sect3>

      <sect3 id="x11-wm-gnome-install">
        <title>GNOME のインストール</title>

	<para><application>GNOME</application>
	  をインストールする最も簡単な方法は、第 2 章の
	  <!-- ryusuke:2005/09/07
  	    should be refer this after updating install/chapter.sgml
	  	<xref linkend="default-desktop">
	  -->
	  デフォルトのデスクトップ環境の選択
	  で解説した FreeBSD のインストールメニューの
	  <quote>デスクトップ環境の設定</quote>を通して行うことです。
	  また、package や ports を利用しても簡単にインストールできます。</para>

        <para><application>GNOME</application> package をネットワークからインストールするには、
	  以下のようにするだけです。</para>

	<screen>&prompt.root; <userinput>pkg_add -r gnome2</userinput></screen>

        <para><application>GNOME</application> をソースから構築する場合、
	  次のように ports ツリーを使いましょう。</para>

	<screen>&prompt.root; <userinput>cd /usr/ports/x11/gnome2</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

        <para><application>GNOME</application> がインストールできたら、デフォルトのウィンドウマネージャの代わりに
	  <application>GNOME</application> を起動するように X サーバに教えます。</para>

	<para><application>GNOME</application> を起動する最も簡単な方法は、
	  GNOME ディスプレイマネージャ <application>GDM</application> を使うことです。
	  <application>GNOME</application> デスクトップの一部としてインストールされる
	  (しかし、デフォルトでは無効になっている) <application>GDM</application> は
	  <filename>/etc/rc.conf</filename> に <literal>gdm_enable="YES"</literal>
	  を追加すると有効になります。
	  再起動してログインすると、<application>GNOME</application>
	  が自動的に起動します。これ以上の設定は必要ありません。</para>

        <para><application>GNOME</application> は <filename>.xinitrc</filename>
          という名前のファイルを適切に設定することで、コマンドラインから起動することもできます。
	  自分の <filename>.xinitrc</filename> が既にある場合には、ウィンドウマネージャを起動するところの行を
	  <application>/usr/X11R6/bin/gnome-session</application> を起動するように変更するだけです。
	  特にこのファイルを用意していない場合には次のようにすれば十分でしょう。</para>

        <screen>&prompt.user; <userinput>echo "/usr/X11R6/bin/gnome-session" &gt; ~/.xinitrc</userinput></screen>

        <para>次に、<command>startx</command> とタイプすれば
	  <application>GNOME</application> デスクトップ環境が起動します。</para>

	<note>
	  <para>もし <application>XDM</application>
	    のような古いディスプレイマネージャを使っているなら、
	    この方法ではうまくいきません。その代わり、実行可能な
	    <filename>.xsession</filename> というファイルを作成し、
	    同じコマンドを起動するようにします。
	    そのためには、このファイルを編集してウィンドウマネージャを
	    <application>/usr/X11R6/bin/gnome-session</application>
	    で置き換えます。</para>
	</note>

	<screen>&prompt.user; <userinput>echo "#!/bin/sh" &gt; ~/.xsession</userinput>
&prompt.user; <userinput>echo "/usr/X11R6/bin/gnome-session" &gt;&gt; ~/.xsession</userinput>
&prompt.user; <userinput>chmod +x ~/.xsession</userinput></screen>

        <para>もう一つの方法は、ログイン時にウィンドウマネージャを選択できるようにディスプレイマネージャを設定することです。
	  <link linkend="x11-wm-kde-details">KDE の詳細</link>についてのセクションで
	  <application>KDE</application> のディスプレイマネージャである
	  <application>kdm</application> を使ってどのようにすればいいのかを解説しています。</para>
      </sect3>

      <sect3 id="x11-wm-gnome-antialias">
        <title>GNOME でアンチエイリアスなフォントの使用</title>

	<indexterm><primary>GNOME</primary>
	  <secondary>アンチエイリアスフォント</secondary></indexterm>
	<para>X11 は <quote>RENDER</quote>
	  拡張を用いてアンチエイリアスに対応しています。
	  (<application>GNOME</application>
	  で使用されるツールキットである) GTK+ 2.0 以降では、
	  この機能を利用できます。アンチエイリアスの設定は
	  <xref linkend="antialias"> で述べられています。
	  そのため、最新のソフトウェアを使えば、
	  <application>GNOME</application> デスクトップで
	  アンチエイリアスを利用できます。
	  <menuchoice>
	    <guimenu>アプリケーション</guimenu>
	    <guisubmenu>デスクトップの設定</guisubmenu>
	    <guimenuitem>フォント</guimenuitem></menuchoice> と辿り、
	  <guibutton>最適なシェープ</guibutton>、
	  <guibutton>最適なコントラスト</guibutton>、
	  <guibutton>サブピクセルのスムージング (LCDs)</guibutton>、
	  のどれかを選択してください。
	  <application>GNOME</application> デスクトップの一部でない
	  GTK+ アプリケーションのために、プログラム起動前に
	  <varname>GDK_USE_XFT</varname> 環境変数に
	  <literal>1</literal> を設定してください。</para>
      </sect3>
    </sect2>

    <sect2 id="x11-wm-kde">
      <title>KDE</title>

      <indexterm><primary>KDE</primary></indexterm>
      <sect3 id="x11-wm-kde-about">
        <title>KDE について</title>

        <para><application>KDE</application> は最近の簡単に使えるデスクトップ環境です。
	  <application>KDE</application> によりユーザは以下のようなメリットを亨受します。</para>

	<itemizedlist>
	  <listitem>
	    <para>美しい現代風のデスクトップ</para>
	  </listitem>

	  <listitem>
	    <para>ネットワーク透過なデスクトップ</para>
	  </listitem>

	  <listitem>
	    <para><application>KDE</application>
	      デスクトップやそのアプリケーションを使う際の便利で統一されたヘルプに
	      アクセスできるような統合されたヘルプシステム</para>
	  </listitem>

	  <listitem>
	    <para>全ての <application>KDE</application>
	      アプリケーションで統一されたルックアンドフィール</para>
	  </listitem>

	  <listitem>
	    <para>標準化されたメニュー、ツールバー、
	      キーバインディング、カラースキームなど</para>
	  </listitem>

	  <listitem>
	    <para>国際化: <application>KDE</application> は
	      40 を越える言語で利用可能</para>
	  </listitem>

	  <listitem>
	    <para>集中したダイアログベースのデスクトップ設定</para>
	  </listitem>

	  <listitem>
	    <para>膨大な数の <application>KDE</application>
	      アプリケーション</para>
	  </listitem>
	</itemizedlist>

	<para><application>KDE</application> には
	  <application>Konqueror</application>
	  と呼ばれる Web ブラウザーも付属しており、これは &unix; システム上の他の
	  Web ブラウザーの強力な競争相手です。
	  <application>KDE</application> の詳細については
	  <ulink url="http://www.kde.org/">KDE の Web サイト</ulink>をご覧ください。
	  <application>KDE</application> に関する
	  FreeBSD 特有の情報とリソースについては、
	  <ulink url="http://freebsd.kde.org/">FreeBSD-KDE
	  チーム</ulink>の Web サイトをご覧ください。</para>
      </sect3>

      <sect3 id="x11-wm-kde-install">
        <title>KDE のインストール</title>
	
	<para><application>GNOME</application> や他のデスクトップ環境と全く同じように、
	  <application>KDE</application>
	  をインストールする最も簡単な方法は第 2 章の
	  <!-- ryusuke:2005/09/07
  	    should be refer this after updating install/chapter.sgml
	  	<xref linkend="default-desktop">
	  -->
	  デフォルトのデスクトップ環境の選択
	  に述べられている
	  FreeBSD のインストールメニューでの<quote>デスクトップ設定</quote>を利用することです。
	  またまた同じことですが、package や Ports Collection
	  からインストールするのも簡単です。</para>

        <para>ネットワーク越しに <application>KDE</application> package
	  をインストールするには次のようにします。</para>

	<screen>&prompt.root; <userinput>pkg_add -r kde</userinput></screen>

	<para>&man.pkg.add.1;
	  は自動的にアプリケーションの最新版を取得します。</para>

        <para>ソースから <application>KDE</application> を構築するには次のように
	  ports ツリーを使いましょう</para>

        <screen>&prompt.root; <userinput>cd /usr/ports/x11/kde3</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

        <para><application>KDE</application> がインストールできたら
	  X サーバに、デフォルトのウィンドウマネージャの代わりにこのアプリケーションを立ち上げるように教えます。
	  <filename>.xinitrc</filename> ファイルを次のように編集しましょう。</para>

	<screen>&prompt.user; <userinput>echo "exec startkde" &gt; ~/.xinitrc</userinput></screen>

        <para>さぁ、これで <command>startx</command> でいつ X Window System を立ち上げても
	  <application>KDE</application> がデスクトップになります。</para>

	<para><application>XDM</application> のようなディスプレイマネージャを使っている場合、
	  設定は少し異なります。
	  代わりに <filename>.xsession</filename> ファイルを編集しましょう。
	  <application>kdm</application> 用の説明はこの章の後のほうにあります。</para>
      </sect3>
    </sect2>

    <sect2 id="x11-wm-kde-details">
      <title>KDE の詳細について</title>

      <para>さぁ、<application>KDE</application> のインストールができました。
	ほとんどのことはヘルプページを見たりいろんなメニューをつつけばわかるでしょう。
	&windows; や &mac; のユーザにも簡単なはずです。</para>
      
      <para><application>KDE2</application> の最も良いリファレンスはオンラインドキュメントです。
	<application>KDE</application> には独自の Web ブラウザー <application>Konqueror</application>
	が付属してますし、膨大な数の便利なアプリケーションや詳しいドキュメントもあります。
	このセクションの残りではなんとなく使っているだけでは理解し難い技術的なところを解説します。</para>

      <sect3 id="x11-wm-kde-kdm">
        <title>KDE ディスプレイマネージャ</title>

	<indexterm><primary>KDE</primary>
	  <secondary>ディスプレイマネージャ</secondary></indexterm>
        <para>マルチユーザシステムの管理者であれば、ユーザを迎えるにあたってグラフィカルなログインスクリーンが欲しいと思うかもしれません。
	  <link linkend="x-xdm">XDM</link> は上で述べたようにその目的で使うことができます。
	  しかしながら、<application>KDE</application>
	  にはその代わりになる <application>kdm</application>
	  が付いており、より魅力的な見た目で、ログイン時のオプションもたくさんあります。
	  特に、(メニューを使って) ログイン後にどのデスクトップ環境か
	  (<application>KDE</application>
	  や <application>GNOME</application> など) を簡単に選ぶこともできます。</para>

	<para><application>kdm</application>
	  を有効にするには、<filename>/etc/ttys</filename> の項目
	  <literal>ttyv8</literal> を変更しなければなりません。
	  この行を次のようにします。</para>

	<programlisting>ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure</programlisting>
      </sect3>
    </sect2>

    <sect2 id="x11-wm-xfce">
      <title>XFce</title>
      <sect3 id="x11-wm-xfce-about">
	<title>XFce について</title>

	<para><application>XFce</application> は <application>GNOME</application>
	  で使われている GTK+ ツールキットをベースにしたデスクトップ環境ですが、非常に軽く、
	  使用や設定が簡単なのにも関わらずシンプルで効率的なデスクトップです。
	  見ためとしては商用 &unix; システムが採用している <application>CDE</application>
	  にかなり似ています。<application>XFce</application>
	  の機能のいくつかを下に挙げておきます。</para>

	<itemizedlist>
	  <listitem>
	    <para>シンプルで使いやすいデスクトップ</para>
	  </listitem>

	  <listitem>
	    <para>マウスのドラッグアンドドロップなどで全ての設定が可能</para>
	  </listitem>

	  <listitem>
	    <para><application>CDE</application>
	      に似たメインパネルとメニューやアプレット、
	      アプリケーションランチャー</para>
	  </listitem>

	  <listitem>
	    <para>統合されたウィンドウマネージャ、ファイルマネージャ、
	      サウンドマネージャと <application>GNOME</application>
	      準拠のモジュールなど</para>
	  </listitem>

	  <listitem>
	    <para>(GTK+ なので) テーマをサポート</para>
	  </listitem>

	  <listitem>
	    <para>速くて軽くて効率的: 古いマシンや遅いマシン、
	      メモリーの限られたマシン向き</para>
	  </listitem>
	</itemizedlist>

	<para><application>XFce</application> に関する詳しい情報は
	  <ulink url="http://www.xfce.org/">XFce の Web サイト</ulink>
	  で得られます。</para>
      </sect3>

      <sect3 id="x11-wm-xfce-install">
	<title>XFce のインストール</title>

	<para>(この文章を書いている時点で) <application>XFce</application>
	  のバイナリーパッケージがあります。インストールするにはただ次のようにタイプするだけです</para>

	<screen>&prompt.root; <userinput>pkg_add -r xfce4</userinput></screen>

        <para>また、Ports Collection を利用してソースから作ることも可能です</para>

	<screen>&prompt.root; <userinput>cd /usr/ports/x11-wm/xfce4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

	<para>次に X が起動した時に <application>XFce</application>
	  が起動されるように設定します。
	  次のようにしてください。</para>

	<screen>&prompt.user; <userinput>echo "/usr/X11R6/bin/startxfce4" &gt; ~/.xinitrc</userinput></screen>

	<para>次に X が起動する時 <application>XFce</application>
	  のデスクトップが立ち上がります。
	  上と同様に、<application>XDM</application> のようなディスプレイマネージャを使っている場合には
	  <link linkend="x11-wm-gnome">GNOME</link> のセクションに書いてあるのと同じように
	  <filename>.xsession</filename> ファイルを作り、<filename>/usr/X11R6/bin/startxfce4</filename>
	  を起動するようにします。
	  もしくは、<link linkend="x11-wm-kde-kdm">kdm</link>
	  のセクションにあるようにディスプレイマネージャから <application>XFCE</application>
	  を選ぶことができるように設定します。</para>
      </sect3>
    </sect2>
  </sect1>

</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->