Configure VNC Server on CentOS 7 / RHEL 7

29
VNC Server on CentOS 7
VNC Server on CentOS 7

The following simple guide helps you to setup the VNC server on RHEL 7/CentOS 7 machines, VNC help to share the desktop with the other machines which have a client installed. VNC server and client are not installed by default, you need to setup the vnc server manually.

Before installing the VNC server, let us install Gnome desktop using YUM command.

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

Install the tigervnc server and X11 fonts.

yum install tigervnc-server xorg-x11-fonts-Type1

Copy the VNC server configuration file to /etc/systemd/system/ for configuring the system service. While copying, you can mention which port it should listen. By default VNC server listens on 5900, but if you setup port-offset for VNC; we can run a service on a sub-port of the default port 5900. For example, if we mention port 5, it will be accessible on 5905.  You can connect the VNC server by specifying ipaddress:sub-port (192.168.2.109:5 or 192.168.2.109:5905)

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:5.service

Edit the copied file.

vi /etc/systemd/system/vncserver@:5.service

At the end of the file, you will find the lines like below.

[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=/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

Replace <USER> with your real user, in my case, i replaced with a user called “raj” .

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

Add firewall rules to allow the VNC connection, the following rule is set as per the port-offset mentioned in the previous step.

firewall-cmd --permanent --zone=public --add-port=5905/tcp
firewall-cmd --reload

Start VNC server after switching to raj.

[raj@server ~]$ vncserver

Set the password.

You will require a password to access your desktops.

Password:
Verify:
xauth:  file /home/raj/.Xauthority does not exist

New 'localhost.localdomain:1 (raj)' desktop is server.itzgeek.com:1

Creating default startup script /home/raj/.vnc/xstartup
Starting applications specified in /home/raj/.vnc/xstartup
Log file is /home/raj/.vnc/server.itzgeek.com:1.log

Reload the systemctl daemon as root.

systemctl daemon-reload

Start the VNC service as root.

systemctl start vncserver@:5.service

Enable it on system startup as root.

systemctl enable vncserver@:5.service

Take remote desktop.

ipaddress:5905 or ipaddress:5
Configure VNC Server on CentOS 7 - VNC Connection
Configure VNC Server on CentOS 7 – VNC Connection
You will be asked to enter the password, enter the password that you have created earlier.
Configure VNC Server on CentOS 7 - VNC Authendication
Configure VNC Server on CentOS 7 – VNC Authentication
Now you will get the vnc desktop session.
Configure VNC Server on CentOS 7 - VNC Desktop
Configure VNC Server on CentOS 7 – VNC Desktop
 That’s all. You have successfully configured VNC server on CentOS 7 / RHEL 7.
You might also like

Configure VNC Server on CentOS 7 / RHEL 7

29