Fink

Running X11 - 1. イントロダクション

1.1 X11 とは何ですか?

X Window System Version 11, あるいは短く X11 とは、ネットワーク透過型、クライアント=サーバ形式の画像表示システムです。 これによってアプリケーションはピクセル、線、テキスト、画像など画面上にを描くことができます。 X11 はまた、追加のライブラリを使用することで、ボタンやテキストフィールドなどのユーザーインターフェイスを描くことが容易にできます。

X11 は、 Unix の世界におけるデファクトスタンダードのグラフィックシステムで、 Linux 、 BSD 、商用 Unix などで使われています。 デスクトップ環境である CDE 、 KDE 、 GNOME などはこの上で動くものです。

1.2 Mac OS X とは何ですか?

Mac OS XApple によって作られたオペレーティングシステムです。 この前身である NeXTStep や OpenStep のように、これは BSD をベースにしている Unix OS ファミリーの一員です。 しかし、 Mac OS X は独自の画像表示システムを有しています。 この画像エンジンは Quartz と呼ばれていて、そのルックアンドフィールは Aqua と呼ばれていますが、両者は同じ意味で使われることもあります。。

1.3 Darwin とは何ですか?

Darwin は Mac OS X から余計な部分を落とした無料版で、完全なソースコードが入手できます。 これには Quartz 、 Aqua などや関連テクノロジーはついてきません。 デフォルトではテキストコンソールのみです。

1.4 XFree86 とは何ですか?

XFree86 はオープンソースで実装した X11 です。 これは名前が示すように、当初 Intel x86 PC 上で動くように開発されましたが、現在では OS/2 、 Darwin 、 Mac OS X 、 Windows など多くのアーキテクチャーやオペレーティングシステムで動かすことができます。

1.5 Xtools とは何ですか?

Xtools は Tenon Intersystems の製品です。 これは XFree86 をベースにした Mac OS X 用の X11 の一バージョンです。

注記: OS 10.3 のリリース以前に開発が止まっているようです。

1.6 クライアントとサーバー

X11 はクライアント=サーバ型のアーキテクチャーで構築されています。 中央のシステムが実際の描画やアプリケーション間のアクセスを調整しています。 X11 を使って描画をしたいアプリケーションは、サーバに接続して何を描画するかを伝えます。 このため、 X11 の世界ではアプリケーションはクライアントと呼ばれています。

X11 ではサーバとクライアントは同じマシンで動いている必要はありません。 これはよく用語の混乱の元となっています。 ワークステーションとサーバを使った環境の場合、 X11 ディスプレイサーバはワークステーションで、アプリケーション (X11 クライアント) はサーバ上で実行するためです。 ここでは "サーバ" という言葉は X11 ディスプレイサーバを指し、押し入れの中に隠してあるマシンのことではありません。

1.7 rootless とはどういう意味ですか?

背景: X11 は画面をウィンドウのハイエラルキーと見なしています。 最上位にはスクリーンサイズの特別なウィンドウがあり、他の全てのウィンドウはこれに含まれています。 このウィンドウはデスクトップ背景も含み、 "root window" と呼ばれています。

本題に戻りましょう: 他のグラフィック環境と同様、 X11 はそれだけでスクリーンを占有するように描かれています。 Mac OS X では、 Quartz が既にスクリーンを占有しているので、両者が協働するように修正しなければいなりませんでした。

やり方の一つとしては、両者を順々に占有させる方法があります。 それぞれの環境は、ある瞬間には片方だけがスクリーンを完全に占有する形で、ユーザーが切り替えます。 この方式はフルスクリーンや rooted モードと呼ばれています。 rooted とは、 X11上で、完全に他のシステムと同じルートウィンドウが存在するためにこう呼ばれています。

もう一つの方法は、ウィンドウごとに両者の環境を混在させることです。 これによって二つのスクリーンを切り替える必要がなくなり、また既に Quartz が背景を管理しているので、 X11 ルートウィンドウを除くことができます。 こうして (目に見える) ルートウィンドウがなくなるので "rootless" と呼ばれています。 これが Mac OS X 上で X11 を使う最適な方法です。

1.8 ウィンドウマネージャとは何ですか?

ほとんどのグラフィック環境においてはウィンドウ枠の見た目 (タイトルバー、閉じるボタン) はシステムによって決められています。 X11 は違います。 X11 では、ウィンドウ枠 (または " 装飾 ") は別のプログラムによって提供されていて、これをウィンドウマネージャと呼びます。 多くの点で、ウィンドウマネージャは一つのクライアントアプリケーションにすぎません。 起動する仕方も、 X サーバに通信するときのチャンネルもまったく一緒です。

ウィンドウマネージャの一覧は xwinman.org にあります。 有名どころは テーマ と呼ばれる外観のカスタマイズをすることができます。 ウィンドウマネージャによっては、ルートウィンドウでのポップアップメニュー、ドック、ランチャ−などの機能も備えています。

多くのウィンドウマネージャが Fink パッケージ化されています。 一覧をご覧下さい。

1.9 Quartz/Aqua や Gnome, KDE とは何ですか?

いずれもデスクトップ環境です。 これ以外にも沢山あります。 デスクトップ環境は、統一した外観や操作性の枠組みを提供します。 例えば:

描画エンジン: X11

ウィンドウマネージャ: sawfish

デスクトップ: Gnome

描画ディスプレイエンジン、ウィンドウマネージャ、デスクトップ環境は似たような機能が実装されていることもあるので、境界線は非常に曖昧です。 このため、ウィンドウマネージャとデスクトップ環境によっては一緒に使えない組み合わせもあります。

多くのアプリケーションは特定のデスクトップに統合された形で開発されています。 たいてい、これはデスクトップ環境用のライブラリ (と低レベルのライブラリ) をインストールすることで、そのアプリケーションの機能を損なうことなく使うことができます。 たとえば、いまでも増加中の GNOME アプリケーション は、GNOMEがなくとも動作します。 残念なことに、 KDE アプリケーション ではまだそこまで達していません

次: 2. 歴史