How To Setup Linux VNC Server In 3 Minutes

VNC server works similar to Telnet or SSH daemon, except that it allows VNC clients running on diverse OS platforms to remotely access Linux Desktop Manager of the server itself, rather than the TTY text-based console!
As such, most of Windows-to-Linux users prefer using VNC server than SSH daemon, who are generally favor on the vivid Desktop Manager (either KDE or Gnome) than the cold black-and-white TTY console!
For the newbie (as myself), here is my another 3-minute Linux guide about How to setup VNC server in Red Hat Enterprise Linux?
Though this Linux-VNC guide is tested on Redhat Enterprise Linux 4, it served the general guide of installing VNC in Linux distributions.
- Locate the vnc-server-4.0-8.1.rpm package from the Red Hat Linux installation CD or download the latest free version of VNC server from Real VNC.
- Install the rpm package of VNC server:
rpm -Uvh vnc-server-4.0-8.1.rpm
- VNC server is using different set of login authentication than the Linux /etc/passwd. Meaning that, you have to create VNC login password for individual Linux login accounts who are granted remote access with VNC client.
To create VNC login password, just executevncpasswdcommand and enter a valid password twice as usual.
- Unlike VNC server for Windows, each user account can run more than one VNC servers in Linux.
To start an instance of VNC server, just executevncservercommand, which will create the $HOME/.vnc directory with VNC default startup scripts inside (if $HOME/.vnc is not currently exists).
- The
vncservercommand will startup a VNC server that open 3 next available TCP/IP port, starting from 5801, 5901, and 6001 respectively.
Port 5801 is for VNC client connection over HTTP protocol, port 5901 is for VNC client connection over RFB protocol, and port 6001 is to allows X applications to connect to the VNC server. The lsof or netstat command will able to show the network port opened by Xvnc server.
By executingvncserverfor the second time or execute thevncserver :2command, this will startup VNC server that bind and listen to port 5802, 5902, and 6002 respectively.
To connect to Linux VNC server over HTTP protocol, just typewalkernews.net:5801(replace walkernews.net with your VNC server IP/hostname) at any javascripts-enabled web browser, such as Mozilla Firefox, Opera, or Internet Explorer.
To connect to Linux VNC server over RFB protocol, just typewalkernews.net:5901at the VNC client.
- To kill the VNC server in Linux, just execute
vncserver -kill :1will kill the first VNC server that bind and listen to port 5801, 5901, and 6001. Thevncserver -kill :2will kill the second VNC server, and so on.
How to get KDE or Gnome Desktop Manager running in Linux VNC server?
Don’t worry, it’s just a 3-seconds Linux trick! Edit the default VNC server startup scripts $HOME/.vnc/xstartup and un-remark the two “critical” lines, as per the scripts suggestion:
#!/bin/sh # Uncomment the following two lines for normal desktop: unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm &
Isn’t easy to setup and configure Real VNC in Linux, particularly with Red Hat Linux?


Custom Search






2012 •
Correction:
In order to connect VNC server over HTTP protocol, the web browser should be java-enabled and the correct URL should be
http://walkernews.net:5801(replace walkernews.net with your VNC server IP/hostname)The HTTP:// prefix is a must, or you won’t get the VNC server authentication prompt!
[...] your powerful Core 2 Duo home Desktop running Windows Vista Ultimate is not possible to access the Red Hat VNC server over the RFB [...]
If you’re connecting Linux VNC server from Windows VNC Viewer (the client), the working connection string with specific port is
walkernews.net::5901and not
walkernews.net:5901spot the difference
Excellent How-To! Saved me loads of time faffing about – much appreciated :o))
[...] year, I wrote a post on how to configure VNC server in Red Hat Linux system. But, that 3-minutes setup guide doesn’t mention about how to auto start VNC server when [...]
[...] restart that bloody machine. Worst still, simply reboot the machine might not able restart the VNC server. So, what could you do in order to get the VNC server back to work? Precisely, if you can’t [...]
Thank you very much WALKER……….like u said…..Exactly in 3 minutes……..
Thanks for saving another one week…………
it didnt work for me in 3 minutes what the bloody hell?
Or you could just enable VNC in 3-seconds through “System”->”Preferences”->”Remote Desktop”
http://www.redhat.com/magazine/006apr05/features/vnc/
Don’t forget to add port 5900 to your firewall exception (also easy to do via “System”->”Administration”->”Security Level and Firewall”)
I am running an old RedHat5, so YMMV.
Thanks much! Very useful article. Great writing style…was less than 3 mins for me :).
Great Doc,
thanks it works as he said , step by step and inch by inch
thanks once again.
Excellent tutorial!
It’s always nice when smart people share
Thanks.
Cool, worked like a charm… even when the article is sooo 2007!! Thanks.
Worked first go on my beagleboard, w00t! apt-get install vnc-server (for ubuntu)
I have tried to get this set up on my new redhat server and I want to show the Gnome interface but all I get is the twn screen.
any help would be great.
@John, did you restart the vncserver after making changes to xstartup file?
Try to execute
service vncserver restart.As vncserver starts up, it will execute the xstartup file of user, e.g. when I start it for root:
Starting VNC server: 1:root
New ‘btest:1 (root)’ desktop is btest:1
Starting applications specified in /root/.vnc/xstartup
how to connect with the vncserver with the display port value is :0 or with the default display
exam:
connecting from 192.168.0.100:1 to 192.168.0.100:0 or 192.168.0.100
i want to connect via vnc cliet with the same display as what my server monitor was..can anyone show me and teach me a little trick for this setup?
i want to provide multiple session for user’s for accessing the vncserver from multiple connetcion
Hi,
I have setup VNC server on a powerful Linux server and am able to initiate a VNC connection but it doesn’t prompt for username but only a password!
I need 4 users to connect to my VNC server and initiate a GNS3 session but the server doesn’t prompt for username!?
I have created Linux users account and have done GNS3 installation for each user account.
Any help that can help me resolve thie issue please?
Regards,
Masood
If you have Linux user account A, B and C and would like them to connect the server via VNC client individually, then just repeat the steps for each of those user accounts.
John May edit it like this
Edited by Walker:
So, the differences are
1) Comment these lines: unset, exec, and twm.
2) Add gnome-session line.
Thank you soo much…you made my day!
i try to configure vnc at fedora core 8. by yum i install vnc bt but when i enter the commend vncserver :1 -name homeserver -depth 16 -geometry 720×540,it give an error like this
bash: vncsrever commend not found
please help me to sort out this problem.
Hi,
I am getting an error “SSH Client has been unloaded” while connecting to a unix server from x-windows emulator (ViewNow).
Can anyone help me in this ?
Is there a way to enter a conditional statement inside of the .xstartup file?
i.e.
If I open 1 specific VNC session, say on port :2, I want it to open 6 xterm sessions in a pre-defined space.
On the other hand, if I open any other VNC sessions, on any other ports, I want it to only open 4 xterm sessions, in pre-defined spaces.
I already have the xterm statements, and geometry’s calculated and working, I just haven’t hit on a way to differentiate between used ports, from inside of the .xstartup file.
TIA
Hi jxfish2,
You should see your port on the DISPLAY environment variable that was set by the Xvnc process and spawned to your xtartup script.
Once its readily available, abuse of IF statements at will
I know it has been a couple of weeks after you’ve asked and yet I still hope i have helped you or anyone in need.
Sunniest SouthAmerican regards
Thanks dhabib.
I could not find the “$DISPLAY” variable, but I did find the native “$VNCDESKTOP” variable.
Using this variable, I was able to create a conditional statement to set the number of xterm sessions inside of a VNC session, differently, for different VNC sessions.
Here’s the conditional statement I used:
if [[ -n `/bin/echo $VNCDESKTOP | /bin/grep ':2'` ]]
Now I have one more question, if it’s Ok with you:
The VNC geometry that I have set inside of the /etc/sysconfig/vncservers is a non-standard entry.
But, as I have port :2 set for my own personal use, it’s not an issue.
However, when I open a new session, not previously defined within this config file, my .Xauthority file overrides my preferred VNC geometry, setting it to 1024×768.
Is there some way for me to set the VNC session geometry locally, outside of the vncserver config file?
Remember, not the size of the xterm windows, but the actual VNC session geometry.
In other words, I typically upgrade / work on 6 servers at once, all in parallel.
I have my default VNC session set to open 6 xterm windows inside of a single VNC session, with each xterm session set to 80×24.
But, I want to open a new VNC session, with xterm windows that are 80×60, where I can display HOWTO style, cut-n-paste documents. Documents that are prepared in advance of our maintenance windows.
If nothing more, do you know of a way to reset the default 1024×768 to something different, inside of the local .Xauthority file?
Never mind. I figured it out!
For any of you that might be interested in something similar. I created a separate script to open VNC sessions of 3 different xterm window types:
The code will follow in another comment window!
To establish a new VNC session, with the pre-configured size, first you need to execute your new script:
./myvncserver 2
./myvncserver 4
./myvncserver 6
Finally, I need to configure my xstartup script so that it can determine on its own, whether it needs to open 2, 4 or 6 xterm windows.
xstartup contents to be displayed in the next comments window.
Hope this was useful to someone other than me!
Note that the window sizes used in the above code fill my desktop sessions perfectly.
You may need to tweak the sizes according to your own desktop work space.
I have recently inherited a windows network on a Linux server and have changed the ISP now when i go to connect using the VNC Viewer4 I get a error message stating that the “connection was refused Error code 10061″ and guidance in the right direction would be greatly appreciated.
Brilliant, thanks for sharing :-)
Worked first time for me, nice clear instructions
Wonderful, direct to the point every stupid guide I’ve seen has tons of garbage and unnecessary technical explanations. I did follow your guide and had it enabled very quickly!
Tks!