Sometimes you might need an instance running a desktop environment to run GUI applications or to just use it with a desktop as a remote computer. Luckily for you, installing a desktop and connecting to it using VNC is really simple. VNC (Virtual network computing) is a graphical desktop sharing system which will allow you to connect to a computer, view it’s graphical interface and control it remotely using a VNC client.

Before You Begin

Update your system using the following command.

sudo apt-get update && sudo apt-get upgrade -y

Install Ubuntu Desktop on Your Instance

There are multiple desktop environments which you can install on your instance to use it with a graphical interface. We’re going to install the Unity desktop, which is the default desktop environment of Ubuntu. To install it along with a few other packages which are required for the graphical interface to function properly, run the following command.

sudo apt-get install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

During the installation, you might be asked whether you want to change a system file to a new version. Type y and then press enter to use the updated version.

Install and Configure a VNC Server

There are several VNC servers to chose from. We’re going to install vnc4server.

sudo apt-get install vnc4server

Now test the VNC server by starting a session.

vncserver :1

You will be prompted for a password. Set any password you like. You should now be able to connect using a VNC client. But you’ll see a gray screen instead of the desktop. We need to configure VNC to launch the full Unity desktop when it starts. To do it, first kill the VNC session.

vncserver -kill :1

Now edit the file ~/.vnc/xstartup to match the configuration given below. Start by opening the file on an editor.

Note: This file will only be created when you start a VNC session for the first time.

nano ~/.vnc/xstartup

Now edit the end of the file to match it with the below configuration.

#!/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 &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &

gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &

Save the file by pressing ctrl o and exit by pressing ctrlx and then pressing enter.

Now launch a VNC session again.

vncserver :1

You can now use a VNC client/viewer to connect to your computer remotely and use it. The following is your address which you need to enter when connecting.

server_ip_address:1

And the password will be what you set earlier when first launching the VNC session.