CentOS 7にVNCサーバをインストールする

今回は、CentOS 7にVNCサーバをインストールする手順を記述する。
VNCサーバーが何なのか知らない、という人はいないと思うが、ようはリモートデスクトップサーバのこと。
このインストールを行うことで、GUIでCentOS 7を操作出来るようになるということだ。

1.ランレベル5で動作するように設定を変更する

まずは、ランレベル5で動作するように以下のコマンドを実行する。
なお、最初からランレベル5で動作するようであれば本手順は必要無い。

yum check-update
yum groupinstall "X Window System"
yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
systemctl set-default graphical.target
reboot

2.VNCパッケージのインストール& 初期設定

以下のコマンドで、VNCパッケージのインストールを行う。

yum install tigervnc-server -y

インストール完了後、「/lib/systemd/system/vncserver@.service」というファイルを元に新しく「/etc/systemd/system/vncserver@:1.service」というファイルを作成する。

cp /lib/systemd/system/vncserver@.service \
/etc/systemd/system/vncserver@:1.service

新しく作成した「/etc/systemd/system/vncserver@:1.service」に対し、ユーザ名およびホームディレクトリの設定を行う。
編集前は、以下のように「」という記述となっている。

ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid

これを、ログイン時に利用するユーザ名に置換する。
一般ユーザー(ここでは、「test」)であれば以下。

ExecStart=/sbin/runuser -l test -c "/usr/bin/vncserver %i"
PIDFile=/home/test/.vnc/%H%i.pid

rootユーザーであれば以下。

ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid

最後に、以下のコマンドを実行しsystemdに設定ファイルを再度読込みをさせる。

systemctl daemon-reload

3.VNCで利用するパスワードを設定する

以下のコマンドを実行し、VNC接続する際に要求されるパスワードを設定する。

vncpasswd

4.VNCサービスの起動 & ファイアウォールの設定

以下のコマンドを実行し、VNCサービスの自動起動設定を行う。

systemctl enable vncserver@:1.service

そして、以下のコマンドでVNCサービスの起動を行う。

systemctl start vncserver@:1.service

サービス起動後、以下のコマンドでVNCサービスのポートをファイアウォールで通すようにする。

firewall-cmd --permanent --add-service vnc-server
systemctl restart firewalld.service

5.VNCサーバへ接続する

これでVNCサーバへ接続出来るようになったので、VNCクライアント(ここでは、VNC Viewerを用いている)を利用して接続する。

「VNC Server:」の箇所は、「IPアドレス:サービスのポート番号(今回の場合は1)」とする。
接続すると、3.で設定したパスワードを要求されるので入力する。

接続後の画面が以下。

これで、無事VNCサーバが利用出来るようになった。