X Window System, Xディスプレイマネージャー, デスクトップ環境 is 何
X Window System とは
X Window System は GUI を表示するプロトコルです。
次の 2 つの要素で構成されます。
- Xディスプレイマネージャー
- デスクトップ環境
Xディスプレイマネージャーとは
Xディスプレイマネージャとはユーザーログイン画面を表示するソフトウェアです(いわゆるGUI)。ユーザー名とログイン名を入力し、ログインが成功するとデスクトップ環境(後述)が表示されます。
X ディスプレイマネージャーの例: XDM
主なディスプレイマネージャ環境を提供するソフトウェア
XDM, gdm, sddm, lightdm, lxdm
デスクトップ環境 とは
デスクトップ環境とはアイコン、ボタン、メニュー、壁紙、マウス操作受付などを提供するソフトウェアのことです(いわゆる GUI )。
デスクトップ環境の例:Xfce 4.6
デスクトップ環境の例:GNOME 3.32
主なデスクトップ環境を提供するソフトウェア
GNOME, KDE, Xfce, LXDE, LXQt
X Window Systemが無いとどうなるの?
下記のようにCUIと呼ばれる真っ黒な画面になります。
X Windows System の仕組み
X Windows System はクライアントサーバモデルです。デスクトップ環境を例に解説します。(Xディスプレイマネージャーでも考え方は同じです)
登場要素
- 入力装置:マウス、キーボードなど
- 出力装置:ディスプレイ、リモート接続先のX Clientなど
- クライアント(処理): X Client (ブラウザ、端末エミュレータなど)
- サーバ: X Server
基本的な動作
1. 「入力装置」より X Server が入力を受け取る。
2. X Server が X Clientに入力結果を渡す。
3. X Client が処理結果をX Server に返す。
4. X Server が出力装置に処理結果を返す。
ローカルでX Server と X Client を立ち上げる
X Windows System はクライアントとサーバを同じコンピュータで起動できます。
X Windows System の動作例
1. ディスプレイに表示されたブラウザの検索結果をマウスでクリックする
2. X Server が X Client(ブラウザ)に検索結果をクリックされたことを伝える
3. X Client がクリックされたホームページを描写した結果をX Server に返す
4. X Server は描写結果をディスプレイに出力する
リモートでX Server と X Client を立ち上げる
登場要素
・リモート接続先: X Server と X Client(ブラウザ)
・ローカル: マウス、ディスプレイ、X Client(ブラウザの結果を表示するアプリ)
X Windows System の動作例
1. ローカル: ディスプレイ上のX Client(ブラウザの結果を表示するアプリ)に表示されたブラウザの検索結果をマウスでクリックする
2. リモート: X Server が X Client(ブラウザ)に検索結果をクリックされたことを伝える
3. リモート: X Client がクリックされたホームページを描写した結果をX Server に返す
4. X Server は描写結果をX Client(ブラウザの結果を表示するアプリ)に返し、X Client はディスプレイに描写結果を出力する。
戯言
サーバー用の Linux には X Window System が入ってなかったりします。X Window Systemはソフトウェアなので yum や apt でインストールできます。画面描写にメモリを食いますけどね。
参考ページ
https://ja.wikipedia.org/wiki/X_Window_System