Version 1.0
Author: Srijan Kishore
This guide explains how to configure VNC-server in CentOS 7.0 server. It is a very convinient way of administrating the CentOS 7.0 with the help of GUI(Graphics User Interface). The GUI can be access any where with the help of the VNC-client on any OS. The basic condition is that the connecting OS must have VNC-clients installed in it.
This tutorial is based on CentOS 7.0 server, so you should set up a basic CentOS 7.0 server installation before you continue with this tutorial. The system should have a static IP address. I use 192.168.0.100 as my IP address in this tutorial and server1.example.com as the hostname.
IP address 192.168.0.100
Gateway 192.168.0.1
DNS 8.8.8.8 8.8.4.4
Hostname server1.example.com
VNC-server benefits
yum groupinstall "GNOME Desktop"
Further installyum install tigervnc-server
useradd srijan
In CentOS 7.0 there is change in the vncserver configuration file. Before ContOS 7.0 it was /etc/sysconfig/vncservers and now it have changed in /lib/systemd/system/[email protected]. Next I will use the original file and create the configuration file as shown:cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
vi /etc/systemd/system/vncserver@:1.service
Replace the string <USER> with appropriate vncuser’s username. In my case I will be using the user srijan just created above:
[...]
[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 <USER> -c "/usr/bin/vncserver %i"
#PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStart=/sbin/runuser -l srijan -c "/usr/bin/vncserver %i"
PIDFile=/home/srijan/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
|
If you wish to add more users you would create a new vncserver@:#.service file and change the <USER> string to the new users.
Firewall settings:firewall-cmd --permanent --zone=public --add-service vnc-server
firewall-cmd --reload
Now switch to the vncuser just created above and start the vnc service as:
su - srijan
vncserver
Now make the service enabled on after every reboot with root credentials:
su -
systemctl daemon-reload
systemctl enable vncserver@:1.service
reboot
systemctl start vncserver@:1.service
At client end my OS is Ubuntu 14.04 with vino installed on my client machine. Otherwise you can install any VNC-client of your choice. In case other OS say Windows-7 you can install Realvnc-client or any other of your choice.
Now I am going to connect with the VNC server through my VNC-client at 192.168.0.100:5901
It will prompt for the password, give the vnc password just created above as follows:
Put yourvncpassword the same which you gave at the time of adding the user srijan.
cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:2.service
vi /etc/systemd/system/vncserver@:2.service
[...]
[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 <USER> -c "/usr/bin/vncserver %i"
#PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStart=/sbin/runuser -l kishore -c "/usr/bin/vncserver %i"
PIDFile=/home/kishore/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' |
su - kishore
vncserver
systemctl daemon-reload
systemctl enable vncserver@:2.service
reboot
systemctl start vncserver@:2.service