Install TightVNC Server in Rhel/centos and Fedora to Access Remote desktops

Source: Internet
Author: User
Tags iptables tightvnc download vnc viewer

Virtual Networking Computing (VNC) is a Kind of remote sharing system, makes it possible to take control of any other computer connected T o Internet. Keyboard and mouse clicks can easily transmit from one computer to another. It helps administrator and technical staff to manage their servers and desktops without being to the same location Physica Lly.

VNC is a open source application created in late 1990′s. It is independent and was compatible with Windows and unix/linux. Means a normal Windows based user can interact with the Linux based system without any hazel.

To use VNC must has TCP/IP connection and VNC Viewer client to connect to a computer Runni ng VNC server component. The server transmits a duplicate display of a remote computer to the viewer.

This artilce demonstrates what to install VNC Server using TightVNC a much enhanced version of a oldervnc program, with GNOME Desktop remote access on RHEL, CentOS and Fedora Syst Ems.

Step 1:installing GNOME Desktop

If you ' ve installed a minimal version of Operating System, which gives only a command-line interface not gui< /c1>. Then you need to the install a GUI (graphical User Interface) withGNOME Desktop. The GNOME Desktop provides a lightweight desktop environment that works very well on remote VNC Desktops .

[[email protected] ~]# yum groupinstall "X Window System" "Desktop"
Step 2: Installing TightVNC Server

TightVNC a remote desktop control software that enables us to connect to remote desktops. To install, use the following yum command as shown below.

[[email protected] ~]# yum -y install tigervnc-server xorg-x11-fonts-Type1
Step 3: Create a Normal VNC User

Create a normal user, that will be used to connect to remote desktop. For example, I’ve used “tecmint” as a user, you can choose your own username.

[[email protected] ~]# useradd tecmint
[[email protected] ~]# passwd tecmint
Changing password for user tecmint. 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
Step 4: Set VNC Password for User

Create a new password for newly created user. Login to the user (su – tecmint) and run ‘vncpasswd‘ to set the VNC password for the user.

Note : This password is for accessing VNC remote desktop, and the password we created instep 3 is for accessing SSH.

[[email protected] ~]# su - tecmint
[[email protected] ~]$ vncpasswd

The above command ask you to supply password twice and creates “.vnc” directory under user’s home directory with passwd file inside it. You can check the password file is created, by using following command.

# ls -l /home/tecmint/.vnc
-rw------- 1 tecmint tecmint 8 Jul 14 21:33 passwd

Now exit from user login and return to root user login.

[[email protected] ~]$ exit
Step 5: Create VNC Xstartup Script

Create the xstartup script as root user. This can be created by starting the VNC server.

[[email protected] ~]# /etc/init.d/vncserver start

Starting VNC server: 1:tecmint 
New ‘ (tecmint)‘ desktop is

Starting applications specified in /home/tecmint/.vnc/xstartup
Log file is /home/tecmint/.vnc/
						 [  OK  ]

Next, check whether xstartup script is created under (tecmint) user’s home directory, do “ls -l” command.

[[email protected] ~]# ls -l /home/tecmint/.vnc/
-rw-------. 1 tecmint tecmint    8 Jul 15 12:27 passwd
-rwxr-xr-x. 1 tecmint tecmint  654 Oct 11  2012 xstartup

Once, it created,  set a desktop resolution in xstartup file. For this, you must stop running VNC service.

[[email protected] ~]# /etc/init.d/vncserver stop

Shutting down VNC server: 1:tecmint              [  OK  ]
Step 6: Setting Xstarup Resolution

Open file “/etc/sysconfig/vncservers” file your choice of editor. Here I’m using “nano” editor.  Create new VNC Session for “tecmint” with below command. where “-geomerty” is used define desktop resolution.

[[email protected] ~]# nano /etc/sysconfig/vncservers

And add following lines to it at the bottom of file. Save and close it.

## Single User ##
VNCSERVERARGS[1]="-geometry 1280x1024"

If you’re dealing with multiple users, first create a vncpasswd for all user’s as described above in step 4, and then add those user’s to the VNCSERVERS line and add aVNCSERVERARGS[x] entry as shown below. Where ‘x‘ is the ID number.

## Multiple Users ##
VNCSERVERS="2:ravi 3:navin 4:avishek"
VNCSERVERARGS[2]="-geometry 1280x1024"
VNCSERVERARGS[3]="-geometry 1280x1024"
VNCSERVERARGS[4]="-geometry 1280x1024"
Step 7: Starting TightVNC Server

After making all changes, run the following command to start again the VNC server. Before starting VNC session to “tecmint” user, let me give you a small intro about Port Numbers and ID‘s. By Default VNC runs on Port 5900 and ID:0 (which is for root user). In our scenario I’ve created tecmintravinavin and avishek. So, the ports andid’s are used by these users as follows

User‘s		Port‘s		ID‘s
5900		root		:0
5901		tecmint		:1
5902		ravi		:2
5903		navin		:3
5904		avishek		:4

So, here user “tecmint” will get port 5901 and id as :1 and so on. If you’ve created another user say (user5) then he will get port 5905 and id:5 and so on for each user you creates.

[[email protected] ~]# /etc/init.d/vncserver start

Starting VNC server: 1:tecmint 
New ‘ (tecmint)‘ desktop is

Starting applications specified in /home/tecmint/.vnc/xstartup
Log file is /home/tecmint/.vnc/

New ‘ (ravi)‘ desktop is

Starting applications specified in /home/ravi/.vnc/xstartup
Log file is /home/ravi/.vnc/

New ‘ (navin)‘ desktop is

Starting applications specified in /home/navin/.vnc/xstartup
Log file is /home/navin/.vnc/

New ‘ (avishek)‘ desktop is

Starting applications specified in /home/avishek/.vnc/xstartup
Log file is /home/avishek/.vnc/

                                                           [  OK  ]
Step 8: Open VNC Ports on Firewall

Open port on iptables, say for user (tecmint) at 5901.

[[email protected] ~]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT

For multiple users, ravinavin and avishek. I open ports 59025903 and 5904respectively.

[[email protected] ~]# iptables -I INPUT 5 -m state --state NEW -m tcp -p tcp -m multiport --dports 5902:5904 -j ACCEPT

Restart Iptables service.

[[email protected] ~]# service iptables save
[[email protected] ~]# service iptables restart
Step 9: Download VNC Client

Now go to your Windows or Linux machine and download VNC Viewer client and install in your system to access the desktop.

  1. Download VNC Viewer
Step 10: Connect to Remote Desktop Using Client

After you installed the VNC Viewer client, open it you’ll get similar to below screen. Enter VNC Server IP address along with VNC ID (i.e 1) for user tecmint.


Enter VNC Server IP Address

Enter password that we created with “vncpasswd” command.


Enter VNC User Password

That’s it, you connected to your Remote Desktop.


VNC Remote Desktop

Read Also : Access VNC Desktop from Web Browser



Install TightVNC Server in RHEL/CentOS and Fedora to Access Remote Desktops

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.