X Window System とは

スポンサードリンク

クライアントサーバ環境

一般的にサービスは、サービスを提供する「サーバー」と、サービスを利用する「クライアント」が一つのセットとなっている。たとえば、インターネットブラウジングには、WEBサーバが提供するコンテンツをクライアントが解釈、解読、表示することによって、一つのホームページを人間が理解できるものとして表現している。

サーバーはクライアントでクライアントはサーバーである不思議

ここで大きな落とし穴がある。通常のサーバとクライアントの関係がX Window Systemにおいては逆なのである。サーバー上で稼働するのがXのクライアントで、クライアント上で稼働するのがXのサーバなのである。多くのサイトにもこれはしばしば誤解を招くととともに理解に苦しむ、とされている。

歴史は繰り返す

なぜこのようなことになっているのかは、そのシステムを見ることで理解できる。

このシステムは1980年代に活動を開始した。最近では学校でも習うように、この時代はメインフレームが主流であった。メインフレームというのは、中央に処理する装置を置き、端末(画面とキーボード)を外側に置く時代であった。見た目は現在のパソコンと似ているが、最も異なることは処理装置が端末にはなく、単に表示と入力をするだけだった。利用者は端末を操作し、メインフレームに計算の指示を与える、しばらくするとその結果を端末に返答する。現在は処理装置が安価になり、サーバーにもクライアントにも処理装置があるから、それは必要なくなった。

しかし、特別な分野では大規模なデータや超高速の計算を求めるものがある。こうした場合に、サーバーに命令を与え、計算させ、結果をクライアントに返す方法がとられる。時代は変わっても同様の技術が注目されることは大変不思議であるが歴史は繰り返すといったものだろうか。

現在ではサーバーにもクライアントにも安価で高性能で一般的なパソコンが利用されるようになっているから、サーバーにGUIを走らせてもよい。しかし、サーバーでは多くの人が接続してくるから少しでもリソースを消費しないほうがよろしく、さらにセキュリティー等に対する検査項目も多くなってしまうから嫌われてしまう。また、サーバー管理者はGUIをあまり好まない傾向にあり、CUIに優位性を求めることもある。

Windowsの前進であるDOSはCUIであった。現在ではほとんど見ることが少なくなったがシステムを開発したり、簡単な検査を実施する場合には大変有効な手段である。GUIが動作しないときにCUIで検査、修復することも少なくないから、これを行えることは技術者として必要なことである。

素晴らしいテクノロジ

X Window Systemの特質すべきは、完全な分離である。Xサーバにはフォントやデスクトップ環境(KDEやGNOMEなど)を導入しておく必要がある。しかし、これによって、Xクライアントは完全に計算処理を行い、必要最低限の通信で済むようになっている。VNCは画面をブロック化して転送するのに対し、Xはどこに何を、という情報を送ってくる。画像などを転送する場合に比べ、単にデータだけを送ることは大変効率的である。

X Window System サーバーの実装

前置きが長くなってしまったが実際にこれを利用してみることにしよう

→ 準備は別の記事で解説しています

コメント