X Window System とは
Linux/UNIX では GUI を実現するために、X Window System(X, X11) が用いられている。
X はネットワークでの利用を想定しているため、クライアント/サーバ方式を採用している。X サーバはモニタ/ビデオカード/キーボードなどのハードウェアの管理を行う。一方 X クライアントはユーザーアプリケーションで、Web ブラウザやオフィスアプリケーションなどが相当する。
つまり、X サーバは X クライアントにグラフィカルなインターフェイスを提供するものである。X サーバ/クライアントは同一のコンピュータ上で動作していても、異なるコンピュータで動作していても構わない。
X.Org の設定
X.Org の設定は /etc/X11/xorg.conf もしくは /etc/X11/xorg.conf.d 配下のファイルで行う。(現在は手動で設定する必要はほぼない)
$ cat /etc/X11/xorg.conf.d/00-keyboard.conf
# Read and parsed by systemd-localed. It's probably wise not to edit this file
# manually too freely.
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us"
EndSection
設定ファイルは複数のセクションから構成されており、セクションは「Section “セクション名”」から「EndSection」までのあ範囲に、それぞれの用途毎の設定が記述される。
セクション | 説明 |
---|---|
Files | フォントやカラーデータベースファイルのパス名 |
Modules | ダイナミックモジュールの設定 |
InputDevice | キーボードやマウスなどの入力装置の設定 |
InputClass | 入力装置の「クラス」に適用される設定 |
Device | ビデオカードの設定 |
Monitor | モニターの設定 |
Modes | ビデオモードの設定 |
Screen | ディスプレイの色深度や画面サイズの設定 |
ServerLayout | 入出力デバイスとスクリーンの指定 |
X.Org の設定ファイルは難解なので、設定を補助するツールも用意されている。ハードウェアをスキャンして xorg.conf ファイルを自動生成するには次のコマンドを利用する。
$ sudo Xorg -configure
X.Org X Server 1.19.3
Release Date: 2017-03-15
X Protocol Version 11, Revision 0
Build Operating System: 3.10.0-514.16.1.el7.x86_64
Current Operating System: Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-693.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8
Build Date: 05 August 2017 06:19:43AM
Build ID: xorg-x11-server 1.19.3-11.el7
...
(++) Using config file: "/root/xorg.conf.new"
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
上記の場合 /root/xorg.conf.new が生成される。
$ sudo cat /root/xorg.conf.new | head -20
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/lib64/xorg/modules"
FontPath "catalogue:/etc/X11/fontpath.d"
FontPath "built-ins"
EndSection
Section "Module"
Load "glx"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
生成したファイルを用いてテストを実施するには以下のコマンドを実行する。
$ sudo X -config /root/xorg.conf.new