コンテンツにスキップ

9. LinuxGUIとデスクトップ

9.1. LinuxのGUI

9.1.1. X windows System(X, X11)

X Windows Systemは多くのUNIXやLinuxで使用されているウィンドウシステム(GUI)。 X Window Systemではクライアント・サーバ方式(Xクライアント, Xサーバ)の構成となっている。 このGUIシステムは現在のコンピュータ環境で利用するには無理が出てきている。

X windows Systemの種類

種類 説明
XFree86 かつて標準実装されていた
X.Org 現在の主流

Xサーバ

Xサーバはモニター、ビデオカード、キーボードなどのハードウェアの管理を行う。 ホストマシンで稼働する。

xサーバはstartxコマンドできそうできる。 なお実行の際はxinitが実行され/etc/X11/xinit/xinitrcスクリプトが実行される。

Xクライアント

XクライアントはWebブラウザなどのユーザアプリケーションを指す。 リモートホストで動かすことができるが、Xサーバと同じマシンで動かすことも可能。

X.Orgの設定

X.Orgの設定ファイルは/etc/X11/xorg.confとなりキーボード、ディスプレイ、フォント、解像度などの設定が可能。 xorg.confファイルは複数のセクションから構成される。

セクション 説明
ServerLayout 入力 ・ 出力用デバイスの組み合わせとスクリーンの設定
Files フォント関連のパスの設定
Module Xサーバがロード予定のダイナミックモジュールの設定
InputDevice Xサーバに対する入力デバイス(キーボード等)の設定
Monitor システムにより使用されるモニタタイプの設定
Device システム用のビデオカードの設定
Screen ディスプレイの色深度と画面サイズの設定

Xクライアントコマンド

X Window Systemの設定確認、情報収集のためのコマンドは以下の通り。

コマンド 説明
showrgb X Window Systemで利用可能な色とRGB値の情報確認
xlsclients 実行中のXクライアントを表示
xwininfo コマンド実行後に指定したウィンドウのサイズ、位置、色深度の情報確認
xdpyinfo ディスプレイ情報の表示

9.1.2. Wayland

Waylandはプロトコル作成フレームワークでLinux用ライブラリ。 X11と全く異なる仕組みでGUI環境を提供できる。

ウィンドウマネージャとクライアントで構成される。

ウィンドウマネージャ

ハードウェアやグラフィックを管理する。

クライアント

グラフィックライブラリ呼び出す。

9.2. グラフィカルデスクトップ

9.2.1. ディスプレイマネージャ

ディスプレイマネージャはXサーバを起動して GUI のログイン画面を表示する仕組み。 ランレベル5で起動する。

具体的にはGUIでログイン画面を表示し、ユーザー認証を行う。 有名なものは以下の通り。

  • XDM ... XDMはX.Orgの標準。認証プロトコルにはXDMCPが使用される。
  • KDM ... KDMはKDEで利用される
  • GDM ... GDMはGNOMEで利用される

9.2.2. ウィンドウマネージャ

ウィンドウマネージャはXの外観制御を行う。 ウィンドウの外観、アイコン、メニューなどを提供しユーザが設定できるようになっている。

代表的なものには以下のようなものがある。

  • Metacity ... Gnome標準のウィンドウマネージャ
  • Kwin ... KDE標準のウィンドウマネージャ
  • twm ... 必要最低限の機能だけを備えたウィンドウマネージャ
  • fvwm ... 仮想デスクトップ機能を備えたウィンドウマネージャ
  • enlightment ... 高機能でグラフィカルなウィンドウマネージャ

9.2.3. デスクトップ環境

デスクトップではウィンドウマネージャも含め、アプリケーションまで揃えて統一的な操作を提供する。 代表的なものにはGNOME、KDE Plasmaなどがある。他にはXfceやLXDEなどがある。

GNOME KDE Plasma
テキストエディタ gedit KEdit
端末 GNOME端末 Konsole
ファイルマネージャ Nautilus Dolphin
GUIツールキット GTK+ Qt
ディスプレイマネージャ GDM SDDM
ウィンドウマネージャ Mutter KWin
標準採用 RedHat, CentOS, Fedora, Ubuntu openSUSE, Slackware, Kubuntu

9.2.4. リモートデスクトップ

リモートデスクトップは別のマシン上からリモートで別のマシンのデスクトップを操作できるもの。 Linux向けに制御する機能にはVNCRDPSPICEXDMCPなどがある。

VNC

VNCはクロスプラットフォームのリモートデスクトップソフトウェア。 対応OSはWindows、macOS、Linux。

vncserver :1 #VNCサーバをディスプレイ番号1で起動する

vncserver -kill :1 #VNCサーバの終了

RDP

RDPはWindows標準搭載のリモートデスクトッププロトコル。 Linuxデスクトップ上にWindowsのデスクトップを表示可能。

SPICE

SPICEはOSSの画面転送プロトコルで以下の機能に対応している。

  • 通信の暗号化
  • マルチモニタ

XDMCP

XDMCPはディスプレイマネージャをネットワーク越しに利用できるプロトコル。 Xサーバとディスプレイマネージャとの間で使われるが、暗号化機能がないためSSH接続で利用する必要がある。

9.3. アクセシビリティ

アクセシビリティはコンピュータの操作の利便性を上げるもの。 障がい者の操作をサポートするソフトウェアはATと呼ばれる。

9.3.1. アクセシビリティの設定

アクセシビリティの設定は以下のようなものがある。

機能 説明
スティッキーキー(固定キー) 複数キーを同時に押すのが困難なユーザー向けの機能
スローキー 正確にキーを入力できないユーザー向けの機能
バウンスキー 連続入力を無視する機能
トグルキー 光るキーの視認が難しいユーザー向けの機能。音が鳴る
マウスキー マウスを扱うのが困難なユーザー向けの機能