Top Banner
VNC is a protocol that is used to share the desktop with other users/computers over the network/Internet.In order to share a desktop, VNC server must be install and configure on the computer and VNC client must be run on the computer that will access the shared desktop. When we install the fresh copy of Ubuntu Server, it only gives us the “Command Line” interface. But some people prefer GUI instead and for this they install Full version of Gnome on Ubuntu Server. Actually there is a better way and that is to install VNC. VNC provides a lightweight virtual desktop than full blown version of Gnome. To install the core components of gnome, use this command: sudo apt-get install gnome-core To install a virtual desktop, use this command: How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on... 1 of 20 7/27/2012 12:17 PM
20

How to Install VNC Server on Ubuntu Server 12.04

Nov 08, 2014

Download

Documents

Jayson Campos

ubuntu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How to Install VNC Server on Ubuntu Server 12.04

VNC is a protocol that is used to share the desktop with other users/computers over the network/Internet.In order to share a

desktop, VNC server must be install and configure on the computer and VNC client must be run on the computer that will access

the shared desktop.

When we install the fresh copy of Ubuntu Server, it only gives us the “Command Line” interface.

But some people prefer GUI instead and for this they install Full version of Gnome on Ubuntu Server. Actually there is a better

way and that is to install VNC. VNC provides a lightweight virtual desktop than full blown version of Gnome.

To install the core components of gnome, use this command:

sudo apt-get install gnome-core

To install a virtual desktop, use this command:

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

1 of 20 7/27/2012 12:17 PM

Page 2: How to Install VNC Server on Ubuntu Server 12.04

sudo apt-get install vnc4server

In order to use VNC, we need to setup a password using the following command:

vncserver

To make a tweak in startup script, we need to kill the session that we just created:

vncserver -kill :1

Now open up the file that we need to edit:

nano .vnc/xstartup

And Modify the file so it looks like this:

#!/bin/sh

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

2 of 20 7/27/2012 12:17 PM

Page 3: How to Install VNC Server on Ubuntu Server 12.04

# Uncomment the following two lines for normal desktop:unset SESSION_MANAGER#exec /etc/X11/xinit/xinitrcgnome-session --session=gnome-classic &

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesxsetroot -solid greyvncconfig -iconic &#x-terminal-emulator -geometry 1280x1024+10+10 -ls -title "$VNCDESKTOP Desktop" &#x-window-manager &

Next, create the VNC Session once more:

vncserver -geometry 1024x600

Now, download VNCViewer onto our desktop computer from which we want to access the shared desktop. Connect using

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

3 of 20 7/27/2012 12:17 PM

Page 4: How to Install VNC Server on Ubuntu Server 12.04

ServerIP/Name:1 (:1 is for the VNC server window), In my case it is tendo:1.

Enter the password that we created using the vncserver command:

We now have GUI access to our server.

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

4 of 20 7/27/2012 12:17 PM

Page 5: How to Install VNC Server on Ubuntu Server 12.04

After reboot the server, we will not be able to connect to the server with VNC, this is because the “vncserver -geometry

1024×600” command that we typed above is not persistent. To solve this problem, we will use an excellent script of Justin

Buser.

As sudo user create the file (and directory if it doesn’t exist):

sudo mkdir -p /etc/vncserversudo touch /etc/vncserver/vncservers.confsudo nano /etc/vncserver/vncservers.conf

Add servers as needed for each user by adding something like the following to the vncservers.conf file we just created:

VNCSERVERS="1:arbab"VNCSERVERARGS[1]="-geometry 1024x600 -depth 24"

Next, create an empty init script and make it executable:

sudo touch /etc/init.d/vncserversudo chmod +x /etc/init.d/vncserversudo nano /etc/init.d/vncserver

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

5 of 20 7/27/2012 12:17 PM

Page 6: How to Install VNC Server on Ubuntu Server 12.04

Add the following to /etc/init.d/vncserver:

#!/bin/bashunset VNCSERVERARGSVNCSERVERS=""[ -f /etc/vncserver/vncservers.conf ] && . /etc/vncserver/vncservers.confprog=$"VNC server"start() { . /lib/lsb/init-functions REQ_USER=$2 echo -n $"Starting $prog: " ulimit -S -c 0 >/dev/null 2>&1 RETVAL=0 for display in ${VNCSERVERS} do export USER="${display##*:}" if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then echo -n "${display} " unset BASH_ENV ENV DISP="${display%%:*}" export VNCUSERARGS="${VNCSERVERARGS[${DISP}]}" su ${USER} -c "cd ~${USER} && [ -f .vnc/passwd ] && vncserver :${DISP} ${VNCUSERARGS}" fi done}stop() { . /lib/lsb/init-functions REQ_USER=$2 echo -n $"Shutting down VNCServer: " for display in ${VNCSERVERS} do export USER="${display##*:}" if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then echo -n "${display} " unset BASH_ENV ENV export USER="${display##*:}" su ${USER} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1 fi done echo -e "\n" echo "VNCServer Stopped"}case "$1" instart)start $@;;stop)stop $@;;restart|reload)stop $@sleep 3

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

6 of 20 7/27/2012 12:17 PM

Page 7: How to Install VNC Server on Ubuntu Server 12.04

start $@;;condrestart)if [ -f /var/lock/subsys/vncserver ]; thenstop $@sleep 3start $@fi;;status)status Xvnc;;*)echo $"Usage: $0 {start|stop|restart|condrestart|status}"exit 1esac

We’ll need to run vncserver command AT LEAST ONCE AS EACH USER that want to login as. I put that in caps because if you

skip that step none of it will work.

Finally, do the following:

sudo update-rc.d vncserver defaults 99

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

7 of 20 7/27/2012 12:17 PM

Page 8: How to Install VNC Server on Ubuntu Server 12.04

Now, restart the service by typing:

sudo service vncserver restart

Ability to connect for multiple users:

Create a local user, using the following command:

sudo adduser hussain

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

8 of 20 7/27/2012 12:17 PM

Page 9: How to Install VNC Server on Ubuntu Server 12.04

Switch to the newly created user and run vncserver command for it:

su hussainvncserver

Move to the home directory and edit the xstartup file:

cd ~nano .vnc/xstartup

Modify the file so it looks like this:

#!/bin/sh# Uncomment the following two lines for normal desktop:unset SESSION_MANAGER#exec /etc/X11/xinit/xinitrcgnome-session --session=gnome-classic &

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesxsetroot -solid greyvncconfig -iconic &#x-terminal-emulator -geometry 1280x1024+10+10 -ls -title "$VNCDESKTOP Desktop" &#x-window-manager &

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

9 of 20 7/27/2012 12:17 PM

Page 10: How to Install VNC Server on Ubuntu Server 12.04

Now open up the /etc/vncserver/vncservers.conf file as sudo user:

sudo nano /etc/vncserver/vncservers.conf

Add servers for newly created user by adding something like this:

VNCSERVERS="1:arbab 2:hussain"VNCSERVERARGS[1]="-geometry 1024x600 -depth 24"VNCSERVERARGS[2]="-geometry 1024x600 -depth 24"

Restart the service:

sudo service vncserver restart

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

10 of 20 7/27/2012 12:17 PM

Page 11: How to Install VNC Server on Ubuntu Server 12.04

Connect with newly created user using tendo:2, Where tendo is my server name:

Enter the password that we created using the vncserver command:

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

11 of 20 7/27/2012 12:17 PM

Page 12: How to Install VNC Server on Ubuntu Server 12.04

We now have GUI access to our server for newly created user.

Preventing Gnome to start on boot on the server:

Gnome is automatically started on boot in Ubuntu 12.04 LTS, if we connect a monitor to our server we will see that GUI sitting

there waiting for us to log in.

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

12 of 20 7/27/2012 12:17 PM

Page 13: How to Install VNC Server on Ubuntu Server 12.04

To prevent it, edit the gdm.conf file:

sudo nano /etc/init/gdm.conf

Comment these six lines:

#start on ((filesystem# and runlevel [!06]# and started dbus# and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1# or stopped udev-fallback-graphics))# or runlevel PREVLEVEL=S)

Reboot the server and that GUI log-in screen will no longer appear:

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

13 of 20 7/27/2012 12:17 PM

Page 14: How to Install VNC Server on Ubuntu Server 12.04

VNC encrypted through the ssh tunnel:

By default, VNC is not secure protocol.VNC uses encryption during initial connection and login (passwords are not sent in plain-

text). Once, we connected then all the VNC data is unencrypted and hacker could sniff our VNC session. It is better (safer) to

start VNC server only on 127.0.0.1(localhost) and tunnel it over secure SSH tunnel (For this,there are options in Putty).

On Ubuntu, edit /etc/vncserver/vncservers.conf:

sudo nano /etc/vncserver/vncservers.conf

Add the option “-localhost“:

VNCSERVERS="1:arbab 2:hussain"VNCSERVERARGS[1]="-geometry 1024x600 -depth 24 -localhost"VNCSERVERARGS[2]="-geometry 1024x600 -depth 24 -localhost"

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

14 of 20 7/27/2012 12:17 PM

Page 15: How to Install VNC Server on Ubuntu Server 12.04

Restart the service:

sudo service vncserver restart

Here is visual, how to connect to VNC Server through PuTTY(SSH) from Windows Machine.

Run PuTTY,enter the IP address or hostname of the VNC Server:

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

15 of 20 7/27/2012 12:17 PM

Page 16: How to Install VNC Server on Ubuntu Server 12.04

On the left-hand panel, Go to Connection -> SSH -> Tunnels:

Source Port:590x(Where x is a value that we set in vncservers.conf,like 1 for arbab)Destination:localhost:590x(Same x value that we used above in source port)

Click Open button in order to connect to the Server via SSH:

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

16 of 20 7/27/2012 12:17 PM

Page 17: How to Install VNC Server on Ubuntu Server 12.04

Login to the Ubuntu (VNC Server) with username and password:

Upon successful connection to VNC Server, we’ll find port 5901 is in listening mode on localhost:

netstat -a

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

17 of 20 7/27/2012 12:17 PM

Page 18: How to Install VNC Server on Ubuntu Server 12.04

Run VNC Viewer and enter the localhost:1(:1 is for arbab user, that we defined in vncservers file):

Enter the password, in order to connect to the VNC Server:

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

18 of 20 7/27/2012 12:17 PM

Page 19: How to Install VNC Server on Ubuntu Server 12.04

Now, we are connected to remote VNC Server through ssh tunnel:

Enjoy

Name (required)

Email (required)

Website

Comment (required)

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

19 of 20 7/27/2012 12:17 PM

Page 20: How to Install VNC Server on Ubuntu Server 12.04

Share this:

Like this: Be the first to like this.

← How to find the Linux Distribution Name and Version How to install VNC server on CentOS 6 →

Linux, Ubuntu, Windows Administer Ubuntu Server 12.04 using VNC, command line interface, encrypt the vnc traffic,

Encrypting VNC Traffic with Putty, Gnome, gnome classic, Gnome Classic on Ubuntu 12.04 LTS, gnome core, Gnome to start on

boot, How to install VNC server on Ubuntu Server 12.04, How to run VNC on startup, Install VNC server on Ubuntu Server,

multiple users on vnc, putty ssh, secure the vnc, Secure VNC using SSH, ssh, ssh server, ssh tunnel, tunneling the traffic,

ubuntu, ubuntu 12.04, ubuntu desktop, ubuntu server, virtual desktop, vnc, vnc on startup, vnc over ssh, vnc server, vnc

session, vnc through ssh, vncserver, xstartup

↑ TopBlog at WordPress.com. Theme: zBench by zwwooooo.

How to install VNC server on Ubuntu Server 12.04 « Lazy Geek -:) http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on...

20 of 20 7/27/2012 12:17 PM