2. はじめに

UNIX がまだ珍しかったころに戻ろう。1970年ころのことだ。グラフィカルな ユーザーインタフェースはまだ珍奇なもので、研究室(正確にはゼロックスの PARC (訳注:米国ゼロックス パロアルト リサーチセンター))ではそれをもてあそんで いたんだ。でもいまでは、競争力をつけたいという望みがあるから、オペレーティング システムには GUI (訳注:グラフィカルユーザーインタフェース)サブシステムが 必要になっている。 GUI は以前のインタフェースよりも扱いやすいと思われて いる。でも UNIX では、これについてはたいして関心があるわけじゃない。それは UNIX が伝統的に、ある程度まで非常にユーザーに厳しく、使いやすさよりも 多芸多才な方がはるかに好ましかったからだ。でもそんな UNIX システムにさえ GUI が 欲しくなるような理由がいくつかある。例えば、 UNIX にマルチタスクっていう 性質を与えれば、好きな時に数多くのプログラムを動かすようにさせるっていう のは自然なことだ。 GUI っていうのは、画面上にものを表示する方法を もっと管理できるようにするものなんだ。だから、多くのプログラムを画面上に 同時に置いておけるように、より良い仕組みをもたらしているわけだ。さらに 情報によってはグラフィカルな形式で表示した方がより良い場合もある (グラフィカルな形式でしか表示できないものさえある。pr0n(訳注:ネット上の スラングでポルノ画像のこと) や他にも本質的にグラフィカルなデータなんかだ)。

歴史的に見れば、 UNIX は大学の研究者たちが進歩させてきたものなんだ。良い例が 1970年代終りごろ UNIX に追加された BSD (訳注:バークレー ソフトウェア ディストリビューション)のネットワーキング コードだ。これはもちろん、カリフォルニア大学バークレー校での精力的な仕事の 所産さ。これが外部に出まわるにつれて、 X ウィンドウシステム( X ともいうけど、 X ウィンドウズじゃない)もまた研究者たちのプロジェクトの成果になった。この X ウィンドウシステムっていうのは、大多数の GUI サブシステムの基礎になっている もので、Linux や BSD を含めた、最新の UNIX( unices って複数形の方かな?)で 見られるものだ。そのプロジェクトが、すなわちマサチューセッツ工科大学( MIT ) のアテナプロジェクトだ。

UNIX はその誕生当初から、マルチユーザーで、マルチタスクで、時分割ができる オペレーティングシステムだった。さらにネットワーキング技術と結合したから、 ユーザーが遠隔地から接続できるようになり、そのシステム上で作業を行なえる能力も 身に付けた。以前はこれを成し遂げるのに、シリアル接続のダム端末かネットワーク 接続(かの有名な telnet )のいずれかに頼ってたんだ。

時が来て、最初に UNIX で動かせる GUI システムを開発するようになると、 これらの概念は記憶に留められて、その設計と結び付いた。実際 X の設計は かなり複雑で、よくそれが欠点だと言われてきた。でもその設計のおかげで、 何をやらせてもうまいシステムになってもいるし、GUI を構成している部品 すべてが、どうやって UNIX の下で調和しているのかを説明するにしたがって、 なぜそうなのかもすっかり明らかになるだろう。

X のアーキテクチャを見てみる前に、本当に簡単だけどその歴史と、どうやって 最終的に Linux システム上に乗るまでになったのかを見て回ることが必要だ。

X はアテナプロジェクトが開発したもので、1984年にリリースされたんだ。1988年には " X コンソーシアム" っていう団体が X を引き継いで、今に至るまで X の開発と 配布を扱っている。 X の仕様は自由に利用可能だ。これは賢い手段だよ。だって そのおかげでほとんどあらゆる所に X があるようになったんだから。こういった 次第でXFree86 が生まれてきたわけだ。 XFree86 は X を実装したもので、 自分たちが Linux コンピュータ上で使っているものだ。 XFree86 は他の オペレーティングシステムでも動作する。ナントカBSD系統でも OS/2 のような ものでも動くし、その他のオペレーティングシステムでも動くかもしれない。 さらにその名前にも関わらず、 XFree86 は他の CPU アーキテクチャでも利用 できるんだ。