普段はCLI一択なRHEL7/CentOS7にGUIが必要になったけれどGnomeはサイズが大きいので入れたくない。なるべくシンプルに行きたいのでX Window Systemだけを導入したい。というとってもニッチな需要に応えてみます。
X Window System導入
# yum groupinstall "X Window system" Transaction Summary ================================================================================ Install 11 Packages (+265 Dependent packages) Upgrade 1 Package (+ 7 Dependent packages) Total download size: 171 M Complete!
startxに失敗
X Window systemのインストールに成功したのでstartxでGUIに切り替えてみます。
# startx xauth: file /root/.serverauth.8241 does not exist xauth: file /root/.Xauthority does not exist xauth: file /root/.Xauthority does not exist X.Org X Server 1.20.1 X Protocol Version 11, Revision 0 Build Operating System: 3.10.0-693.17.1.el7.x86_64 Current Operating System: Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-957.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: 29 January 2019 06:03:26PM Build ID: xorg-x11-server 1.20.1-5.2.el7_6 Current version of pixman: 0.34.0 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Wed Feb 6 22:51:41 2019 (==) Using config directory: "/etc/X11/xorg.conf.d" (==) Using system config directory "/usr/share/X11/xorg.conf.d" VMware: No 3D enabled (0, Success). xinit: connection to X server lost waiting for X server to shut down (II) Server terminated successfully (0). Closing log file.
一瞬デスクトップ画面が表示されるのですがすぐにCLIに戻ってしまいます。とりあえずこのエラーメッセージにヒントがあるはず。
ということでいろいろ調べてみたところこの方法で解決しました。
motifを導入しstartxが参照するファイルの記述を修正する
# yum install motif Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: motif x86_64 2.3.4-14.el7_5 base 1.4 M Installing for dependencies: libXp x86_64 1.0.2-2.1.el7 base 30 k xorg-x11-xbitmaps noarch 1.1.1-6.el7 base 37 k Transaction Summary ================================================================================ Install 1 Package (+2 Dependent packages) Total download size: 1.5 M Installed size: 4.2 M Installed: motif.x86_64 0:2.3.4-14.el7_5 Dependency Installed: libXp.x86_64 0:1.0.2-2.1.el7 xorg-x11-xbitmaps.noarch 0:1.1.1-6.el7 Complete!
次にstartx(xinit)が参照するファイルの一つ/etc/X11/xinit/Xclientsと/etc/X11/xinit/xinitrcのバックアップを取ってから、ファイル内の/usr/bin/twm (Tom’s Window Manager)を/usr/bin/mwm (motif)に変更します。これはxinitが本来呼び出すtwmをRHEL7/CentOS7がサポートしていないため、motifで置き換えるというもの。
# cp /etc/X11/xinit/xinitrc /etc/X11/xinit/xinitrc.old # cp /etc/X11/xinit/Xclients /etc/X11/xinit/Xclients.old # vi /etc/X11/xinit/xinitrc # vi /etc/X11/xinit/Xclients
変更前後をdiffに掛けるとこの通り。
# diff -u /etc/X11/xinit/Xclients /etc/X11/xinit/Xclients.old
. /etc/X11/xinit/Xclientso /etc/X11/xinit/Xclientsl /etc/X11/xinit/Xclientsd /etc/X11/xinit/Xclients
--- /etc/X11/xinit/Xclients.old 2019-02-06 22:55:40.682686763 +0900
+++ /etc/X11/xinit/Xclients 2019-02-06 22:56:42.768296342 +0900
@@ -64,7 +64,7 @@
if [ -x /usr/bin/firefox -a -f /usr/share/doc/HTML/index.html ]; then
/usr/bin/firefox /usr/share/doc/HTML/index.html &
fi
- if [ -x /usr/bin/twm ] ; then
- exec /usr/bin/twm
+ if [ -x /usr/bin/mwm ] ; then
+ exec /usr/bin/mwm
fi
}
# diff -u /etc/X11/xinit/xinitrc /etc/X11/xinit/xinitrc.old. /etc/X11/xinit/xinitrco /etc/X11/xinit/xinitrcl /etc/X11/xinit/xinitrcd /etc/X11/xinit/xinitrc
--- /etc/X11/xinit/xinitrc.old 2019-02-06 22:56:04.185478676 +0900
+++ /etc/X11/xinit/xinitrc 2019-02-06 22:57:02.767454600 +0900
@@ -29,5 +29,5 @@
[ -x /usr/bin/xsetroot ] && /usr/bin/xsetroot -solid '#222E45'
[ -x /usr/bin/xclock ] && /usr/bin/xclock -geometry 100x100-5+5 &
[ -x /usr/bin/xterm ] && xterm -geometry 80x50-50+150 &
- [ -x /usr/bin/twm ] && /usr/bin/twm
+ [ -x /usr/bin/cwm ] && /usr/bin/cwm
fi
startxを再実行
これで準備が整ったはずなのでstartxを実行します。実行後のメッセージを確認したいのでssh接続した状態でコマンドを実行しています。
# startx xauth: file /root/.serverauth.8345 does not exist X.Org X Server 1.20.1 X Protocol Version 11, Revision 0 Build Operating System: 3.10.0-693.17.1.el7.x86_64 Current Operating System: Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-957.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: 29 January 2019 06:03:26PM Build ID: xorg-x11-server 1.20.1-5.2.el7_6 Current version of pixman: 0.34.0 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Wed Feb 6 22:58:16 2019 (==) Using config directory: "/etc/X11/xorg.conf.d" (==) Using system config directory "/usr/share/X11/xorg.conf.d" VMware: No 3D enabled (0, Success).
今度こそ成功しました。
しかしXしか導入・起動していないためデスクトップには何も表示されていません。
まずはデスクトップ上でマウス以外の操作を行えるようにしましょう。
# yum install xterm Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: xterm x86_64 295-3.el7 base 455 k Installing for dependencies: libXaw x86_64 1.0.13-4.el7 base 192 k libXpm x86_64 3.5.12-1.el7 base 55 k Transaction Summary ================================================================================ Install 1 Package (+2 Dependent packages) Total download size: 702 k Installed size: 1.8 M Installed: xterm.x86_64 0:295-3.el7 Dependency Installed: libXaw.x86_64 0:1.0.13-4.el7 libXpm.x86_64 0:3.5.12-1.el7 Complete! # startx
xtermが起動することでようやくX Window systemらしくなってきました。ずいぶんと懐かしい画面です。
折角なら時計も入れてみましょう。
# yum install xclock Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: xorg-x11-apps x86_64 7.7-7.el7 base 307 k Transaction Summary ================================================================================ Install 1 Package Total download size: 307 k Installed size: 772 k Installed: xorg-x11-apps.x86_64 0:7.7-7.el7 Complete! # startx
xclockだけのつもりでしたが「xorg-x11-apps」という名前でインストールされたのでいろいろ実行してみます。
Firefoxもインストールしていれば起動できるんですよ。日本語フォントを入れていないので壮大に文字化けしていますが彡(゚)(゚)
締め
ということで最小構成のRHEL7/CentOS7に”X Window system”+最低限のパッケージを導入してGUI環境を構築することができました。画面を見ていると20年前を思い出す、そんなホットな検証でした。