環境
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/vncserver@.service 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
でエラー出ちゃったので。