- Merge the following from the English version:

r42655 -> r42828	head/ja_JP.eucJP/books/handbook/x11/chapter.xml
This commit is contained in:
Ryusuke SUZUKI 2013-11-24 14:26:33 +00:00
parent c21427da95
commit 1221ccb349
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=43230

View file

@ -3,7 +3,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: r42655
Original revision: r42828
$FreeBSD$
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="x11">
@ -14,8 +14,6 @@
</authorgroup>
</info>
<sect1 xml:id="x11-synopsis">
<title>この章では</title>
@ -72,50 +70,33 @@
</sect1>
<sect1 xml:id="x-understanding">
<title>X を理解する</title>
<para>初めて X を使う場合、&microsoft.windows;&macos; といった他の
GUI 環境に慣れている人は多少ショックを受けるでしょう。</para>
<title>用語の説明</title>
<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 Window System のさまざまなコンポーネントについての詳細や、
それらがどのようにやり取りするかについてすべて理解する必要はありませんが、
これらのコンポーネントについて基本的なことを知っていると、
強力な武器になるでしょう。</para>
<variablelist>
<varlistentry>
<term>X サーバ</term>
<listitem>
<para>X は最初からネットワークを意識してデザインされており、
<quote>クライアント - サーバ</quote> モデルを採用しています。</para>
<para>X では、<quote>X サーバ</quote> はキーボードやモニタ、
<quote>クライアント - サーバ</quote> モデルを採用しています。
このモデルでは、<quote>X サーバ</quote> はキーボードやモニタ、
マウスが接続されたコンピュータ上で動きます。
このサーバはディスプレイの表示を管理したり、キーボード、
マウスからの入力を処理したり、他の入出力装置
(すなわち、入力装置として <quote>タブレット</quote> を利用できますし、
出力装置としてビデオプロジェクタを利用することもできます)
を取り扱います。
各 X アプリケーション (<application>XTerm</application>
<application>Firefox</application> など) は
マウスからの入力を処理したり、タブレットやビデオプロジェクタ等の他の装置からの入出力を処理します。</para>
</listitem>
</varlistentry>
<varlistentry>
<term>X クライアント</term>
<listitem>
<para><application>XTerm</application>
<application>Firefox</application> などの各 X アプリケーションは、
<quote>クライアント</quote> になります。
クライアントは <quote>この座標にウィンドウを描いてください</quote>
といったメッセージをサーバへ送り、サーバは
@ -123,174 +104,111 @@
といったメッセージを送り返します。</para>
<para>家庭や小さなオフィスのような環境では、X サーバと
X クライアントは同じコンピュータ上で動くことになるでしょう
しかし、X サーバを非力なデスクトップコンピュータで動かし、
X アプリケーション (クライアント) は例えばオフィス全体を捌くような
高機能で高価なマシンで動かすことも可能なのです。この場合、
X クライアントは通常同じコンピュータ上で動いています
X サーバを非力なコンピュータで動かし、
X アプリケーションをより高性能ななマシンで動かすことも可能です。
この場合、
X のクライアントとサーバの通信はネットワーク越しに行なわれます。</para>
</listitem>
</varlistentry>
<para>これは、ある人々を混乱させることがあります。
X での用語は彼らが想定するものとは正反対だからです。
彼らは <quote>X サーバ</quote> は地下にある大きなパワフルなマシンであり、
<quote>X クライアント</quote> が自分たちのデスク上にあると想像するのです。</para>
<varlistentry>
<term>ウィンドウマネージャ</term>
<para>X サーバとはモニタとキーボードがついているマシンのことであり、
X クライアントとはウィンドウを表示するプログラムだということを覚えておいてください。</para>
<para>X のプロトコルには、クライアントとサーバのマシンが同じ OS
で動いていなければならないといったことを強制するものはなにもありませんし、
同じ機種で動いている必要もありません。
X サーバを &microsoft.windows; や Apple の &macos;
で動かすことも可能ですし、
そのようなソフトウェアもフリーのものから商用のものまでいろいろとあります。</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>)、
<listitem>
<para>X はスクリーン上でウィンドウがどのように見えるべきか、
マウスでそれらをどうやって動かすか、
ウィンドウ間を移動するのにどういうキーストロークを使うべきか、
各ウィンドウのタイトルバーはどのように見えるべきか、
それらはクローズボタンを持つべきかどうか、
といったことを示すものではないというところまで拡大して解釈できます。</para>
<para>その代わりに、X
クローズボタンを持つべきかどうか、
といったことは規定しません。そのかわりに、X
ではそういったことを <quote>ウィンドウマネージャ</quote>
と呼ばれるアプリケーションに任せるのです。
X 用の <link xlink:href="http://xwinman.org/">ウィンドウマネージャはたくさん</link>
と呼ばれるアプリケーションに任せます。<link
xlink:href="http://xwinman.org/">ウィンドウマネージャはたくさん</link>
あります。
これらのウィンドウマネージャの見た目や使い勝手はそれぞれ異なっています。
<quote>バーチャルデスクトップ</quote>
をサポートしているものもありますし、
バーチャルデスクトップをサポートしているものもありますし、
デスクトップを操作するキーストロークをカスタマイズできたり、
<quote>スタート</quote>
ボタンやそれに類するものを持っているものもあります。
<quote>テーマ</quote> に対応しており、
新しいテーマを適用して見た目や使い勝手を完全に変えられるものもあります。
テーマに対応しており、
デスクトップの見た目や使い勝手を完全に変えられるものもあります。
ウィンドウマネージャは Ports Collection の <filename>x11-wm</filename>
というカテゴリからインストールできます。</para>
カテゴリに用意されています。</para>
<para>さらに、<application>KDE</application>
<application>GNOME</application> デスクトップ環境には、
それぞれのデスクトップに統合された独自のウィンドウマネージャがあります。</para>
<para>それぞれのウィンドウマネージャはまた異なる設定機構を備えており、
<para>それぞれのウィンドウマネージャは異なる設定機構を備えています。
手で設定ファイルを編集しなければならないものや、
設定作業のほとんどを GUI ツールで行うことができるものもあります。
少なくとも 1 つ (<application>Sawfish</application>) は
Lisp 言語の変種で書かれた設定ファイルを持っています。</para>
設定作業のほとんどを GUI ツールで行うことができるものもあります。</para>
</listitem>
</varlistentry>
<note>
<title>フォーカスポリシー</title>
<varlistentry>
<term>デスクトップ環境</term>
<para>ウィンドウマネージャのもう一つの機能はマウスの
<quote>フォーカスポリシー</quote> に関するものです。
すべてのウィンドウシステムは、ウィンドウを選択しキーストロークを
受け付けるようにするための方法が必要です。
そして、どのウィンドウがアクティブなのかを示す必要もあります。</para>
<listitem>
<para><application>KDE</application>
<application>GNOME</application> などのウインドウマネージャは、
デスクトップ環境です。
これらは、共通のデスクトップのタスクを実行するための完全なアプリケーションスイートを含んでいます。
オフィススイート、ウェブブラウザやゲームを含んでいるものもあります。</para>
</listitem>
</varlistentry>
<para>よく知られているフォーカスポリシーは
<quote>click-to-focus</quote> と呼ばれるもので、
このモデルは &microsoft.windows; で利用されており、
<varlistentry>
<term>フォーカスポリシ</term>
<listitem>
<para>ウィンドウマネージャは、
マウスのフォーカスポリシに責任を持ちます。
このポリシは、どのウィンドウがアクティブにキーストロークを
受け付けるようにするための方法を提供し、
そして、どのウィンドウがアクティブなのかを示します。</para>
<para>よく知られているフォーカスポリシは
<quote>click-to-focus</quote> と呼ばれるものです。
このポリシは、
あるウィンドウ内でマウスをクリックすればそのウィンドウがアクティブになる、
というものです。</para>
というものです。
<quote>focus-follows-mouse</quote> ポリシでは、
マウスポインタの下にいるウィンドウがフォーカスされるというものです。
フォーカスを変えるには他のウィンドウにマウスポインタを動かすだけです。
マウスがルートウィンドウに移動した時には、
フォーカスされているウィンドウがなくなり、
キーストロークは破棄されます。
<quote>sloppy-focus</quote> では、
ポインタが別のウィンドウに移った時のみフォーカスが変わり、
現在のウィンドウから出ただけでは変わりません。
<quote>click-to-focus</quote> ポリシでは、
マウスクリックによりアクティブなウィンドウが選択されます。
ウィンドウは前面に表示され、他のすべてのウィンドウの前にきます。
ポインタが別のウィンドウ上に移動した時でも、
すべてのキーストロークがこのウィンドウに届きます。</para>
<para>X は特定のフォーカスポリシーを採用していません。
代わりにウィンドウマネージャがそれをコントロールします。
それぞれのウィンドウマネージャが、
それぞれのフォーカスポリシーをサポートしています。
<para>それぞれのウィンドウマネージャは、
それぞれのフォーカスポリシに対応しています。
すべてのものは click-to-focus をサポートしていますし、
多くのものは他の方法もサポートしています。</para>
多くのものは他の方法もサポートしています。
どのフォーカスモデルを利用可能かどうかについては、
ウィンドウマネージャのドキュメントをご覧ください。</para>
</listitem>
</varlistentry>
<para>最もポピュラーなフォーカスポリシーは次のものでしょう</para>
<varlistentry>
<term>ウィジェット</term>
<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> はクリック可能であったり、
<listitem>
<para>ウィジェットはクリック可能であったり、
他の方法で操作可能なすべてのユーザインタフェース用アイテムを指す用語です。
ボタンやチェックボックス、ラジオボタン、アイコン、リスト、などがそうです。
&microsoft.windows; はこれらを <quote>コントロール</quote> と呼んでいます。</para>
<para>&microsoft.windows; や Apple の &macos;
はともに非常に厳密なポリシーをウィジェットに課しています。
アプリケーション開発者は共通のルックアンドフィールに
確実に従うことを想定されているわけです。
X では、特定のグラフィカルなスタイルやウィジェットのセットを
強制することが重要とは考えてられていませんでした。</para>
<para>したがって、X
アプリケーションに共通の見た目や使い勝手を期待してはいけません。
ウィジェットツールキットはグラフィカルアプリケーションを作成するために使われます。
<application>KDE</application> で使われている Qt や
<application>GNOME</application> プロジェクトで使われている GTK+
といった有名なウィジェットセットやその亜種が何種類もあります。
これらのウィジェットセットはモダンな見た目を持っています。
この点で言えば、&unix; のルックアンドフィールは収斂されてきており、
初心者がより簡単に使えるようになってきています。</para>
</sect2>
といった有名なウィジェットセットがあります。
そのため、アプリケーションのルックアンドフィールは、
アプリケーションを作成するのに使われたウィジェットツールキットに依存し、
異なります。</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 xml:id="x-install">