CentOS7(最低限インストール)へのGUI&VNC導入手順メモ


環境

CentOS7.5
とあるクラウド上のVM、Gnome等はインストールされていません。

インストール

yumのアップデート,GUI環境,VNC

$ yum -y update
$ yum -y groupinstall "GNOME Desktop" 
$ yum -y install tigervnc-server 

設定

VNC Serverのパスワード設定

遠隔でログインするためのパスワードを設定。

$ vncpasswd
 Password:
 Verify:

Read onlyのパスワードは必要に応じて。

VNC Serverのサービス設定

CentOS7なのでサービスの起動はsystemctl。
サービス起動のためのファイルをcpで持ってきます。
ここでcpではなくln(シンボリックリンク)でcopyしてしまうと、正常にvncが起動できない場合があります

 $ cd /etc/systemd/system
 $ cp /lib/systemd/system/[email protected] vncserver@:2.service

vncserver@:2.serviceを編集する。
<USER>と記述されている箇所をすべてログインするユーザ名に書き換える。
2箇所のはず。
今回はrootで入るので以下の様にする。

[Service]
Type=forking
 # Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

VNC Serverの有効化

$ systemctl daemon-reload
$ systemctl enable vncserver@:2
$ systemctl restart vncserver@:2

3行目を実行すると、VNC Serverのサービスが設定した通りに起動するはず。
エラーが出る場合は何か設定し忘れがある可能性大です。
GNOMEの実行のために、下記コマンドを実行。

$ startx

ただし、リモート環境だと正常に実行されない。

touch: cannot touch ‘/root/.cache/imsettings/log’: No such file or directory
^Cxinit: connection to X server lost
waiting for X server to shut down (EE) Server terminated successfully (0). Closing log file.
xinit: unexpected signal 2

Ctrl-Cで止めちゃってOK。

VNC Serverへ接続

macだと移動→サーバへ接続をクリック
<接続先VMのIP>:5902 でVNC接続できるはずです。

以上
参考:http://www.plan0213.com/blog/20151202_1/
シンボリックリンク張るやり方だと$ systemctl restart vncserver@:2でエラー出ちゃったので。