この記事はLinuC Level1 主題1.01.5「デスクトップ環境の利用」の要点解説です。重要度は1と低めですが、X Server / X Client / Window Manager / Display Manager / 統合デスクトップ環境 の用語が混同しやすいポイント。試験で問われる範囲に絞ってまとめます。
目次
- この記事で押さえる範囲
- X ServerとX Clientの役割
- Window Manager
- Display Manager
- 統合デスクトップ環境(Desktop Environment)
- startxでGUIを起動する
- DISPLAY環境変数
- xhostとxauth
- リモートX表示の手順
- よくある質問(FAQ)
- まとめ
- 模擬問題にチャレンジ(ランダム出題)
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環境変数の書式と指定例xhostとxauthの違い- リモート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・パネル・ファイルマネージャ・標準アプリケーション等を一式まとめて提供する、デスクトップ体験の総合パッケージです。
代表例は GNOME、KDE Plasma、Xfce、MATE、Cinnamon、LXQt 等。GNOMEはWMとしてMutterを内包し、パネル・設定ツール・ファイルマネージャ(Nautilus)・標準アプリまで一式が揃っています。
「GUIログイン画面だけを提供する」のはDisplay Manager、「ウィンドウ装飾・配置だけを担当する」のはWindow Manager。これらを内包しつつ総合UIとして一式を提供するのが統合デスクトップ環境、という区別が要点です。
5-1. 4要素の全体像
6. startxでGUIを起動する
CUIで動作しているLinux(ランレベル3相当)から手動でX環境を立ち上げて統合デスクトップのGUI画面を表示するコマンドが startx です。
$ startx
startxは内部でxinitを呼び、~/.xinitrc(ユーザ固有)または /etc/X11/xinit/xinitrc(システム全体)に書かれた内容に従ってXサーバと統合デスクトップ環境を起動します。
同様の用途でguistart・xdisplay・openxのようなコマンドは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:0とhost:0.0は実質同じ指定です。一方、ホスト名だけ(192.168.0.100)やdisplay=192.168.0.100のような書き方はDISPLAYの書式として無効で動作しません。
DISPLAYが未設定のままGUIアプリを起動すると Error: cannot open display になります。CUIサーバへSSHで入ってGUIアプリを直接起動した場合などに典型的に発生するので、必ずexport DISPLAY=ホスト名:0の形で表示先を指定しましょう。
補足:同名のコマンドXSERVER・XWINDOW・XHOSTという環境変数は存在しません(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)のディスプレイに表示する流れを整理します。
- X Server側で接続元を許可
Xserver# xhost +172.16.0.4(許可前に接続すると拒否される) - X Client側でDISPLAYに表示先を設定
Xclient# DISPLAY=172.16.0.1:0 - DISPLAYをexportする
Xclient# export DISPLAY(子プロセスに引き継がせる) - 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の形で表示先を明示しましょう。
xhostとxauthの違いは?
xhostはホスト単位の粗い許可(IPで許可・拒否)。xauthはMagic 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プロセス管理完全ガイド(LinuC 1.01.4)
- 次の主題:ファイルの所有者とパーミッション完全ガイド(LinuC 1.02.1)




コメント