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向けに制御する機能にはVNC、RDP、SPICE、XDMCPなどがある。
VNC
VNCはクロスプラットフォームのリモートデスクトップソフトウェア。 対応OSはWindows、macOS、Linux。
RDP
RDPはWindows標準搭載のリモートデスクトッププロトコル。 Linuxデスクトップ上にWindowsのデスクトップを表示可能。
SPICE
SPICEはOSSの画面転送プロトコルで以下の機能に対応している。
- 通信の暗号化
- マルチモニタ
XDMCP
XDMCPはディスプレイマネージャをネットワーク越しに利用できるプロトコル。 Xサーバとディスプレイマネージャとの間で使われるが、暗号化機能がないためSSH接続で利用する必要がある。
9.3. アクセシビリティ
アクセシビリティはコンピュータの操作の利便性を上げるもの。 障がい者の操作をサポートするソフトウェアはATと呼ばれる。
9.3.1. アクセシビリティの設定
アクセシビリティの設定は以下のようなものがある。
機能 | 説明 |
---|---|
スティッキーキー(固定キー) | 複数キーを同時に押すのが困難なユーザー向けの機能 |
スローキー | 正確にキーを入力できないユーザー向けの機能 |
バウンスキー | 連続入力を無視する機能 |
トグルキー | 光るキーの視認が難しいユーザー向けの機能。音が鳴る |
マウスキー | マウスを扱うのが困難なユーザー向けの機能 |