Xウィンドウシステムはwindowsで使われているようなウィンドウを表示してマウスやキーボードで操作するためのシステムです。
X window systemとは?
多くの人が使用した経験のあるwindowsではキーボード入力・文字だけでコンピューターを操作することはないと思います。
誰でも直感的に簡単に操作できるようにするため、ウィンドウやアイコンなどの図画を表示し、それをマウスを中心に操作できるように工夫されています。このような環境をGUI環境といいます。グラフィカルユーザーインターフェース(GUI)はグラフィカル→図画を中心にコンピューターを操作できるようになっています。
当たり前のようにあるウィンドウですが、これを表示・操作するためのシステムがあります。
X window systemはウィンドウ状の図画を表示し、これをマウス、キーボード入力により操作する環境を提供しています。
Xサーバー 混乱しやすいサーバーという表現
Xウィンドウシステムはネットワークで言う、クライアント-サーバー様のシステムがあります。しかし、通常のクライアント – サーバーとは異なる(2台のPC間の通信ではない)ので注意が必要です。
XウィンドウシステムではXサーバーがプログラムと画面表示の仲立ちをしています。
- ユーザーはマウスやキーボードを使ってXサーバーにより表示されたウィンドウを操作して情報を入力します。
- Xサーバーは入力を受け取ってこれをクライアント(プログラム)に伝えます。
- クライアントはXサーバーを介して受け取ったユーザーの入力に基づいて動作して、Xサーバーに表示したいグラフィックを送信します。
- Xサーバーはクライアントから受け取った情報をもとにディスプレイにグラフィックを描画します。
というような流れになります。ここでいうサーバーは「ユーザー入力とアプリケーションの情報を仲介するもの」です。
一方で、クライアントは「アプリケーション」です。Xサーバーはネットワークを介して別マシンの入力も受け付けることができます。このようにXサーバーとXクライアントは別々のコンピューターに存在していてもOKです。
ウィンドウマネージャーとは?
Xウィンドウシステムではマウスやキーボードの入力を受けたりウィンドウを描いたりするだけで、外観にかかわる内容は管理していません。
そのため、ウィンドウの見た目やサイズ変更(最小化・最大化)、移動等の操作するためにはウィンドウマネージャを導入する必要があります。
ウィンドウマネージャやXサーバーなどは個々に導入するよりもGNOMEなどのデスクトップ環境を導入するほうがGUI環境構築に必要なソフトウエアがそろっているので楽です。ただし個別で導入するほうが無駄なソフトが減って動作は軽いはずです。
ウィンドウマネージャはウィンドウの管理の方法の違いによって種類分けされています。
- スタック型
- コンポジット型
- タイル型
スタック型は昔のwindowsのようなウィンドウの管理方法です。スタック型はウィンドウの重ねて表示できます。問題点として処理が重くなった時にウィンドウの再描画に失敗する点です。
コンポジット型はスタック型の再描画失敗問題を解決したウィンドウマネージャです。タイル型はウィンドウを重ねないでタイルのように表示するウィンドウマネージャです。