CentOS7にVNCをインストールする方法を記載します。

パッケージのインストール

VNCのパッケージはいくつか種類がありますが、ここではtigervnc-serverを使用します。

yum -y install tigervnc-server

VNCユーザパスワードの登録

#VNCでログインしたいユーザに切り替えます。
su ユーザ名

#VNCのパスワードを設定します。(6文字以上)
vncpasswd

VNCのデータはユーザ毎にホームの.vncディレクトリ内のpasswdファイルに保存されます。

※隠しファイルなので隠しファイルを表示にしてファイル等は探して下さい。

 


VNCの起動

#ディスプレイ番号、解像度、色深度を指定できる
vncserver :2 -geometry 1024x768 -depth 24

※ファイヤーウォールの設定を行なってクライアントから接続してください。

 


systemctlでサービスの設定を行う(自動起動設定)

1)/etc/systemd/system 内に、VNCサーバのユニットファイルをコピーするか、または、シンボリックリンクを作成します。

ユニットファイルをコピー

cp -a /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service

シンボリックリンクを作成

cd /etc/systemd/system
ln -s /lib/systemd/system/vncserver@.service vncserver@:2.service

2)ファイル中の<USER>をログインするユーザ名に変更する

vi /etc/systemd/system/vncserver@:2.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[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=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

編集が終了したらsystemdに設定ファイルを再度読込みをさせる。

systemctl daemon-reload

3)VNCサービスの自動起動設定し起動する。

systemctl enable vncserver@:2.service

4)VNCサービスの起動を行う。

systemctl start vncserver@:2.service

 


ファイヤーウォールを設定

VNC接続用のポートを開けます。

TCPポート5900~設定します。

firewall-cmd --permanent --zone=public --add-service=vnc-server

firewall-cmd --reload

※4)でエラーが出る場合があるのでOSを再起動してする。クライアントでログインする。
※vncserver@:1 でうまくいかない場合vncserver@:2 以降を使う


画面サイズの設定

vi /usr/bin/vncserver

以下の行を修正します。

$geometry = "1280x1024";