X Window System とは
X Window System とは、 MIT(マサチューセッツ工科大学)で開発されたウィンドウシステムです。 現在ほとんどの UNIX 系システムで標準的に採用されています。 X Window Sytem には、クライアント・サーバモデル、 ネットワーク透過性などの特徴があります。
さまざまな呼ばれ方をしますが、 X、X Window System、X Version 11、 X Window System, Version 11、X11などと呼ぶことが推奨されています。 多くの場合、X と略して呼びます。
クライアント・サーバモデル
X Window System は、クライアント・サーバモデルを採用しています。
多くのクライアント・サーバモデルでは、
使用者がクライアント(サービスを受ける側)を直接操作し、
離れた場所にあるサーバ(サービスを提供する側)を利用しますが、
X の世界ではこれとは逆に、
使用者が直接操作する側がサーバ(X サーバ)、
リモートで動作する側がクライアント(X クライアント)となります。
これは、『X の機能を提供する側(サーバ)』か、 それとも『X の機能を利用する側(クライアント)』かという視点で見ているためで、 『使用者が直接操作するかどうか』という点は本質的ではありません。
- クライアント(X クライアント)
-
X の世界でのクライアントは、
X のアプリケーションそのもので
「X クライアント」 と呼びます。
例えば xterm などの端末エミュレータや xclock, xcalc 等のアプリケーションが
代表的な X クライアントです。
通常、X クライアントはリモートの UNIX マシンで動作します (ローカルで動作する場合もあります)。 X クライアントはサーバ(X サーバ)に対して文字やグラフィックスの描画命令を発行したり、 X サーバからキーボードやマウスの入力(イベント)を受け取って動作します。
- サーバ(X サーバ)
-
X の世界でのサーバ(X サーバ)は、
ユーザの目の前にあります。
X サーバは、ユーザが操作したキーボードやマウスのイベントを、 X クライアントに伝えます。 また、X クライアントから送られてきた描画命令を解釈して ディスプレイに表示する役目もあります。 X サーバは、ユーザとアプリケーションの間を取り持ちます。
ネットワーク透過性
X はネットワークに基づいたウィンドウシステムです。 このため、 必ずしも X クライアントと X サーバが同一のマシン上で動作する必要はなく、 ネットワークで接続された離れたマシン上で動作する X クライアントを 手元のマシン上で動作する X サーバで操作・表示することができます。
また、X クライアントと X サーバの間の通信には X プロトコル という OS 非依存の規約を用いているため、 X クライアントが動作するマシンと X サーバが動作するマシンが 必ずしも同一の OS やハードウェアである必要はありません。
X サーバには、UNIX ワークステーションで動作するものの他にも、 専用のハードウェアで動作するもの(X端末)や、 PC の OS 上で動作するもの(PC X サーバ)などがあります。
ASTEC-X は、 Windows で動作する PC X サーバであり、X のルールに従って UNIX ワークステーションで動作する X クライアントを操作・表示する事ができます。