How To Install and Configure VNC Server in CentOS 7 / RHEL 7

Channel: Centos/Redhat
Abstract: enter the password that you have created earlier. Configure VNC Server in CentOS 7 – VNC Authentication Now you will get the vnc desktop session. Conf

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.

Prerequisites

Before installing the VNC server, you would need install Gnome desktop using YUM command.

READ: Install Gnome Desktop on CentOS 7 / RHEL 7

Install VNC Server

VNC server package is available on base operating system repository. So, you can install the tigervnc server and X11 fonts packages using the YUM command.

yum install -y tigervnc-server xorg-x11-fonts-Type1
Configure VNC Server

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, the desktop 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/[email protected] /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
Firewall

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 --add-port=5905/tcp
firewall-cmd --reload
Start VNC Server

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
Enable VNC Server

Switch to the root user.

su -

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
Access VNC Desktop

Open up a VNC viewer from Windows machine and enter a remote desktop address.

ipaddress:5905

OR

ipaddress:5

Configure VNC Server in CentOS 7 – VNC Connection You will be asked to enter the password, enter the password that you have created earlier. Configure VNC Server in CentOS 7 – VNC Authentication Now you will get the vnc desktop session. Configure VNC Server in CentOS 7 – VNC Desktop  That’s All. You have successfully configured VNC server on CentOS 7 / RHEL 7.

Ref From: itzgeek

Related articles