| この記事は
??可能
な
?考文?や出典
が全く示されていないか、不十分です。
出典を追加
して記事の信?性向上にご協力ください。
(
このテンプレ?トの使い方
)
出典?索
?
:
"X Window System"
?
ニュ?ス
·
書籍
·
スカラ?
·
CiNii
·
J-STAGE
·
NDL
·
dlib.jp
·
ジャパンサ?チ
·
TWL
(
2020年12月
)
|
|
「
Xサ?バ
」はこの項目へ
?送
されています。レンタルサ?バについては「
エックスサ?バ?
」をご?ください。
|
X Window System
(
エックスウィンドウシステム
、別?:「
X11
」?「
X
」など→名?については
後述
)とは、
ビットマップ
ディスプレイ上で
ウィンドウシステム
を提供する表示プロトコルである。
リファレンス??
として
X.Org Server
があり、標準ツ?ルキットとプロトコルを提供し、
Unix系
オペレ?ティングシステム
(OS) や
OpenVMS
などでの
グラフィカルユ?ザインタフェ?ス
(GUI) を構築するのに使われる。他の多くの汎用OSにも
移植
されている。
?要
[
編集
]
Xは1984年、
マサチュ?セッツ工科大?
が開?した。現在のバ?ジョンであるX11は1987年9月に登場した。現在は
X.Org Foundation
がXプロジェクトを主導している。
リファレンス??
であるversion 11 release 7.3(2007年9月6日)は
フリ?ソフトウェア
として
MIT License
および類似のライセンスで提供している
[1]
。
Xは、GUI環境構築のための基本フレ?ムワ?クやプリミティブを提供する。
ウィンドウ
を?面上に描?したり、移動させたり、マウスやキ?ボ?ドを使ってやり取りする。Xは
ユ?ザインタフェ?ス
を規定しない。それは、個?のクライアントプログラムの管理下にある。そのため、Xに基づいた環境の見た目は??である。
プログラム
ごとにインタフェ?スは異なる。XはOSの中核 (kernel) には含まれない。アプリケ?ション層構築の基盤となっている。
それ以前の表示プロトコルとは異なり、Xは表示機器に付?した(あるいは統合された)システムではない。
ネットワ?ク
コネクションを通して使うことを意?して設計している。X の特?は、
Xプロトコル
という、?面表示や入出力時に利用する
プロトコル
が
ネットワ?ク
透過
だということである。そのため、手元のマシンの表示と遠隔のマシンとの表示で表示方法に差がない。このことは、ネットワ?クを利用した
UNIX
ワ?クステ?ション
群でGUI表示を行うのに便利であり、UNIXマシンの普及と共にXも普及していった。
ア?キテクチャ
[
編集
]
Xは
クライアントサ?バモデル
に基づき、
Xサ?バ
が各種「クライアント」プログラムと通信する。サ?バはグラフィカルな出力要求を受け付け、(
マウス
、
キ?ボ?ド
、
タッチパネル
などからの)ユ?ザ?入力をクライアントに送信する。Xプロトコル自身はハ?ドウェア環境に依存しない。そのため、X Window Systemが動作するマシンはUNIXマシンだけとは限らない。
Windows
上でXサ?バを動作させる、通?
PC Xサ?バ
という
ソフトウェア
や、
ハ?ドウェア
(ファ?ムウエア)でXプロトコルを?理する、通?
X端末
も存在する。特にX端末は、UNIXマシンが非常に高?な時代に、GUIだけを安?に表示、?理できる機器として良く利用された。
このクライアントサ?バという用語(ユ?ザ?の
端末
、
サ?バ
、
クライアント
である
アプリケ?ション
)は、しばしば新規のXユ?ザ?を混?させる。なぜなら用語が逆に使われているように見えるからである。しかしXはエンドユ?ザ?ではなく、むしろアプリケ?ションからみた考え方をしている。Xは
ディスプレイ
や
I/O
サ?ビスをアプリケ?ションに提供している。そのためサ?バである。アプリケ?ションはこれらのサ?ビスを利用している。そのためアプリケ?ションはクライアントである。
サ?バとクライアント間の
通信プロトコル
は、
ネットワ?ク
透過性
を備える。クライアントとサ?バは同じマシン上でも動作するし、別?のマシン上でも動作する。?方の
ア?キテクチャ
やOSが違っていても構わない。クライアントとサ?バ間の通信は、
インタ?ネット
上でも
トンネリング
によって安全に行うことができる。
Xクライアント自?がXサ?バを?包し、複?のクライアントに?してサ?バとして動作する構成も可能である。これを「Xネスティング」と呼ぶ。
Xnest
や
Xephyr
は、Xネスティングをサポ?トした
オ?プンソ?ス
のクライアントである。
リモ?トのクライアントプログラムをロ?カルなサ?バで表示するには、
端末エミュレ?タ
のウィンドウを開き、
telnet
あるいは
ssh
でリモ?トのクライアントアプリケ?ション(あるいは
シェル
)を起動し、入出力先をロ?カルに指定してクライアントを起動する(すなわち、
export DISPLAY=
[ユ?ザ?のマシン]
:0
をリモ?トのマシン上で設定する)。クライアントアプリケ?ションはロ?カルサ?バと接?され、ロ?カルマシンのディスプレイと
入力機器
を使って動作する。またロ?カルマシンは、リモ?トマシンに接?しクライアントアプリケ?ションを起動する小さなプログラムを?行することもできる。
リモ?トクライアントの?用的な利用例として、次のようなものがある。
- リモ?トマシンの管理をグラフィカルに行う。
- リモ?トマシンで計算量の多い
シミュレ?ション
を?行し、ロ?カルなデスクトップマシンでその結果を表示する。
- 複?のマシンでグラフィカルなソフトウェアを同時に?行し、その表示を1つのマシンで行い、1人のユ?ザ?が全?を操作する。
設計思想
[
編集
]
1984年、Bob ScheiflerとJim GettysはXの基本原則を以下のように定めた
[2]
[3]
。
- ?際のアプリケ?ションでどうしても必要という場合以外は、新機能を追加するな。
- 機構が何でないのかを定義することは、何であるのかを定義するのと同じように重要である。あらゆる要求に答える必要はない。むしろ、互換性を維持した?態で?張可能にしておけ。
- 1つでも例を?げて一般化したほうが、全く例を?げずに一般化するよりもマシである。
- 問題が完全に把握できないときは、解決策も提供しないのが最善の方法である。
- 10%の作業で望みの90%の?果が得られるときには、その解法を使え。
- 複?さは可能な限り分離せよ。
- 方針よりも機構を提供せよ。特にユ?ザインタフェ?スについての方針はクライアント側に任せておけ。
先頭の原則は、X11の設計時に「具?的アプリケ?ションがそれを必要としていることを知っている場合に限って、新たな機能を追加せよ」に修正された。
Xはだいたいにおいてこれらの原則に?ってきた。?考??は?張性と改良を視野に入れて開?されており、1987年?時のプロトコルとほぼ完全な互換性を維持している。
ユ?ザインタフェ?ス
[
編集
]
Xは意?的にアプリケ?ションの
ユ?ザインタフェ?ス
の仕?を含まないようにしている。
ボタン
、
メニュ?
、ウィンドウの
タイトルバ?
などである。代わりに、
ウィンドウマネ?ジャ
、GUI
ウィジェット?ツ?ルキット
、
デスクトップ環境
、アプリケ?ション固有の
グラフィカルユ?ザインタフェ?ス
などがそのような詳細を定義し提供している。そのため、典型的なXのインタフェ?スを示すことは不可能である。
ウィンドウマネ?ジャ
は、アプリケ?ションのウィンドウの位置と見た目を制御する。そのインタフェ?スは
Windows
や
Macintosh
と似ているものもあるし(
GNOME
の
Metacity
、
KDE
の
KWin
、
Xfce
のXfwmなど)、全く異なるものもある。?用本位のウィンドウマネ?ジャもあれば(
twm
など)、デスクトップ環境に近い機能を持つものもある(
Enlightenment
など)。
多くのユ?ザ?は
デスクトップ環境
を通してXを利用している。デスクトップ環境にはウィンドウマネ?ジャ、各種アプリケ?ションなどが一貫したインタフェ?スで含まれている。
GNOME
、
KDE
、
Xfce
などが主なデスクトップ環境である。
freedesktop.org
はデスクトップ環境間の相互運用性を高めることを目的としている。
Xサ?バは、グラフィカルなデスクトップでのキ?ボ?ドとマウス操作を管理している。そのため、一部の
ショ?トカットキ?
はXサ?バと結び付けられている。Control-Alt-Backspaceは通常、現在動作しているXセッションを終了させる。Control-Altと
ファンクションキ?
の組合せは、一般に
バ?チャルコンソ?ル
に連携している。ただし、これは個?のXサ?バの??の詳細であり、常に同じとは限らない。例えば、WindowsやMacintoshで動作するXサ?バでは、そのようなショ?トカットキ?は提供されない。
??
[
編集
]
X.Org Server
は、
リファレンス??
としてX Window Systemの正式な??として扱われる。
フリ?ソフトウェア
、
プロプライエタリソフトウェア
の??が複?存在する。商用UNIXベンダ?はリファレンス??を採用し、それを自身のハ?ドウェアに合わせて修正し、?自の?張を??に凝らすことが多い。
2004年まで、
XFree86
がフリ?な
Unix系
システムでのX??の事?上の標準だった。XFree86はXを
80386
搭載の
パ?ソナルコンピュ?タ
(PC) 上に
移植
することから始まり、1990年代末ごろにはXの
デファクトスタンダ?ド
の地位を得ていた
[4]
。しかし、2004年に
X.Org Server
がXFree86のライセンスの?更を期にして派生し、こちらが主流となっていった。
XとUNIXの組合せはよく知られているが、Xサ?バは他のグラフィカル環境用にも存在している。
Windowsや
macOS
などの他のウィンドウシステム上でXサ?バを動作させる場合、統合のさせ方がソフトウェアによって色?あり、
X.Org Server
ではWindowsとmacOSでは以下の方式の最初の3つをサポ?トしている。Unix系ではフルスクリ?ンだが、それ以外は
Xnest
によりサポ?トしている。
- シングルウィンドウ - X11のル?トウィンドウをOSのトップレベルウィンドウにマッピングする。
- マルチウィンドウ - X11のトップレベルウィンドウをOSのトップレベルウィンドウにマッピングする。
- ル?トレス (rootless) - 本?のウィンドウシステムが背景と基本メニュ?を提供し、Xのウィンドウの位置を管理する。すなわち、Xのクライアントが表示するウィンドウが、手元のウィンドウシステムで表示されるアプリケ?ションが出すウィンドウと同じように表示される。X11のウィンドウマネ?ジャが利用される。
- フルスクリ?ン
OpenVMS
[
編集
]
HPE
およびVSIの
OpenVMS
にはXと
CDE
(DECwindows) が標準のデスクトップ環境として含まれている。
OS-9
[
編集
]
OS-9
にもかつてメ?カ?純正のXサ?バがあった。マイクロウェア?システムズ(株)がX Window Version 11 Release 4をOS-9に移植し、X開?ライブラリとXクライアント制御管理プログラム、Xクライアントプログラム、OS-9/UNIX互換??ライブラリから成る "Client Development Pak" を40万円で??した
。
macOS
[
編集
]
X.Org Serverは
macOS
での動作をサポ?トしており、
XQuartz
(X11.app) として公開されている。
Mac OS X v10.5
~
v10.7
では標準搭載されていた。
Mac OS X v10.3
では、
XFree86
4.3とX11R6.6に基づいたXQuartzが
Mac OS X
に統合されていた。10.5以降はXFree86ではなく、X.Org Serverになった。古い
Mac OS 7
などにも
サ?ドパ?ティ?
製のXサ?バがある。
Windows
[
編集
]
X.Org Serverは
Cygwin
?用の形でWindowsでの動作をサポ?トしており、
Cygwin/X
(Xwin) として公開されている。
それ以外にも、他のグル?プによる各種??が存在する。X.Org Serverから派生した物もあれば、1から??されている物もある。
フリ?ソフトウェア
としては、
WeirdMind
、
WeirdX
などがある。プロプライエタリソフトウェアとしては、
ASTEC-X
、
Exceed
、
ReflectionX
、
WiredX
、
Xmanager
、
X-Deep/32
、
Xming
、
X-Win32
、
XVision Eclipse
などがある。かつては、Xoftware/32(ネットマネ?ジ製)、DynaWinX、PC-Xware(NCD製、?社が取り扱い)、Super-X(Frontier Technologies製、コンテック扱い)、eXodus for Windows(White Pine Software製、DIT扱い)という商品もあった。これらは通常、リモ?トのXクライアントを表示?制御するのに使われる。
スマ?トフォン?タブレット
[
編集
]
MeeGo
、
Maemo
、
Tizen
、
Ubuntu Touch
など各種
Linux
スマ?トフォン
?
タブレット
でもX Window System (X.Org Server) が使われている。
X端末
[
編集
]
X端末は、Xサ?バを?行する
シンクライアント
である。これはUNIX
ワ?クステ?ション
が高?だったころ、大きめのサ?バを複?人で共有し、各人がグラフィカルな環境を使えるようにする安?の手段として人?となった。また、これはMITのプロジェクトが本?想定していた方向性でもある。
X端末は、ネットワ?ク上で
X Display Manager Control Protocol
(XDMCP) を使って利用可能なホスト(クライアントを?行できるマシン)を探す。まず最初のホストで
Xディスプレイマネ?ジャ
を起動する必要がある。
?用ハ?ドウェアとしてのX端末はその後少なくなり、より安?なXサ?バ用端末としてPCや新たな
シンクライアント
が使われるようになっている。
Xの限界と非難
[
編集
]
UNIX-HATERS Handbook
(1994年)は、1つの章を割いてXの問題を論じている
[6]
。
Why X Is Not Our Ideal Window System
(1990年、Gajewska, Manasse, McCormack)は、Xプロトコルの問題を詳細に論じ、改善の方法を示唆している。
ユ?ザインタフェ?ス機能
[
編集
]
Xはユ?ザインタフェ?スの仕?やアプリケ?ション間通信の仕?を意?的に含まないようにしている。このためそれぞれ全く異なったインタフェ?スが生まれ、アプリケ?ション間の連携を阻む原因ともなっている。
ICCCM
はクライアントの相互運用に?する仕?だが、正しく??するのが困難なことで有名である。
Motif
と
CDE
も標準化の試みだったが、解決策とはならなかった。この問題は、
プログラマ
やユ?ザ?を長い間?ませてきた
[7]
。2007年現在、アプリケ?ションの
ルック?アンド?フィ?ル
とアプリケ?ション間通信の一貫性を保つためには、特定のデスクトップ環境あるいは特定のウィジェット?ツ?ルキットを採用してプログラムを作成するのが一般的である。
Xプロトコルは音?を全く扱わない。そのため、
サウンドカ?ド
の制御も含めた部分はOSや
OSS
や
ALSA
などのオ?ディオシステムが分?している。多くのプログラマはOS固有のサウンド
API
を使っている。クライアントサ?バ型のサウンドシステムとしては、古くはrplayや
Network Audio System
があった。その後、
EsounD
(GNOME)、
aRts
(KDE) などが開?された。2001年、X.Orgはこの問題に??するためMedia Application Server (MAS) の開?を?表した。しかし、これらはいずれも根本的な解決策とはなっていない。
ネットワ?ク
[
編集
]
XクライアントをあるXサ?バからデタッチし、別のXサ?バに再アタッチすることはできない。しかしXとは別の遠隔操作方法である
Virtual Network Computing
(VNC) ではそれが可能であり、一部のアプリケ?ションやツ?ルキットではそのような機能を提供している
[8]
。
Xサ?バとリモ?トのXクライアントの間の通信トラフィックは、デフォルトでは暗?化されていない。そのため?意ある者が
LANアナライザ
を使えば、それを?き見ることができるので注意が必要である。
クライアント/サ?バの分離
[
編集
]
Xの設計では、クライアントとサ?バはそれぞれ?立して動作する。ハ?ドウェアからの?立性やクライアントとサ?バの分離などの
オ?バ?ヘッド
は、OS?にグラフィックス機能が統合されているシステム(Windowsや
Mac OS
)にはないものである。Xが適切な性能を?揮するには、4
MB
から8MBの
RAM
を必要とすると言われている。これは1990年代中ごろまではWindowsやMac OSに比較すると大きかった。
Windows Vista
/
Windows Server 2008
以降のWindowsに搭載されている
WDDM
やOS Xの
Quartz
はXのようなクライアントとサ?バの分離を行えるようになっている。オ?バ?ヘッドの大半は、ネットワ?ク上の
ラウンドトリップタイム
によるものである(つまりプロトコル自?の問題ではなく、
レイテンシ
である)。性能問題を解決するにはそのレイテンシを考慮したアプリケ?ション設計をする必要がある
[9]
。Xのネットワ?ク機能が過度に複?であるために、ロ?カルで使っても性能に?影響があるという誤解を持つ人が多いが、現在のXの??ではロ?カルな接?では?にソケットと共有メモリを使うので、X固有のオ?バ?ヘッドはほとんどない。
ディスプレイドライバのクラッシュ時に?生する問題
[
編集
]
ディスプレイサ?バ?本?やディスプレイドライバの??は安定しているが、Windows系システムとは異なり
[10]
、ディスプレイドライバがクラッシュした場合、直前までの表示?容は失われ、Xサ?バ?本?とXクライアントアプリケ?ションを手動で再起動しなければならない。
そのため、監視システムやインフラ制御システムなどの
ミッションクリティカル
なGUIアプリケ?ションの利用には注意を要する。
Xと競合するシステム
[
編集
]
Unix系システムでは、グラフィックス表示にはXが使われるのが普通である。しかしXの代替となるシステムを開?しようという試みはいくつかある。?史的には、
サン?マイクロシステムズ
の
NeWS
(市場では成功しなかった)、
NeXT
の
Display PostScript
(
Apple
が
Quartz
に置換した)、日本製の
GMW
があった。
Quartz開?者の1人であるMike Paquetteは、アップルがDisplay PostScriptからXに移行せずに?自のウィンドウサ?バを開?した理由として、アップルが必要とする全ての機能をX11に追加してみたら、X11とは似ても似つかないものになり、他のXサ?バとの互換性も失ってしまったと?明した
[11]
。
他にも、FrescoやY Window SystemといったXを置換することを意?したシステムもある。しかしXとの互換性を無視したこれらのシステムは、今のところ?く受けいれられてはいない。また、
Mir
や
Wayland
は互換性を重視している事もあってLinuxディストリビュ?ションやプレインスト?ルでの採用?績があるが、Xを置き換えるほどの勢いはない。
ハ?ドウェアを直接操作することでXのオ?バ?ヘッドに??しようとした競合システムもある(例えば、DirectFBやFrameBuffer UI)。
ダイレクト?レンダリング?インフラストラクチャ
(DRI) は、ほぼ同等の機能をX?で
モジュ?ル
化したものと言え、それら競合システムの努力が無?になる可能性もある。しかし、(
RTAI
などを使った)
組み?みシステム
用LinuxではDRIのリアルタイム性は思わしくなく、そのような?用にXは今のところ不向きと言える。
グラフィックス?連のサ?ビスでネットワ?ク透過性を達成するその他の手段には、以下のものがある。
?史
[
編集
]
先?的開?
[
編集
]
X以前にも、ビットマップディスプレイを使ったシステムは存在していた。
ゼロックス
は
Alto
(1973年)と
Star
(1981年)を開?している。
Apple
は
Lisa
(1983年)と
Macintosh
(1984年)を開?した。UNIX?連では
Andrew Project
(1982年)と
ロブ?パイク
の
Blit
端末(1984年)がある。
Xの名?は、それ以前の
W Window System
の後?であることから名づけられた。W Window Systemは
V
というOS上で動作した。Wはネットワ?クプロトコルを使って端末やグラフィックウィンドウをサポ?トし、サ?バ側でディスプレイリストを管理する。
起源と初期の開?
[
編集
]
Xの考え方が
MIT
で生まれたのは1984年、Jim Gettys(
Project Athena
)とBob Scheifler(
MITコンピュ?タ科??究所
)によるものであった。ScheiflerはArgusというシステムの
デバッグ
用の表示環境を必要としていた。Project Athena(
DEC
、MIT、IBM によるコンピュ?タのユ?ザインタフェ?スを改善するプロジェクト)ではプラットフォ?ムに依存せず、マルチベンダ?システムで利用できるグラフィックスシステムを必要としていた。?時、
カ?ネギ?メロン大?
の
Andrew Project
でウィンドウシステムが開?中だったが、ライセンス提供を受けることができず、他に代案もなかった。
解決策として、ロ?カルなアプリケ?ションも動作させることができ、リモ?トでも動作させることができるプロトコルの開?という考えが生まれた。1983年中ごろ、WがUNIXに移植された(Vのときの5分の1の速度)。1984年5月、Scheiflerは同期型だったWのプロトコルを非同期型に?更し、これがXバ?ジョン 1となった。Xは世界初のハ?ドウェアやベンダ?に依存しないウィンドウシステム環境となった。
Scheifler、Gettys、Ron Newmanが開?を進め、Xは急速に進化していった。1985年1月にはバ?ジョン 6をリリ?ス。?時
Ultrix
を搭載したワ?クステ?ションをリリ?スしようとしていたDECは、Xの搭載を決?した。DECの技術者がX6をDECのQVSSディスプレイ付き
MicroVAX
に移植した。
1985年第二四半期、Xは
カラ?
をサポ?トし、DEC
VAXstation
-II/GPXで動作した。これがバ?ジョン 9となる。MITはX6を外部グル?プに料金を??してライセンスしていたが、X9リリ?ス時点から
MIT License
を適用することとした。X9は 1985年9月にリリ?スされた。
ブラウン大?
のグル?プが
IBM RT-PC
にX9を移植したが、整列されていないデ?タの?み?みで問題が?生し、プロトコルに非互換となる?更が必要となった。このため、1985年末にバ?ジョン 10となった。1986年には外部からXについての問合せが?えてきた。X10R2は1986年1月、X10R3は1986年2月にリリ?ス。X10R3では?く製品に採用されるようになった。DECとヒュ?レット?パッカ?ドはX10R3ベ?スの製品をリリ?スし、他のグル?プが
アポロコンピュ?タ
のマシンや
サン?マイクロシステムズ
のワ?クステ?ションへの移植を行い、IBM
PC/AT
への移植も行われた。このころ、Autofactという見本市でXを使った商用アプリケ?ションが初めてデモンストレ?ションされた(Cognition Inc.の機械系CAEシステム)。X10の最後のバ?ジョンはX10R4で、1986年12月にリリ?スされた。
Virtual Network Computing
(VNC) がデスクトップの共有を可能にしているように、Xサ?バをそのように?張する試みはこのころから?に行われていた。例えば、Philip J. Gustの
SharedX
ツ?ルがある。
X10は?力な機能を持っていたが、Xプロトコルはさらに?く使われるようになる前に、もっとハ?ドウェア中立となるよう再設計する必要があることがわかってきた。しかし、MIT だけではそのような全面的な再設計をするだけのリソ?スがなかった。そこでDECのWestern Software Laboratory (WSL) がこのプロジェクトに?加を申し出た。DEC WSLのSmokey WallaceとJim Gettysは、DEC WSLがX11を開?し、それをX9やX10と同じ?件でフリ?にリリ?スすることを提案した。設計は1986年5月に開始され、8月にはプロトコルが完成した。アルファテストは1987年2月に開始され、ベ?タテストは1987年5月に開始された。X11のリリ?スは、
1987年
9月15日
に行われた。
Scheiflerが中心となって行われたX11プロトコルの設計は、USENETのニュ?スグル?プとオ?プンなメ?リングリスト上で盛んに議論しながら進められた。したがって、Xは最初の大規模
フリ?ソフトウェア
プロジェクトと言われることもある。
MIT X ConsortiumとX Consortium, Inc.
[
編集
]
1987年、X11の成功が明らかになると、MITはXの運?責任を放棄したいと考えるようになった。しかし、1987年6月に9社の主なベンダ?が集まった?議で、各社はMITに?してXをまとめていくには中立的な??が管理する必要があることを訴えた。1988年1月、
MIT X Consotium
が非?利の業界??として設立された。責任者はScheiflerで、今後のX開?の方向性を業界と?界の動向を加味して決定することとなった。1988年1月にはJim Fulton、1988年3月には
キ?ス?パッカ?ド
が?加し、Jim は
Xlib
/フォント/ウィンドウマネ?ジャ/ユ?ティリティの開?、キ?スはサ?バの再??を分?するようになった。Donna ConverseとChris D. Petersonが同年末までに?加し、ツ?ルキットとウィジェットを分?し、Project AthenaのRalph Swickと連携して作業を行った。MIT X ConsortiumはX11のリビジョンをいくつかリリ?スしていった。最初のX11R2は1988年2月にリリ?スされた。
1993年、MIT X Consortiumの後?としてX Consortium, Inc.(非?利組織)が設立された。そして、
1994年
5月16日
にX11R6をリリ?ス。1995年には、
Motif
ツ?ルキットと
Common Desktop Environment
の開?管理も行うようになった。X Consortium, Inc.は1996年末には解散し、X11R6.3を最後にリリ?スした。コンソ?シアム?加各社による?い?みのような?況になったことが解散の原因とされている
[12]
[13]
。
The Open Group
[
編集
]
1997年中ごろ、X Consortium, Inc.はXの管理運?を
The Open Group
に移管した。これは、
Open Software Foundation
と
X/Open
が1996年初めに合?して結成された業界??である。
The Open Groupは1998年初めにX11R6.4をリリ?スした。しかし、The Open GroupはXの開?資金を確かなものとするため、これまでのライセンス?件を?更し、これが議論を呼んだ
[14]
。新たな?件では、多くのプロジェクト(
XFree86
など)やいくつかの商用ベンダ?での採用が困難であった。これを受けてXFree86が分裂しそうになると、The Open Groupは1998年9月にX11R6.4を改めて??のライセンス?件でリリ?スした
[15]
。The Open Groupの最後のリリ?スはX11R6.4 patch 3であった。
X.OrgとXFree86
[
編集
]
XFree86
の起源は、Thomas RoellとMark W. Snitilyが1991年に書いた
PC/AT互換機
向けのX11R5であるX386 serverに遡る。Snitily Graphics Consulting Services (SGCS) はこれを1992年にMIT X Consortiumに寄贈した。XFree86は時と共に進化していき、Xの??としての
デファクトスタンダ?ド
となった
[4]
。
1999年5月、The Open GroupはX.Orgを設立した(後の
X.Org Foundation
とは異なる)。X.Orgは?時進行中だったX11R6.5.1のリリ?スを?施した。?時のX開?は?滅寸前であった
[16]
。X Consortium, Inc.が解散した後の技術的進?の多くはXFree86プロジェクトで生まれた
[17]
。1999年、XFree86はX.Orgの(?費を?わない)名??員となり
[18]
、XFree86とLinuxを製品に使いたいと思っていた多くのハ?ドウェア企業がこれを?迎した
[19]
。
2003年までにLinuxとXの組合せが非常に一般的になってきても、X.Orgは活?にはならず
[20]
、やはり開?の中心はXFree86であった。しかし、ここでXFree86?で大きな意見の相違が?生した。XFree86は、あまりにも
伽藍
的開?モデルであり、開?者は
CVS
にコミットアクセスできず
[21]
[22]
、ベンダ?は多?の
パッチ
を保守する必要があった
[23]
。2003年3月、XFree86からキ?ス?パッカ?ドが追い出された。彼はMIT X Consortiumの消滅後にXFree86に?加していた
[24]
[25]
[26]
。
X.OrgとXFree86は、Xの開?を推進するための組織改編についての議論を開始した
[27]
[28]
[29]
。Jim Gettysは2000年ごろからオ?プンな開?モデルが必要であることを?調していた
[30]
。GettysとPackardは他の何人かと共に?率的なXのオ?プン開?の要求仕?について議論を開始した。
そしてX11R6.4のライセンス問題の結果、XFree86 version 4.4はより制限されたライセンスで2004年2月にリリ?スされ、Xを使っている多くのプロジェクトでこれを使うのが困難になった
[31]
。追加された?項は
BSDライセンス
の宣??項に基づいており、
フリ?ソフトウェア財?
も
Debian
もこれを
GNU General Public License
(GPL) と非互換であるとした
[32]
。このライセンス問題とソ?ス修正の困難さから、多くの人が分裂の機が熟したと感じていた
[33]
。
X.Org Foundation
[
編集
]
2004年初め、 X.Orgと
freedesktop.org
の??な人?が集まり
X.Org Foundation
が結成され、The Open Groupは
x.org
というドメイン名の?利を?渡した。これにより、Xの管理運?は大きく?化した。1988年以?(前のX.Orgも含めて)Xの開?運?は業界??が行っていた。しかし、X.Org Foundationはソフトウェア開?者が主導し、
バザ?ル
モデルに基づいたコミュニティによる開?であり、外部からの?加に依存している。個人?加も可能で、企業がスポンサ?として?加することも可能である。現在、ヒュ?レット?パッカ?ドなどの企業がX.Org Foundationに援助している。
FoundationはX開?における監督的役割を?う。技術的判?はコミュニティでの合意形成によってなされ、何らかの委員?で決定されるわけではない。これは
GNOME Foundation
の非干?主義的開?モデルに非常に近い。Foundationは開?者を雇っていない。
2004年4月、X.Org FoundationがXFree86 4.4RC2にX11R6.6の?更をマ?ジしたX11R6.7をリリ?スした。GettysとPackardは、??のライセンスのXFree86の最新版をベ?スとしてオ?プンな開?モデルを採用しGPLとの互換性を維持することで、かつてのXFree86開?者の多くを呼び?した
[32]
。
2004年9月、X11R6.8がリリ?スされた。これには多くの新機能が追加された(透明なウィンドウサポ?ト、その他の視??果のサポ?ト、3次元表示サポ?トなど)。また、外部アプリケ?ションとして、
コンポジット型ウィンドウマネ?ジャ
と呼ばれるもので見た目のポリシ?を提供できるようになった。
2005年
12月21日
、X.Orgは??からのユ?ザ?向けにモノリシックな
ソ?スコ?ド
であるX11R6.9と、同じコ?ドをモジュ?ル化して分割したX11R7.0をリリ?スした
[34]
[35]
。
2006年
5月22日
、多?の機能?化を施したX11R7.1をリリ?スした
[36]
。
今後
[
編集
]
X.Org Foundationとfreedesktop.orgにより、Xの中核部分の開?が再び加速された。これらの開?者は、?にベンダ?による製品化のベ?スとしてだけでなく、使用可能な最終製品として今後のバ?ジョンをリリ?スしようとしている。
ハ?ドウェアやOSとの?係を限定するため、X.Orgは表示用ハ?ドウェアへのアクセスを
OpenGL
と
ダイレクト?レンダリング?インフラストラクチャ
(DRI) だけにすることを予定している。DRIはXFree86 version 4.0で登場し、X11R6.7以降で標準となった
[37]
。多くのOSがハ?ドウェア操作のための
カ?ネル
サポ?トの追加を開始している。
名?
[
編集
]
開?元のX.Org Foundationは、このソフトウェアを以下のいずれかの名前で呼ぶことを求めている
[38]
。
- X
- X Window System
- X Version 11
- X Window System, Version 11
- X11
かつてはよく間違われたが、X Window Systemは「"X Window"というシステム」ではなく、「"X"というウィンドウシステム」である。また、X Window
s
という表記は誤りである。
Xで利用可能なウィジェット?ツ?ルキット
[
編集
]
リリ?ス履?
[
編集
]
バ?ジョン
|
リリ?ス日
|
最も重要な?更
|
X1
|
1984年
6月
|
以前のシステムWから大幅に?更されたと言う意味で、最初のソフトウェアはXと呼ばれる。
|
X6
|
1985年
1月
|
いくつかの企業にライセンスされる
|
X9
|
1985年
9月
|
色機能追加。
MIT License
下で初めてリリ?ス
|
X10
|
1985年
後半
|
IBM RT-PC
、
PC/AT
(の
DOS
上)等の
マシン
での動作
|
X10R2
|
1986年
1月
|
|
X10R3
|
1986年
2月
|
MIT の外部に初めてリリ?ス。
uwm
が標準のウィンドウマネ?ジャ。
|
X10R4
|
1986年
12月
|
X10 の最後のリリ?ス番?
|
X11
|
1987年
9月15日
|
X11の最初のリリ?スであり、この時のバ?ジョンのXプロトコルが基本的には2018年現在も使われている。
|
X11R2
|
1988年
1月
|
Xコンソ?シアムによる最初のリリ?ス。
[1]
|
X11R3
|
1988年
10月25日
|
XDM
。
|
X11R4
|
1989年
12月22日
|
アプリケ?ションの改善、新しいフォント、
twm
が標準のウィンドウマネ?ジャとして搭載される。
|
X11R5
|
1991年
|
PHIGS
、カラ?マネジメント、X386。
?際化
機能
|
X11R6
|
1994年
5月16日
|
ICCCM
v2.0、
ICE
、Xセッションマネジメント、X同期?張、Xイメ?ジ?張、XTEST?張、Xインプット、X Big-Request?張、XC-MISC、XFree86の?更。
|
X11R6.1
|
1996年
3月14日
|
Xダブルバッファ?張、Xキ?ボ?ド?張、X Record?張。
|
X11R6.2
X11R6.3 (Broadway)
|
1996年
12月23日
|
Web機能、
LBX
。Xコンソ?シアムによる最後のリリ?ス。X11R6.2はX11R6.3の部分機能バ?ジョン。R6.1からの新機能はXPrintと、Xlibにおける?書きと、ユ?ザ?定義文字のサポ?トのみ。
[2]
|
X11R6.4
|
1998年
3月31日
|
Xinerama
。
[3]
|
X11R6.5
|
|
X.orgの?部リリ?ス。公開するためのものではない。
|
X11R6.5.1
|
2000年
8月20日
|
|
X11R6.6
|
2001年
4月4日
|
バグ修正、XFree86?更。
|
X11R6.7.0
|
2004年
4月6日
|
初めて X.Org 財?としてリリ?ス、XFree86 4.4rc2 に統合。完全なエンドユ?ザ?向け配布。XIE、PEX、libxml2の除去。
[4]
|
X11R6.8.0
|
2004年
9月8日
|
ウィンドウ透過、
XDamage
、
Distributed Multihead X
、
XFixes
、Composite、
XEvIE
。
|
X11R6.8.1
|
2004年
9月17日
|
libxpm
セキュリティ修正
|
X11R6.8.2
|
2005年
2月10日
|
バグ修正、ドライバのアップデ?ト
|
X11R6.9
X11R7.0
|
2005年12月21日
|
EXA
、モジュ?ル化及びビルド方式に?する大規模な
リファクタリング
。?者はソ?スコ?ド自?は基本的には同一であるが、これまでのモノリシックな構成と
imake
によるコンフィグはこの6.9で凍結とされ、7.0からはモジュラ?化され
Autotools
を使用している。
|
X11R7.1
|
2006年5月22日
|
EXAの改良、
KDrive
の統合、
AIGLX
、BSD等のサポ?ト。
|
X11R7.2
|
2007年2月15日
|
LBX
とビルトインのキ?ボ?ドドライバの除去。
XACE
、
XCB
、autoconfigの改良、クリ?ンアップ。
[39]
|
X11R7.3
|
2007年9月6日
|
XServer 1.4
、入力機器の
ホットプラグ
、出力機器のホットプラグ (
RandR
1.2),
DTrace
プロ?ブ、
PCI
ドメインのサポ?ト。
[40]
|
X11R7.4
|
2008年9月23日
|
XServer 1.5.1
、 XACE、PCIサブシステムのリワ?ク、EXAの高速化、_X_EXPORT、
GLX
1.4、より高速なスタ?トアップとシャットダウン。
[41]
|
X11R7.5
|
2009年10月26日
|
XServer 1.7
、Xi 2、XGE、E-
EDID
のサポ?ト、
RandR
1.3、
MPX
、予測可能なポインタのアクセラレ?ション、
DRI2
メモリマネ?ジャ?、SELinuxセキュリティモジュ?ル、古くなったライブラリや?張のさらなる除去。
[42]
|
X11R7.6
|
2010年12月20日
|
XServer 1.9
、XCBを要求。
[43]
|
X11R7.7
|
2012年6月6日
|
XServer 1.12
、Sync extension 3.1 Fenceオブジェクト追加、Xi 2.2マルチタッチ、XFixes 5.0ポインタ?バリア?
[44]
|
X11R7.7を最後に、X.Orgとして全パッケ?ジをまとめてリリ?スするのを終了し、モジュ?ルごとに個別にリリ?スする仕組みとなった
[45]
。
X.Org Server
など各モジュ?ルの開?は?いている。
出典?脚注
[
編集
]
- ^
“
Licenses
”. X.org (2005年12月19日).
2007年10月23日
??。
- ^
Robert W. Scheifler and James Gettys: X Window System: Core and extension protocols: X version 11, releases 6 and 6.1, Digital Press 1996,
ISBN
1-55558-148-X
- ^
Robert W. Scheifler (2012年6月7日). “
X Window System Protocol
” (英語).
X.org
.
The Open Group
.
2019年7月9日
??。
- ^
a
b
Announcement: Modification to the base XFree86(TM) license.
02 Feb 2004
- ^
"The X-Windows Disaster"
- ^
Re: X is painful
15 Nov 1996
- ^
SNAP Computing and the X Window System
2005
- ^
An LBX Postmortem
2001-1-24
- ^
“
タイムアウトの?出と回復 (TDR)
”.
Microsoft Docs
. マイクロソフト (2021年1月1日).
2021年1月1日
??。
- ^
Why Apple didn't use X for the window system
August 19, 2007
- ^
Financing Volunteer Free Software Projects
10 Jun 2005
- ^
Lessons Learned about Open Source
2000
- ^
X statement
02 Apr 1998
- ^
X11R6.4 Sample Implementation Changes and Concerns
- ^
Q&A: The X Factor
February 04, 2002
- ^
The Evolution of the X Server Architecture
1999
- ^
A Call For Open Governance Of X Development
23 Mar 2003
- ^
XFree86 joins X.Org as Honorary Member
Dec 01, 1999
- ^
Another teleconference partial edited transcript
13 Apr 2003
- ^
Keith Packard issue
20 Mar 2003
- ^
Cygwin/XFree86 - No longer associated with XFree86.org
27 Oct 2003
- ^
On XFree86 development
9 Jan 2003
- ^
Invitation for public discussion about the future of X
20 Mar 2003
- ^
A Call For Open Governance Of X Development
21 Mar 2003
- ^
Notes from a teleconference held 2003-3-27
03 Apr 2003
- ^
A Call For Open Governance Of X Development
24 Mar 2003
- ^
A Call For Open Governance Of X Development
23 Mar 2003
- ^
Discussing issues
14 Apr 2003
- ^
Lessons Learned about Open Source
2000
- ^
XFree86 4.4: List of Rejecting Distributors Grows
Feb 18, 2004
- ^
a
b
Appendix A: The Cautionary Tale of XFree86
June 5, 2002
- ^
X Marks the Spot: Looking back at X11 Developments of Past Year
Feb 25, 2004
- ^
X11R6.9 and X11R7.0 Officially Released
December 21 2005
- ^
Modularization Proposal
2005-03-31
- ^
Proposed Changes for X11R7.1
2006-04-21
- ^
Getting X Off The Hardware
July, 2004
- ^
X - a portable, network-transparent window system
2005年2月
- ^
Releases/7.2
- ^
Releases/7.3
- ^
Releases/7.4
- ^
Releases/7.5
- ^
Releases/7.6
- ^
Releases/7.7
- ^
X.Org
?連項目
[
編集
]
?考文?
[
編集
]
- Hania Gajewska, Mark S. Manasse and Joel McCormack,
Why X Is Not Our Ideal Window System
PDF
,
Software ? Practice & Experience
vol 20, issue S2 (October 1990)
- Linda Mui and Eric Pearce,
X Window System Volume 8: X Window System Administrator's Guide for X11 Release 4 and Release 5, 3rd edition
O'Reilly and Associates, July 1993; softcover
ISBN 0-937175-83-8
- The X-Windows Disaster
UNIX-HATERS Handbook
- Robert W. Scheifler and James Gettys:
X Window System: Core and extension protocols: X version 11, releases 6 and 6.1
, Digital Press 1996,
ISBN 1-55558-148-X
- The Evolution of the X Server Architecture
キ?ス?パッカ?ド、1999年
- The means to an X for Linux: an interview with David Dawes from XFree86.org
Matthew Arnison, CAT TV, June 1999
- Lessons Learned about Open Source
Jim Gettys,
USENIX
2000 での X の?史に?する講演資料
- On the Thesis that X is Big/Bloated/Obsolete and Should Be Replaced
Christopher B. Browne
- Open Source Desktop Technology Road Map
Jim Gettys,
2003年
12月9日
- X Marks the Spot: Looking back at X11 Developments of Past Year
Oscar Boykin,
OSNews
,
2004年
2月25日
- Getting X Off The Hardware
キ?ス?パッカ?ド、2004年7月 Ottawa Linux Symposium での講演資料
- Why Apple didn't use X for the window system
Mike Paquette, Apple Computer
- X Man Page
2007年
2月2日
??
- SNAP Computing and the X Window System
Jim Gettys,
2005年
- Oliver Jones 著 西村 亨 監修 三浦明美?ドキュメントシステム ?,
X Window ハンドブック
アスキ?出版局, 1990年6月1日;
ISBN 4-7561-0032-5
- 「SuperASCII 1991年8月?」第2?第8?、株式?社アスキ?出版、1991年8月1日。
外部リンク
[
編集
]