한국   대만   중국   일본 
X Window System - Wikipedia コンテンツにスキップ

X Window System

出典: フリ?百科事典『ウィキペディア(Wikipedia)』
X Window System
開?元 X.Org Foundation
最新版
バ?ジョン11, リリ?ス7.7 / 2012年6月6日 (11年前)  ( 2012-06-06 )
??OS クロスプラットフォ?ム
種別 ウインドウシステム
公式サイト X.Org Foundation
テンプレ?トを表示
GNOME 2.28
KDE 4.x
Xfce 4.6

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 サ?ビスをアプリケ?ションに提供している。そのためサ?バである。アプリケ?ションはこれらのサ?ビスを利用している。そのためアプリケ?ションはクライアントである。

この例では、Xサ?バがキ?ボ?ドとマウスの入力を受け取り、?面に表示する。 ウェブブラウザ 端末エミュレ?タ がロ?カルに動作しており、system updaterがリモ?トのサ?バ上で動作しているが、それを制御しているのはロ?カルのマシンである。リモ?ト?アプリケ?ションはロ?カルに動作するのと何ら?わりなく動作することに注意されたい。

サ?バとクライアント間の 通信プロトコル は、 ネットワ?ク 透過性 を備える。クライアントとサ?バは同じマシン上でも動作するし、別?のマシン上でも動作する。?方の ア?キテクチャ や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万円で??した [5]

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端末 [ 編集 ]

Network Computing Devices 製のNCD-88k 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) の開?を?表した。しかし、これらはいずれも根本的な解決策とはなっていない。

ネットワ?ク [ 編集 ]

SSH上でX11アプリケ?ションをトンネリングしている例

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はネットワ?クプロトコルを使って端末やグラフィックウィンドウをサポ?トし、サ?バ側でディスプレイリストを管理する。

1990年代初期のX Window Systemによるデスクトップ。 twm xterm xbiff 、xload、グラフィカルな manペ?ジ ブラウザなど、MIT X Consortiumのディストリビュ?ションにあったアプリケ?ションが動作している。

起源と初期の開? [ 編集 ]

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 など各モジュ?ルの開?は?いている。

出典?脚注 [ 編集 ]

  1. ^ Licenses ”. X.org (2005年12月19日). 2007年10月23日 ??。
  2. ^ 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
  3. ^ Robert W. Scheifler (2012年6月7日). “ X Window System Protocol ” (英語). X.org . The Open Group . 2019年7月9日 ??。
  4. ^ a b Announcement: Modification to the base XFree86(TM) license. 02 Feb 2004
  5. ^ SuperASCII 1991年8月? , p. 41.
  6. ^ "The X-Windows Disaster"
  7. ^ Re: X is painful 15 Nov 1996
  8. ^ SNAP Computing and the X Window System 2005
  9. ^ An LBX Postmortem 2001-1-24
  10. ^ タイムアウトの?出と回復 (TDR) ”. Microsoft Docs . マイクロソフト (2021年1月1日). 2021年1月1日 ??。
  11. ^ Why Apple didn't use X for the window system August 19, 2007
  12. ^ Financing Volunteer Free Software Projects 10 Jun 2005
  13. ^ Lessons Learned about Open Source 2000
  14. ^ X statement 02 Apr 1998
  15. ^ X11R6.4 Sample Implementation Changes and Concerns
  16. ^ Q&A: The X Factor February 04, 2002
  17. ^ The Evolution of the X Server Architecture 1999
  18. ^ A Call For Open Governance Of X Development 23 Mar 2003
  19. ^ XFree86 joins X.Org as Honorary Member Dec 01, 1999
  20. ^ Another teleconference partial edited transcript 13 Apr 2003
  21. ^ Keith Packard issue 20 Mar 2003
  22. ^ Cygwin/XFree86 - No longer associated with XFree86.org 27 Oct 2003
  23. ^ On XFree86 development 9 Jan 2003
  24. ^ Invitation for public discussion about the future of X 20 Mar 2003
  25. ^ A Call For Open Governance Of X Development 21 Mar 2003
  26. ^ Notes from a teleconference held 2003-3-27 03 Apr 2003
  27. ^ A Call For Open Governance Of X Development 24 Mar 2003
  28. ^ A Call For Open Governance Of X Development 23 Mar 2003
  29. ^ Discussing issues 14 Apr 2003
  30. ^ Lessons Learned about Open Source 2000
  31. ^ XFree86 4.4: List of Rejecting Distributors Grows Feb 18, 2004
  32. ^ a b Appendix A: The Cautionary Tale of XFree86 June 5, 2002
  33. ^ X Marks the Spot: Looking back at X11 Developments of Past Year Feb 25, 2004
  34. ^ X11R6.9 and X11R7.0 Officially Released December 21 2005
  35. ^ Modularization Proposal 2005-03-31
  36. ^ Proposed Changes for X11R7.1 2006-04-21
  37. ^ Getting X Off The Hardware July, 2004
  38. ^ X - a portable, network-transparent window system 2005年2月
  39. ^ Releases/7.2
  40. ^ Releases/7.3
  41. ^ Releases/7.4
  42. ^ Releases/7.5
  43. ^ Releases/7.6
  44. ^ Releases/7.7
  45. ^ X.Org

?連項目 [ 編集 ]

?考文? [ 編集 ]

外部リンク [ 編集 ]