X Window Systemとデスクトップ環境の基礎【LinuC 1.01.5対応】

LinuC対策

この記事はLinuC Level1 主題1.01.5「デスクトップ環境の利用」の要点解説です。重要度は1と低めですが、X Server / X Client / Window Manager / Display Manager / 統合デスクトップ環境 の用語が混同しやすいポイント。試験で問われる範囲に絞ってまとめます。

LinuC Level1 完全攻略マップへ戻る


目次

  1. この記事で押さえる範囲
  2. X ServerとX Clientの役割
  3. Window Manager
  4. Display Manager
  5. 統合デスクトップ環境(Desktop Environment)
  6. startxでGUIを起動する
  7. DISPLAY環境変数
  8. xhostとxauth
  9. リモートX表示の手順
  10. よくある質問(FAQ)
  11. まとめ
  12. 模擬問題にチャレンジ(ランダム出題)

1. この記事で押さえる範囲

LinuC 1.01.5 の出題範囲のうち、本記事で押さえる要点:

  • X ServerとX Clientの役割(通常のクライアント・サーバと逆の関係)
  • Window Manager の役割と代表例(Mutter など)
  • Display Manager の役割(GUIログイン画面・ユーザ認証・セッション起動)と代表例(GDM / SDDM / LightDM)
  • 統合デスクトップ環境(GNOME / KDE Plasma / Xfce 等)の位置づけ
  • startxでCUIから手動GUI起動
  • DISPLAY環境変数の書式と指定例
  • xhostxauthの違い
  • リモートX表示の手順(xhost許可 → DISPLAY設定 → export → アプリ実行)

2. X ServerとX Clientの役割

X Window System はクライアント・サーバモデルですが、役割が一般的なWebなどと逆なので混同しやすいポイントです。

用語 役割 動作場所
X Server 画面・キーボード・マウスなどの入出力デバイスを管理し、表示を担当 ユーザが画面を見ているマシン(手元のPC)
X Client GUIアプリケーション本体(Firefox、gnome-terminal、xeyes 等) アプリが動くマシン(同じPCでも別サーバでも可)

「X Serverは画面というサービスを提供する側」「X Clientはそれを利用する側(=アプリ)」と覚えるのが確実です。手元PCで動いているXorgがX Server、同じPCまたは別サーバで動くFirefoxやgnome-terminalがX Clientにあたります。


3. Window Manager

X ServerとX Clientだけでは、ウィンドウの枠・タイトルバー・最小化ボタンといった装飾は存在しません。それらを描画し、ウィンドウの移動・リサイズ・重なり順の管理を担当するのがWindow Manager(WM)です。

代表例として、GNOMEが使う Mutter、KDE Plasmaが使う KWin、Xfceが使う Xfwm などがあります。MutterはWindow Managerであり、Display Manager(GDM)や統合デスクトップ環境(GNOME)とは別物である点に注意してください。


4. Display Manager

Display Manager(DM)はGUIで起動したLinuxで最初に表示されるログイン画面を提供し、ユーザ認証とログイン後のセッション起動を担当します。主な仕事は次の3つです。

  • GUIのログイン画面を提供する
  • ユーザ認証を行う(パスワード等の検証)
  • ログイン後、選択したデスクトップセッション(GNOMEやKDE等)を起動する

ウィンドウ枠の描画(Window Managerの仕事)やパッケージ管理(dnf/aptの仕事)はDisplay Managerの役割ではありません。

4-1. 代表的なDisplay Manager

DM 正式名称/特徴
GDM GNOME Display Manager。Fedora、RHEL、Ubuntu(GNOME系)で標準
SDDM Simple Desktop Display Manager。KDE Plasma系で標準
LightDM 軽量DM。Xubuntu、Lubuntu などで採用
XDM X純正の古いDM。現在はほぼ使われない

5. 統合デスクトップ環境(Desktop Environment)

統合デスクトップ環境(Desktop Environment, DE)は、Window Manager・パネル・ファイルマネージャ・標準アプリケーション等を一式まとめて提供する、デスクトップ体験の総合パッケージです。

代表例は GNOMEKDE Plasma、Xfce、MATE、Cinnamon、LXQt 等。GNOMEはWMとしてMutterを内包し、パネル・設定ツール・ファイルマネージャ(Nautilus)・標準アプリまで一式が揃っています。

「GUIログイン画面だけを提供する」のはDisplay Manager、「ウィンドウ装飾・配置だけを担当する」のはWindow Manager。これらを内包しつつ総合UIとして一式を提供するのが統合デスクトップ環境、という区別が要点です。

5-1. 4要素の全体像

アプリ(X Client)Firefox、gnome-terminal、xeyes 等
Window ManagerMutter、KWin、Xfwm 等(枠・装飾・配置)
統合デスクトップ環境GNOME/KDE Plasma/Xfce 等(WM含む総合UI)
X Server(Xorg)描画・入力の中核
Display ManagerGDM/SDDM/LightDM 等(ログイン画面・認証・セッション起動)
Linux カーネル

6. startxでGUIを起動する

CUIで動作しているLinux(ランレベル3相当)から手動でX環境を立ち上げて統合デスクトップのGUI画面を表示するコマンドが startx です。

$ startx

startxは内部でxinitを呼び、~/.xinitrc(ユーザ固有)または /etc/X11/xinit/xinitrc(システム全体)に書かれた内容に従ってXサーバと統合デスクトップ環境を起動します。

同様の用途でguistartxdisplayopenxのようなコマンドはLinuxには存在しません。CUIから手動でGUIを立ち上げたいときの標準はstartx、と覚えてください。


7. DISPLAY環境変数

X Clientで起動したGUIアプリが「どのX Serverのどのディスプレイに表示するか」を指定するのがDISPLAY環境変数です。書式は次のとおり。

ホスト名:ディスプレイ番号[.スクリーン番号]
設定値 意味
:0 ローカルマシンのディスプレイ0(スクリーン番号省略)
:0.0 ローカルマシンのディスプレイ0・スクリーン0(明示)
192.168.0.100:0 192.168.0.100 のディスプレイ0に表示
192.168.0.100:0.0 同上(スクリーン0まで明示)

スクリーン番号はほぼ常に0なので、host:0host:0.0は実質同じ指定です。一方、ホスト名だけ(192.168.0.100)やdisplay=192.168.0.100のような書き方はDISPLAYの書式として無効で動作しません。

DISPLAYが未設定のままGUIアプリを起動すると Error: cannot open display になります。CUIサーバへSSHで入ってGUIアプリを直接起動した場合などに典型的に発生するので、必ずexport DISPLAY=ホスト名:0の形で表示先を指定しましょう。

補足:同名のコマンドXSERVERXWINDOWXHOSTという環境変数は存在しません(xhostはコマンド)。アプリの表示先を決めるのはDISPLAYの一本です。


8. xhostとxauth

どちらもXサーバへの接続可否を制御するコマンドですが、粒度と仕組みが異なります。

コマンド 粒度 仕組み
xhost ホスト単位 IPアドレス/ホスト名で接続を許可・拒否(粗い制御)
xauth ユーザ単位 Magic Cookie という資格情報ベースの認証(きめ細かい制御)

8-1. xhost:ホスト単位の許可

X Server側で実行し、どのホストからの接続を受け入れるかを制御します。

# X Server側で実行
$ xhost +172.16.0.4     # 172.16.0.4 からの接続を許可
$ xhost -172.16.0.4     # 同ホストの許可を取り消し
$ xhost                 # 現在の許可状態を表示

8-2. xauth:Magic Cookieの管理

X Server接続に使われるMagic Cookie(資格情報)を表示・編集するコマンドです。クライアント認証ファイルの中身を一覧したり、別ホスト用のCookieを追加したりします。

$ xauth list                                               # 自分のX Server認証情報を一覧
localhost/unix:0  MIT-MAGIC-COOKIE-1  abc123def456...

$ xauth add other-host:0 MIT-MAGIC-COOKIE-1 abc123def456   # 別ホスト用Cookieを追加

なお、xdmはDisplay Managerの一種、xrandrは画面解像度の変更、xwininfoはウィンドウ情報の取得コマンドで、いずれもMagic Cookieを扱うコマンドではありません。


9. リモートX表示の手順

Xクライアント(172.16.0.4)で起動したGUIアプリxeyesを、Xサーバ(172.16.0.1)のディスプレイに表示する流れを整理します。

  1. X Server側で接続元を許可
    Xserver# xhost +172.16.0.4(許可前に接続すると拒否される)
  2. X Client側でDISPLAYに表示先を設定
    Xclient# DISPLAY=172.16.0.1:0
  3. DISPLAYをexportする
    Xclient# export DISPLAY(子プロセスに引き継がせる)
  4. GUIアプリを実行
    Xclient# xeyes &(X Serverの画面にxeyesが表示される)

順序が重要です。xhostで許可 → DISPLAY設定 → export → アプリ実行。許可前に接続すれば拒否され、DISPLAYをexportせず実行しても子プロセス(GUIアプリ)に引き継がれず表示できません。


10. よくある質問(FAQ)

DISPLAYが未設定でGUIアプリを起動するとどうなる?

Error: cannot open display のエラーで起動失敗します。CUIサーバにSSHで入って直接GUIアプリを叩いた場合などに発生します。export DISPLAY=ホスト名:0の形で表示先を明示しましょう。

xhostxauthの違いは?

xhostホスト単位の粗い許可(IPで許可・拒否)。xauthMagic Cookieという鍵ベースの認証情報を扱う、よりきめ細かい制御です。

DISPLAY:0:0.0はどう違う?

書式は「ホスト名:ディスプレイ番号.スクリーン番号」で、スクリーン番号は省略可能。ほぼ常に0なので:0:0.0は実質同じ指定です。

MutterはWindow Manager? Display Manager?

MutterはWindow Managerです。GNOMEが内部で使うWMで、ウィンドウの枠やタイトルバー、配置を担当します。ログイン画面を担当する Display Manager(GDM)とは別物。


11. まとめ

  • X Server = 画面・入力デバイス側X Client = GUIアプリ本体(Webと逆の関係)
  • Window Manager:ウィンドウの枠・装飾・配置を担当(Mutter、KWin、Xfwm 等)
  • Display Manager:GUIログイン画面・ユーザ認証・セッション起動(GDM、SDDM、LightDM 等)
  • 統合デスクトップ環境:WM+パネル+標準アプリ一式の総合UI(GNOME、KDE Plasma、Xfce 等)
  • startx:CUIから手動でGUI起動。~/.xinitrcまたは/etc/X11/xinit/xinitrcを参照
  • DISPLAY環境変数:ホスト名:ディスプレイ番号[.スクリーン番号]で表示先を指定。未設定ならcannot open displayエラー
  • xhost:ホスト単位での接続許可(粗い制御)
  • xauth:Magic Cookieベースの認証情報管理(きめ細かい制御)
  • リモートX表示:xhostで許可 → DISPLAY設定 → export → アプリ実行 の順

これで主題1.01(Linuxのインストールと仮想マシン・コンテナの利活用)の全5サブ項目を完走です。次は主題1.02 ファイル・ディレクトリの操作と管理に進みましょう。

LinuC Level1 完全攻略マップで次の主題を確認


12. 模擬問題にチャレンジ(ランダム出題)

ここまでの内容を本試験に近い形で確認できます。問題数を選んで「出題スタート」を押すと、主題1.01.5の問題プールからランダムに出題されます。選択肢をクリック/タップすると、正誤と解説がその場で表示されます。

合格ライン目安:75%以上。もっと幅広く解きたい場合は LinuC 模擬問題ポータル で他の分野と合わせて挑戦できます。

おすすめの教材


Linux教科書 LPICレベル1

Linux教科書 LPICレベル1 Version 5.0対応(あずき本)

X Window Systemもカバー。LinuC/LPIC Level1 の定番参考書。


Amazonで見る →

【ウズカレ式】1週間でLinuxの基本操作と管理・運用スキルが学べる講座

累計80,000人以上受講。LinuC Level1を1週間で網羅。


Udemyで講座を見る →


関連記事

LinuC Level1 完全攻略マップへ戻る

Dockerの基礎を動画で体系的に学びませんか?

実務で使う基礎だけを3時間に凝縮。環境構築から丁寧に解説しています。

Udemy Docker入門講座 クーポン割引で講座を見る →

コメント

タイトルとURLをコピーしました