Wrap lines, whitespace cleanup and add some missing "</para>".

Submitted by:	Hiroki Kobayashi <solidsneak at hyper.cx>
Reviewed by:	Hiroo Ono <hiroo _at_ jp dot FreeBSD dot org>
		Ryusuke Suzuki <ryusuke _at_ jp dot FreeBSD dot org>
References:	[doc-jp-work 1503, 1524, 1529, 1599, 1799]
This commit is contained in:
Hiroki Sato 2009-12-05 18:28:21 +00:00
parent 1d69038ae1
commit 37bba7e179
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=35026

View file

@ -22,149 +22,319 @@
<ulink url="http://www.XFree86.org/">XFree86</ulink> の Web サイトをご覧ください。</para>
<para>この章を読めば以下のことがわかります。</para>
<itemizedlist>
<listitem>
<para>X Window System の様々なコンポーネントと、それらが互いにどのように連携しているか。</para></listitem>
<para>X Window System の様々なコンポーネントと、
それらが互いにどのように連携しているか。</para>
</listitem>
<listitem>
<para><application>XFree86</application> のインストールと設定について</para></listitem>
<para><application>XFree86</application> のインストールと設定について</para>
</listitem>
<listitem>
<para>様々なウィンドウマネージャのインストール方法</para></listitem>
<para>様々なウィンドウマネージャのインストール方法</para>
</listitem>
<listitem>
<para><application>XFree86</application> での TrueType フォントの使い方</para></listitem>
<para><application>XFree86</application> での TrueType フォントの使い方</para>
</listitem>
<listitem>
<para>GUI ログイン (<application>XDM</application>) のセットアップ方法</para></listitem>
<para>GUI ログイン (<application>XDM</application>) のセットアップ方法</para>
</listitem>
</itemizedlist>
<para>この章を読み始める前に以下のことに注意してください。</para>
<itemizedlist>
<listitem><para>サードパーティ製ソフトウェアのインストール方法について知っていること (<xref linkend="ports">)。</para></listitem>
<listitem>
<para>サードパーティ製ソフトウェアのインストール方法について知っていること (<xref linkend="ports">)。</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="x-understanding">
<title>X を理解する</title>
<para>初めて X を使う場合、Microsoft Windows や Mac OS といった他の GUI 環境に慣れている人は多少ショックを受けるでしょう。</para>
<para>初めて X を使う場合、Microsoft Windows や Mac OS といった他の
GUI 環境に慣れている人は多少ショックを受けるでしょう。</para>
<para>様々な X のコンポーネントについての詳細の全てや、それらがどのようにやり取りするかについては理解する必要はありませんが、基本的なことをいくつか知っていると X を使う際に強力な武器になるでしょう。</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 は、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.1; をご覧ください。</para>
<para>X は <quote>X</quote>、<quote>X Window System</quote>、
<quote>X11</quote>、もしくはその他の用語で呼ぶことができます。
X11 を <quote>X Windows</quote>
と呼ぶと気を悪くする人もいます。
詳しくは &man.X.1; をご覧ください。</para>
</sect2>
<sect2>
<title>X のクライアント/サーバモデル</title>
<para>X は最初からネットワークを意識してデザインされており、<quote>クライアント - サーバ</quote>モデルを採用しています。
X では、<quote>X サーバ</quote>はキーボードやモニター、マウスが接続されたコンピュータ上で動きます。このサーバはディスプレイの表示を管理したり、キーボード、マウスなどからの入力を処理したりします。各 X アプリケーション (<application>XTerm</application> や <application>Netscape</application> など) は <quote>クライアント</quote>になります。クライアントは<quote>この座標にウィンドウを描いてください</quote>といったメッセージをサーバへ送り、サーバは<quote>ユーザが OK ボタンを押しました</quote>といったようなメッセージを送り返します。</para>
<para>X は最初からネットワークを意識してデザインされており、
<quote>クライアント - サーバ</quote>モデルを採用しています。
X では、<quote>X サーバ</quote>はキーボードやモニター、
マウスが接続されたコンピュータ上で動きます。
このサーバはディスプレイの表示を管理したり、キーボード、
マウスなどからの入力を処理したりします。
各 X アプリケーション (<application>XTerm</application> や
<application>Netscape</application> など) は
<quote>クライアント</quote>になります。
クライアントは<quote>この座標にウィンドウを描いてください</quote>
といったメッセージをサーバへ送り、サーバは
<quote>ユーザが OK ボタンを押しました</quote>
といったようなメッセージを送り返します。</para>
<para>家庭や小さなオフィスのような環境で、1 台しかコンピューターがないという場合には、X サーバと X クライアントは同じコンピューター上で動くことになるでしょう。しかし、X サーバを非力なデスクトップコンピューターで動かし、X アプリケーション (クライアント) は例えばオフィス全体を捌くような高機能で高価なマシンで動かすことも可能なのです。この場合、X のクライアントとサーバの通信はネットワーク越しに行なわれます。</para>
<para>家庭や小さなオフィスのような環境で、
1 台しかコンピューターがないという場合には、X サーバと
X クライアントは同じコンピューター上で動くことになるでしょう。
しかし、X サーバを非力なデスクトップコンピューターで動かし、
X アプリケーション (クライアント) は例えばオフィス全体を捌くような
高機能で高価なマシンで動かすことも可能なのです。この場合、
X のクライアントとサーバの通信はネットワーク越しに行なわれます。</para>
<para>これは、ある人々を混乱させることがあります。X での用語は彼らが想定するものとは正反対だからです。彼らは<quote>X サーバ</quote>は地下にある大きなパワフルなマシンであり、<quote>X クライアント</quote>が自分たちのデスク上にあると想像するのです。</para>
<para>これは、ある人々を混乱させることがあります。
X での用語は彼らが想定するものとは正反対だからです。
彼らは<quote>X サーバ</quote>は地下にある大きなパワフルなマシンであり、
<quote>X クライアント</quote>が自分たちのデスク上にあると想像するのです。</para>
<para>Xサーバとはモニターとキーボードがついているマシンのことであり、Xクライアントとはウィンドウを表示するプログラムだということを思い出してください。</para>
<para>Xサーバとはモニターとキーボードがついているマシンのことであり、
Xクライアントとはウィンドウを表示するプログラムだということを思い出してください。</para>
<para>X のプロトコルには、クライアントとサーバのマシンが同じ OS で動いていなければならないといったことを強制するものはなにもありませんし、同じ機種で動いている必要もありません。X サーバを Microsoft Windows や Apple の Mac OS で動かすことも可能ですし、そのようなソフトウェアもフリーのものから商用のまでいろいろとあります。</para>
<para>X のプロトコルには、クライアントとサーバのマシンが同じ OS
で動いていなければならないといったことを強制するものはなにもありませんし、
同じ機種で動いている必要もありません。
X サーバを Microsoft Windows や Apple の Mac OS
で動かすことも可能ですし、
そのようなソフトウェアもフリーのものから商用のまでいろいろとあります。</para>
<para>FreeBSD に付いてくる X サーバは <application>XFree86</application> と呼ばれるもので、FreeBSD のライセンスに似たライセンスに従ってフリーで配布されています。FreeBSD 用の商用 X サーバも入手可能です。</para>
<para>FreeBSD に付いてくる X サーバは <application>XFree86</application>
と呼ばれるもので、FreeBSD
のライセンスに似たライセンスに従ってフリーで配布されています。
FreeBSD 用の商用 X サーバも入手可能です。</para>
</sect2>
<sect2>
<title>X ウィンドウマネージャ</title>
<para>X のデザイン哲学は UNIX のそれに非常によく似ており、<quote>ツールであってポリシーではない</quote>のです。
つまり、X はあるタスクがどのように達成されるべきかを示すものではありません。その代わり、ユーザにはツールが与えられ、それらをどうするかはユーザに委ねられているのです。</para>
<para>X のデザイン哲学は UNIX のそれに非常によく似ており、
<quote>ツールであってポリシーではない</quote>のです。
つまり、X
はあるタスクがどのように達成されるべきかを示すものではありません。
その代わり、ユーザにはツールが与えられ、
それらをどうするかはユーザに委ねられているのです。</para>
<para>この哲学は、X ではスクリーン上でウィンドウがどのように見えるべきか、マウスでそれらをどうやって動かすか、ウィンドウ間を移動するのにどういうキーストロークを使うべきか (例えば Microsoft Windows における
<para>この哲学は、X
ではスクリーン上でウィンドウがどのように見えるべきか、
マウスでそれらをどうやって動かすか、ウィンドウ間を移動するのに
どういうキーストロークを使うべきか
(例えば Microsoft Windows における
<keycombo action="simul">
<keycap>Alt</keycap>
<keycap>Tab</keycap>
</keycombo>)、各ウィンドウのタイトルバーはどのように見えるべきか、それらはクローズボタンを持つべきかどうか、といったことを示すものではないというところまで拡大して解釈できます。
</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コレクションの <filename>x11-wm</filename> というカテゴリーからインストールすることが可能です。
<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コレクションの <filename>x11-wm</filename>
というカテゴリーからインストールすることが可能です。</para>
<para>加えて、<application>KDE</application> や <application>GNOME</application> といったデスクトップ環境はともにそれぞれのデスクトップに統合された独自のウィンドウマネージャを持っています。</para>
<para>加えて、<application>KDE</application> や
<application>GNOME</application> といったデスクトップ環境は
ともにそれぞれのデスクトップに統合された独自のウィンドウマネージャを持っています。</para>
<para>それぞれのウィンドウマネージャはまた異なる設定機構を備えており、手で設定ファイルを編集しなければならないものや、設定作業のほとんどを GUI ツールですることができるものもあります。少なくとも 1 つ (<application>sawfish</application>) は Lisp 言語の変種で書かれた設定ファイルを持っています。</para>
<para>それぞれのウィンドウマネージャはまた異なる設定機構を備えており、
手で設定ファイルを編集しなければならないものや、
設定作業のほとんどを GUI ツールですることができるものもあります。
少なくとも 1 つ (<application>sawfish</application>) は
Lisp 言語の変種で書かれた設定ファイルを持っています。</para>
<note>
<title>フォーカスポリシー</title>
<para>ウィンドウマネージャのもう一つの機能はマウスの<quote>フォーカスポリシー</quote>に関するものです。
全てのウィンドウシステムは、ウィンドウを選択しキーストロークを受け付けるようにするための方法が必要です。
<para>ウィンドウマネージャのもう一つの機能はマウスの
<quote>フォーカスポリシー</quote>に関するものです。
全てのウィンドウシステムは、ウィンドウを選択しキーストロークを
受け付けるようにするための方法が必要です。
そして、どのウィンドウがアクティブなのかを示す必要もあります。</para>
<para>よく知られているフォーカスポリシーは <quote>click-to-focus</quote> と呼ばれるもので、このモデルは Microsoft Windows で利用されており、あるウィンドウ内でマウスをクリックすればそのウィンドウがアクティブになる、というものです。</para>
<para>よく知られているフォーカスポリシーは
<quote>click-to-focus</quote> と呼ばれるもので、
このモデルは Microsoft Windows で利用されており、
あるウィンドウ内でマウスをクリックすればそのウィンドウがアクティブになる、
というものです。</para>
<para>X は特定のフォーカスポリシーを採用していません。代わりにウィンドウマネージャがそれをコントロールします。それぞれのウィンドウマネージャが、それぞれのフォーカスポリシーをサポートしています。全てのものは click-to-focus をサポートしていますし、多くのものは他の方法もサポートしています。</para>
<para>X は特定のフォーカスポリシーを採用していません。
代わりにウィンドウマネージャがそれをコントロールします。
それぞれのウィンドウマネージャが、
それぞれのフォーカスポリシーをサポートしています。
全てのものは click-to-focus をサポートしていますし、
多くのものは他の方法もサポートしています。</para>
<para>最もポピュラーなフォーカスポリシーは次のものでしょう</para>
<variablelist>
<varlistentry>
<term>focus-follows-mouse</term>
<listitem>
<para>マウスポインターの下にいるウィンドウがフォーカスされるというものです。ウィンドウは最前面にある必要はありません。フォーカスを変えるには他のウィンドウにマウスポインターを動かすだけです。クリックする必要はありません。</para>
<para>マウスポインターの下にいるウィンドウがフォーカスされるというものです。
ウィンドウは最前面にある必要はありません。
フォーカスを変えるには他のウィンドウにマウスポインターを動かすだけです。
クリックする必要はありません。</para>
</listitem>
</varlistentry>
<varlistentry>
<term>sloppy-focus</term>
<listitem>
<para>これは focus-follows-mouse を少し拡張したものです。focus-follows-mouse では、マウスがルートウィンドウ (背景) に移動した時には、フォーカスされているウィンドウがなくなり、キーストロークは単に破棄されます。sloppy-focus であればポインターが別のウィンドウに移った時のみフォーカスが変わり、現在のウィンドウから出ただけでは変わりません。</para>
<para>これは focus-follows-mouse を少し拡張したものです。
focus-follows-mouse では、
マウスがルートウィンドウ (背景) に移動した時には、
フォーカスされているウィンドウがなくなり、
キーストロークは単に破棄されます。
sloppy-focus であれば
ポインターが別のウィンドウに移った時のみフォーカスが変わり、
現在のウィンドウから出ただけでは変わりません。</para>
</listitem>
</varlistentry>
<varlistentry>
<term>click-to-focus</term>
<listitem>
<para>アクティブなウィンドウはマウスクリックにより選択されます。
ウィンドウは<quote>持ち上げられ</quote>、他の全てのウィンドウの前にきます。
ポインターが別のウィンドウに動いた時でも、全てのキーストロークがこのウィンドウに届きます。</para>
ウィンドウは<quote>持ち上げられ</quote>、
他の全てのウィンドウの前にきます。
ポインターが別のウィンドウに動いた時でも、
全てのキーストロークがこのウィンドウに届きます。</para>
</listitem>
</varlistentry>
</variablelist>
<para>多くのウィンドウマネージャはこういったものに加え、他のポリシーもサポートしています。ウィンドウマネージャ自身のドキュメントもよく読んでください。</para>
<para>多くのウィンドウマネージャはこういったものに加え、
他のポリシーもサポートしています。
ウィンドウマネージャ自身のドキュメントもよく読んでください。</para>
</note>
</sect2>
<sect2>
<title>ウィジェット</title>
<para>X のツールを提供してもポリシーは提供しないというアプローチは、各アプリケーションでスクリーンに現われるウィジェットにも適用されます。</para>
<para><quote>ウィジェット</quote>はクリック可能であったり、他の方法で操作可能な全てのユーザインタフェイス用アイテムを指す用語です。ボタンやチェックボックス、ラジオボタン、アイコン、リスト、などがそうです。Microsoft Windows はこれらを<quote>コントロール</quote>と呼んでいます。</para>
<para>Microsoft Windows や Apple の Mac OS はともに非常に厳密なポリシーをウィジェットに課しています。アプリケーション開発者は共通のルックアンドフィールに確実に従うことを想定されているわけです。X では、グラフィカルなスタイルやウィジェットのセットが特定のものに合わせたりすることに対してそれほど意識していませんでした。</para>
<para>X のツールを提供してもポリシーは提供しないというアプローチは、
各アプリケーションでスクリーンに現われるウィジェットにも適用されます。</para>
<para>すなわち、X アプリケーションに共通のルックアンドフィールを期待してはいけません。いくつかのポピュラーなウィジェットセットやその亜種があります。MIT のオリジナルの Athena ウィジェットや <application>Motif</application> (Microsoft Windows をモデルにした、斜めになったエッジやグレイの陰影のウィジェットセットを持っている)、<application>OpenLook</application> などです。</para>
<para><quote>ウィジェット</quote>はクリック可能であったり、
他の方法で操作可能な全てのユーザインタフェイス用アイテムを指す用語です。
ボタンやチェックボックス、ラジオボタン、アイコン、リスト、などがそうです。
Microsoft Windows はこれらを<quote>コントロール</quote>と呼んでいます。</para>
<para>比較的新しい X アプリケーションのほとんどが、<application>KDE</application> で使われている Qt や <application>GNOME</application> プロジェクトで使われている <application>GTK</application> のようにモダンな見た目を持ったウィジェットセットを使っています。この点で言えば、UNIX のルックアンドフィールは収斂されてきており、初心者がより簡単に使えるようになってきています。
<para>Microsoft Windows や Apple の Mac OS
はともに非常に厳密なポリシーをウィジェットに課しています。
アプリケーション開発者は共通のルックアンドフィールに
確実に従うことを想定されているわけです。
X では、グラフィカルなスタイルやウィジェットのセットが
特定のものに合わせたりすることに対してそれほど意識していませんでした。</para>
<para>すなわち、X
アプリケーションに共通のルックアンドフィールを期待してはいけません。
いくつかのポピュラーなウィジェットセットやその亜種があります。
MIT のオリジナルの Athena ウィジェットや
<application>Motif</application> (Microsoft Windows
をモデルにした、
斜めになったエッジやグレイの陰影のウィジェットセットを持っている)、
<application>OpenLook</application> などです。</para>
<para>比較的新しい X アプリケーションのほとんどが、
<application>KDE</application> で使われている Qt や
<application>GNOME</application> プロジェクトで使われている
<application>GTK</application> のようにモダンな見た目を持ったウィジェットセットを使っています。
この点で言えば、UNIX のルックアンドフィールは収斂されてきており、
初心者がより簡単に使えるようになってきています。</para>
</sect2>
</sect1>
<sect1 id="x-install">
<title>XFree86 のインストール</title>
<para><application>XFree86</application> をインストールする前にどのバージョンを動かすかを決めてください。
<application>XFree86 3.x</application> は <application>XFree86</application> におけるメンテナンスブランチです。
これは非常に安定しており、非常にたくさんの数のグラフィックカードをサポートしているのですが、もう新しい機能は追加されません。<application>XFree86 4.X</application> はシステムを完全に見直して設計したものであり、フォント自体のもっと良いサポートやアンチエイリアスなどといった多くの新しい機能も追加されています。残念ながら、この新しいアーキテクチャーではビデオドライバーの書き直しが必要なため、3.X でサポートされていたいくつかの古いカードはまだサポートされていません。
新規の開発と新しいグラフィックカードへの対応は全てこのブランチで行われているため、<application>XFree86 4.X</application> は現在 FreeBSD におけるデフォルトの X Window System になっています。</para>
<para>FreeBSD のセットアッププログラムを使えば、OS のインストール時に <application>XFree86 4.X</application> をインストールして設定することができます (<xref linkend="x-server">に書かれています)。
<application>XFree86 3.x</application> をインストールして動かしたい場合は、まずベースとなる FreeBSD をインストールしてから <application>XFree86</application> のインストールを行うことになります。
例えば、<application>XFree86 3.X</application> を ports コレクションからビルドしてインストールする場合には次のようにします。</para>
<para><application>XFree86</application> をインストールする前に
どのバージョンを動かすかを決めてください。
<application>XFree86 3.x</application> は <application>XFree86</application>
におけるメンテナンスブランチです。
これは非常に安定しており、非常にたくさんの数のグラフィックカードを
サポートしているのですが、もう新しい機能は追加されません。
<application>XFree86 4.X</application> はシステムを完全に見直して設計したものであり、
フォント自体のもっと良いサポートやアンチエイリアスなどといった
多くの新しい機能も追加されています。
残念ながら、この新しいアーキテクチャーではビデオドライバーの書き直しが必要なため、
3.X でサポートされていたいくつかの古いカードはまだサポートされていません。
新規の開発と新しいグラフィックカードへの対応は全てこのブランチで行われているため、
<application>XFree86 4.X</application> は現在 FreeBSD におけるデフォルトの
X Window System になっています。</para>
<para>FreeBSD のセットアッププログラムを使えば、OS のインストール時に
<application>XFree86 4.X</application> をインストールして設定することができます
(<xref linkend="x-server">に書かれています)。
<application>XFree86 3.x</application> をインストールして動かしたい場合は、
まずベースとなる FreeBSD をインストールしてから
<application>XFree86</application> のインストールを行うことになります。
例えば、<application>XFree86 3.X</application> を
ports コレクションからビルドしてインストールする場合には次のようにします。</para>
<screen>&prompt.root; <userinput>cd /usr/ports/x11/XFree86</userinput>
&prompt.root; <userinput>make all install clean</userinput></screen>
<para>他に、<ulink url="http://www.XFree86.org/">XFree86 の Webサイト</ulink>で直接提供されている FreeBSD 用のバイナリを利用して、いずれかのバージョンの <application>XFree86</application> をインストールするという方法もあります。
<para>他に、<ulink url="http://www.XFree86.org/">XFree86 の Webサイト</ulink>
で直接提供されている FreeBSD 用のバイナリを利用して、
いずれかのバージョンの <application>XFree86</application> をインストールするという方法もあります。
<application>XFree86 4.X</application> については &man.pkg.add.1;
ツールを用いるバイナリパッケージも提供されています。
&man.pkg.add.1; のリモート取得機能を利用する時は、
パッケージのバージョンははずしてください。
&man.pkg.add.1; は自動的にそのアプリケーションの最新版を取り寄せます。
&man.pkg.add.1;
は自動的にそのアプリケーションの最新版を取り寄せます。
ですから、<application>XFree86 4.X</application>
のパッケージを取り寄せてインストールするには、
次のように入力してください。</para>
@ -179,7 +349,8 @@
<screen>&prompt.root; <userinput>cd /usr/ports/x11/XFree86-4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>この章の残りでは、<application>XFree86</application> をどのように設定すればいいか、また productive なデスクトップ環境をどのように設定するかについて解説します。</para>
<para>この章の残りでは、<application>XFree86</application> をどのように設定すればいいか、
また productive なデスクトップ環境をどのように設定するかについて解説します。</para>
<!-- Easiest way is from sysinstall for XFree86 4.X -->
@ -198,7 +369,6 @@
</sect1info>
<title>XFree86 の設定</title>
<indexterm><primary>XFree86 4.X</primary></indexterm>
<indexterm><primary>XFree86</primary></indexterm>
@ -217,12 +387,21 @@
<indexterm><primary>水平走査周波数</primary></indexterm>
<indexterm><primary>垂直同期周波数</primary></indexterm>
<para>モニターの仕様は、<application>XFree86</application> がどの解像度とリフレッシュレートで動くかを決定するために用いられます。
こういった仕様は、通常はモニターに付いてくるドキュメントや製造元のWebサイトから取得することができます。必要なものは二つの数字の範囲、一つは水平走査周波数でもう一つは垂直同期周波数、です。</para>
<para>モニターの仕様は、<application>XFree86</application>
がどの解像度とリフレッシュレートで動くかを決定するために用いられます。
こういった仕様は、通常はモニターに付いてくるドキュメントや
製造元の Web サイトから取得することができます。
必要なものは二つの数字の範囲、
一つは水平走査周波数でもう一つは垂直同期周波数、です。</para>
<para>ビデオアダプタのチップセットは <application>XFree86</application> がグラフィックハードウェアとやり取りするためにどのドライバーモジュールを使うかを定義します。ほとんどのチップセットが自動認識されますが、正常に認識されない時のために知っておくとよいでしょう。</para>
<para>ビデオアダプタのチップセットは <application>XFree86</application>
がグラフィックハードウェアとやり取りするために
どのドライバーモジュールを使うかを定義します。
ほとんどのチップセットが自動認識されますが、
正常に認識されない時のために知っておくとよいでしょう。</para>
<para>ビデオメモリーは、グラフィックアダプタがどの解像度とどの色数で動くことができるかを決めます。
<para>ビデオメモリーは、
グラフィックアダプタがどの解像度とどの色数で動くことができるかを決めます。
これは、ユーザが自分のシステムにおける制限を理解するために知っておくことが重要です。</para>
</sect2>
@ -231,7 +410,9 @@
<title>XFree86 4.Xの設定</title>
<para><application>XFree86 4.X</application> の設定は複数のステップの処理に分けられます。
まずは <application>XFree86</application> に <option>-configure</option> オプションを付けて初期設定ファイルを作りましょう。スーパーユーザになって次のようにしてください。</para>
まずは <application>XFree86</application> に
<option>-configure</option> オプションを付けて初期設定ファイルを作りましょう。
スーパーユーザになって次のようにしてください。</para>
<screen>&prompt.root; <userinput>XFree86 -configure</userinput></screen>
@ -240,12 +421,15 @@
<application>XFree86</application> プログラムはシステム上のグラフィックハードウェアを検出し、
そのハードウェア用の適切なドライバーを読み込む設定ファイルを作ります。</para>
<para>次のステップは、作成した設定ファイルで <application>XFree86</application> が動くことを確認することです。
<para>次のステップは、作成した設定ファイルで
<application>XFree86</application>
が動くことを確認することです。
そのためには以下のようにします。</para>
<screen>&prompt.root; <userinput>XFree86 -xf86config XF86Config.new</userinput></screen>
<para>黒とグレーのグリッドと X のマウスポインターが現われればその設定は成功です。
<para>黒とグレーのグリッドと
X のマウスポインターが現われればその設定は成功です。
テストから抜け出すためには単に次のキーを同時に押します。
<keycombo action="simul">
<keycap>Ctrl</keycap>
@ -255,11 +439,15 @@
<indexterm><primary>XFree86 4 のチューニング</primary></indexterm>
<para>次は <filename>XF86Config.new</filename> を好みに合うように調整します。
&man.emacs.1; や &man.ee.1; のようなテキストエディターでファイルを開いてください。
まずモニターの周波数を加えます。これらは水平と垂直の同期周波数と表現されるのが普通です。
<para>次は <filename>XF86Config.new</filename>
を好みに合うように調整します。
&man.emacs.1; や &man.ee.1;
のようなテキストエディターでファイルを開いてください。
まずモニターの周波数を加えます。
これらは水平と垂直の同期周波数と表現されるのが普通です。
これらの値は <filename>XF86Config.new</filename> の
<literal>"Monitor"</literal> セクションに次のように書き加えます。</para>
<literal>"Monitor"</literal>
セクションに次のように書き加えます。</para>
<programlisting>
Section "Monitor"
@ -271,28 +459,36 @@
EndSection
</programlisting>
<para><varname>HorizSync</varname> と <varname>VertRefresh</varname>
というキーワードが設定ファイル中にない場合があります。その場合には、
<varname>Horizsync</varname> キーワードの後には水平走査周波数の、
<varname>VertRefresh</varname> キーワードの後には垂直同期周波数の正しい値を加えてください。
<para><varname>HorizSync</varname> と
<varname>VertRefresh</varname>
というキーワードが設定ファイル中にない場合があります。
その場合には、
<varname>Horizsync</varname>
キーワードの後には水平走査周波数の、
<varname>VertRefresh</varname>
キーワードの後には垂直同期周波数の正しい値を加えてください。
上の例では対象となるモニターの周波数が書かれています。</para>
<para>X はモニターが対応していれば DPMS (Energy Star) 機能を使うことができます。
<para>X はモニターが対応していれば DPMS (Energy Star)
機能を使うことができます。
&man.xset.1; プログラムでタイムアウトをコントロールしたり、
強制的にスタンバイ、サスペンドや電源オフにすることができます。
モニターの DPMS 機能を有効にしたい場合は、<literal>"Monitor"</literal>
モニターの DPMS 機能を有効にしたい場合は、
<literal>"Monitor"</literal>
セクションに次の行を加えてください。</para>
<programlisting>Option "DPMS"</programlisting>
<indexterm>
<primary><command>XF86Config</command></primary>
</indexterm>
<para><filename>XF86Config.new</filename> はエディターで開いたままにしておき、
<para><filename>XF86Config.new</filename>
はエディターで開いたままにしておき、
デフォルトの解像度と色数を好みで選びましょう。
<literal>"Screen"</literal> セクションに以下のように書きます。</para>
<literal>"Screen"</literal>
セクションに以下のように書きます。</para>
<programlisting>Section "Screen"
Identifier "Screen0"
Device "Card0"
@ -304,12 +500,18 @@
EndSubSection
EndSection</programlisting>
<para><varname>DefaultDepth</varname> というキーワードはデフォルトで動く色数について記述するためのものです。
&man.XFree86.1; のコマンドラインスイッチ <command>-bpp</command> が使用された場合はこちらが優先されます。
<varname>Modes</varname> というキーワードは与えられた色数におけるデフォルトの解像度を記述しておくためのものです。
上の例ではデフォルトの色数はピクセルあたり24ビットであり、この色数での解像度は1024ピクセル×768ピクセルです。</para>
<para><varname>DefaultDepth</varname> というキーワードは
デフォルトで動く色数について記述するためのものです。
&man.XFree86.1;
のコマンドラインスイッチ <command>-bpp</command>
が使用された場合はこちらが優先されます。
<varname>Modes</varname> というキーワードは与えられた
色数におけるデフォルトの解像度を記述しておくためのものです。
上の例ではデフォルトの色数はピクセルあたり24ビットであり、
この色数での解像度は1024ピクセル×768ピクセルです。</para>
<para>1024x768の解像度で動かすためには <varname>DefaultDepth</varname> というキーワードに 24 という値を与えて書き加えておき、
<para>1024x768の解像度で動かすためには <varname>DefaultDepth</varname>
というキーワードに 24 という値を与えて書き加えておき、
<literal>"Display"</literal> サブセクションに求める
<varname>Depth</varname> と <varname>Modes</varname>
のキーワードを書いておきます。
@ -317,31 +519,41 @@ EndSection</programlisting>
VESA スタンダードモードのみがサポートされていることに注意してください。
</para>
<para>最後に、設定ファイルを保存し、上の例にあるようにテストしてみてください。全てうまくいったなら、&man.XFree86.1;
<para>最後に、設定ファイルを保存し、
上の例にあるようにテストしてみてください。
全てうまくいったなら、&man.XFree86.1;
が見つけることができる共通の場所に設定ファイルを置きます。
これは、通常は <filename>/etc/X11/XF86Config</filename> や <filename>/usr/X11R6/etc/X11/XF86Config</filename> です。</para>
これは、通常は <filename>/etc/X11/XF86Config</filename> や
<filename>/usr/X11R6/etc/X11/XF86Config</filename> です。</para>
<screen>&prompt.root; <userinput>cp XF86Config.new /etc/X11/XF86Config</userinput></screen>
<para>設定ファイルを共通の場所に置いたら、設定は完了です。
&man.startx.1; で <application>XFree86 4.X</application> を起動するために
<filename role="package">x11/wrapper</filename> ポートをインストールします。
&man.startx.1; で
<application>XFree86 4.X</application> を起動するために
<filename role="package">x11/wrapper</filename>
ポートをインストールします。
また、<application>XFree86 4.X</application> を &man.xdm.1; で立ち上げることも可能です。</para>
</sect2>
<sect2>
<title>高度な設定</title>
<sect3>
<title>Intel i810 グラフィックチップセットの設定</title>
<indexterm><primary>Intel i810 graphic chipset</primary></indexterm>
<para>Intel i810 統合チップセットを設定するには、<application>XFree86</application>にカードを制御させるためにAGP プログラミングインタフェイスである <devicename>agpgart</devicename> が必要になります。
<devicename>agpgart</devicename> を利用するには、&man.kldload.8; を使って <filename>agp.ko</filename>
<para>Intel i810 統合チップセットを設定するには、
<application>XFree86</application>にカードを制御させるために
AGP プログラミングインタフェイスである
<devicename>agpgart</devicename> が必要になります。
<devicename>agpgart</devicename> を利用するには、
&man.kldload.8; を使って <filename>agp.ko</filename>
というカーネルローダブルモジュールをカーネルにロードしておく必要があります。
これは、<filename>/boot/loader.conf</filename> に次のように書いておけば &man.loader.8;
これは、<filename>/boot/loader.conf</filename>
に次のように書いておけば &man.loader.8;
がブート時に自動的にやってくれます。</para>
<programlisting>agp_load="YES"</programlisting>
@ -355,9 +567,12 @@ EndSection</programlisting>
<para>これで他のグラフィックカードと同様に設定を行うことができるようになります。</para>
<para>もし <application>XFree86 4.1.0</application> (もしくはそれ以降) を使っており、
<literal>fbPictureInit</literal> といったようなシンボルが見つからないというメッセージが現われるなら、
<application>XFree86</application> 設定ファイルで <literal>Driver "i810"</literal> の後に次のような行を入れてみてください。</para>
<para>もし <application>XFree86 4.1.0</application>
(もしくはそれ以降) を使っており、
<literal>fbPictureInit</literal>
といったようなシンボルが見つからないというメッセージが現われるなら、
<application>XFree86</application> 設定ファイルで <literal>Driver "i810"</literal>
の後に次のような行を入れてみてください。</para>
<programlisting>Option "NoDDC"</programlisting>
</sect3>
</sect2>
@ -395,20 +610,20 @@ EndSection</programlisting>
<screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>freefont や他のコレクションでも同じようにします。
X サーバにこれらのフォントがあることを教えるには
(<application>XFree86</application> バージョン 3 の場合は <filename>/etc/</filename>、
バージョン 4 では <filename>/etc/X11/</filename> にある) <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>,
@ -460,7 +675,7 @@ EndSection</programlisting>
<para>とするか、もしくは <filename>XF86Config</filename> ファイルに
<option>FontPath</option> 行を追加するのです。</para>
<para>これで終わりです。<application>Netscape</application>や
<application>Gimp</application>、<application>StarOffice</application>
といった全ての X アプリケーションから TrueType フォントを使うことができます。
@ -515,16 +730,16 @@ EndSection</programlisting>
特に <application>KDE</application> でその傾向があるようです。
解決策の一つとして、そういったフォントのスペーシングを100に設定する方法があります。
そうするためには次の行を加えてください。</para>
<programlisting>match any family == "fixed" edit family =+ "mono";
match any family == "console" edit family =+ "mono";</programlisting>
<para>(これは fixed というフォントに、
<literal>"mono"</literal> という一般名を別名として付けます)。
そして次の行も加えてください。</para>
<programlisting>match any family == "mono" edit spacing = 100;</programlisting>
<para>等幅フォントが必要な時にはつねに <literal>Lucidux</literal>
を使うように (このフォントは実際見目もよく、スペーシングの問題もありません)
するためには最後の行を次のように変更します
@ -548,7 +763,7 @@ EndSection</programlisting>
の場合もあるので、試してみて最も良いものを使ってください)。</para>
<programlisting>match edit rgba=rgb;</programlisting>
<para>アンチエイリアスは、次に X サーバを立ち上げた時から有効になります。
しかし、上でも述べたようにその恩恵を受けるにはプログラム側での対処も必要です。
今のところ Qt は対応しているため、<application>KDE</application>
@ -586,15 +801,18 @@ EndSection</programlisting>
大規模なネットワークディレプレイサーバといった場面ではこれが有用です。
X Window System はネットワークとプロトコルから独立しているため、
ネットワークで繋がれた X のクライアントとサーバを動かすための設定はかなり幅が広くなります。
<application>XDM</application> はどのディスプレイサーバに接続するかを選択でき、ログイン名とパスワードの組み合わせなど認証情報を入力できるグラフィカルなインタフェイスを提供しています。</para>
<application>XDM</application> はどのディスプレイサーバに接続するかを選択でき、
ログイン名とパスワードの組み合わせなど認証情報を入力できるグラフィカルなインタフェイスを提供しています。</para>
<para><application>XDM</application> がユーザに &man.getty.8;
(詳しくは<xref linkend="term-config">をご覧ください)
と同じ機能を提供することを考えてみてください。
つまり、ディスプレイ上でシステムへのログインができ、ユーザの代わりにセッションマネージャ
(通常は X のウィンドウマネージャ) を起動することができるのです。
それから<application>XDM</application>は、ユーザが作業を終えてディスプレイからログアウトする合図を送ってきてプログラムが終了するのを待ちます。
この時点で、<application>XDM</application> は次にログインするユーザのためにログイン画面や chooser
それから <application>XDM</application> は、
ユーザが作業を終えてディスプレイからログアウトする合図を送ってきてプログラムが終了するのを待ちます。
この時点で、<application>XDM</application>
は次にログインするユーザのためにログイン画面や chooser
画面を表示することができるのです。</para>
</sect2>
@ -613,7 +831,7 @@ EndSection</programlisting>
ファイルには仮想端末上で <application>XDM</application>
デーモンを起動するための行:</para>
<screen>ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</screen>
<screen>ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</screen>
<para>があります。このエントリーはデフォルトでは無効になっており、
有効にするには 5 番目のカラムを <literal>off</literal> から
@ -698,9 +916,11 @@ EndSection</programlisting>
<sect3>
<title>Xaccess</title>
<para><application>XDM</application> がコントロールするディスプレイに接続するためのプロトコルは
<para><application>XDM</application>
がコントロールするディスプレイに接続するためのプロトコルは
X Display Manager Connection Protocol (XDMCP) と呼ばれます。
このファイルにはリモートのマシンからの XDMCP 接続をコントロールするためのルールセットが書かれます。
このファイルにはリモートのマシンからの
XDMCP 接続をコントロールするためのルールセットが書かれます。
デフォルトでは、どんなクライアントからの接続も許可するようになっていますが、
<filename>xdm-config</filename> を変更してリモートからのコネクションを待ち受けるようにしない限り問題ではありません。</para>
</sect3>
@ -754,14 +974,17 @@ EndSection</programlisting>
<sect2>
<title>ネットワークディスプレイサーバの起動</title>
<para>あるディスプレイサーバに他のクライアントが接続することができるようにするために、
アクセスコントロールのルールを編集し、コネクションリスナーを有効にします。
アクセスコントロールのルールを編集し、
コネクションリスナーを有効にします。
デフォルトでは保守的な設定になっています。
<application>XDM</application> がそういったコネクションを待ち受けるようにするためには
<application>XDM</application>
がそういったコネクションを待ち受けるようにするためには
<filename>xdm-config</filename>
にある次の行をコメントアウトします。</para>
<screen>! SECURITY: do not listen for XDMCP or Chooser requests
<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>
@ -848,18 +1071,21 @@ DisplayManager.requestPort: 0</screen>
自分の <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>
<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> のようなディスプレイマネージャを使っているなら、
<note>
<para>もし <application>XDM</application>
のようなディスプレイマネージャを使っているなら、
この方法ではうまくいきません。その代わり、実行可能な
<filename>.xsession</filename> というファイルを作成し、
同じコマンドを起動するようにします。
そのためには、このファイルを編集してウィンドウマネージャを
<application>/usr/X11R6/bin/gnome-session</application> で置き換えます。</para>
<application>/usr/X11R6/bin/gnome-session</application>
で置き換えます。</para>
</note>
<screen>&prompt.user; <userinput>echo "#!/bin/sh" > ~/.xsession</userinput>
@ -921,17 +1147,45 @@ DisplayManager.requestPort: 0</screen>
<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>
<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> はその <quote>KParts</quote>
テクノロジーをベースにしたオフィススイートを持っており、
@ -1118,24 +1372,46 @@ esac</screen>
見ためとしては商用 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>
<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>