Introduction: Setting Up a VNC Server on Your Raspberry Pi

If your Raspberry Pi is purposed to do a task that normally does not require a monitor, mouse and keyboard (or any human interaction for that matter), sometimes it is useful to access your Raspberry Pi's operating system without having to connect a monitor, mouse and keyboard. Here's how

Step 1: Required Materials

You will need the following:
- Raspberry Pi Model B (ModelA will also work in this case)
- Ethernet cable or wifi dongle (this one works well and is inexpensive: http://www.adafruit.com/products/814 
- Standard USB to micro USB cable (most Android smart phones come with one)
- Monitor, mouse and Keyboard for initial setup
- USB hub if you want to connect more than 2 things (in this case Mouse+Keyboard+Wifi Dongle)



Step 2: Installing a VNC Server on Your Raspberry Pi

This instructable will assume that you have already gotten Raspbian or some operating system installed. (Raspbian was used for this instructable)

If you have not yet installed an operating system, a common, well documented stable one is Raspbian which can be installed by using NOOBS (New-out-of-box-software). Once you download it to an SD card, it pretty much will install itself. It makes setting up the Raspberry Pi - which will from now on be affectionately referred to as Pi - VERY easy!

Once you have an operating system running here are the required steps to install a VNC server:

1. Open LX terminal
2. In LX terminal type in "sudo apt-get update" to update the operating system to the latest version
3. When prompted to update type in "y" and press enter
4. After updating is complete type in "sudo install tightvncserver". Press "y" and hit enter when prompted
5. Once tight VNC server has completed installation you can start it by typing in "vncserver:1"
6. It will prompt you to create a password. Keep in mind passwords can be at MOST 8 characters long.
7. Once you have entered a password you are done! The VNC server is now running in the background of your Raspberry Pi's      operating system. Now you can use any computer on your network with a VNC client to remotely access the Raspberry Pi

Step 3: Installing a VNC Client on Your Windows PC

This only covers how to install a client on a Windows PC. There are several free clients available. In this one we will use Ultra VNC, but here's a list of VNC clients that offer free versions:

- Tight VNC
- Real VNC
- Ultra VNC 

Once you  have installed one of those VNC clietns/viewers, you will need to figure out what the IP address of your Raspberry Pi is. You can do this by opening LX Terminal and typing in "sudo if config"

Once you know your Raspberry Pi's IP address (shown in red box in picture below), then go to your Windows machine and open up your VNC client. Type in your Pi's IP address followed by ":1" Then enter your password and voila! You are now remotely accessing your Raspberry Pi's operating system. 


Step 4: Setting Up the Pi to Automatically Start a VNC Server Upon Bootup

Now that you have the ability to VNC into your Pi, you will likely never want to hook it up to a monitor, mouse and keyboard again. But what happens when you lose power to the Pi, or when you restart it? Will you have to hook up a monitor and keyboard every time to start the VNC server again? Of course not! Here's how to setup your Pi, so that you never have to hook up another keyboard and mouse to it again.

1. Setup the Pi to boot into the graphical user Interface (this is the actual desktop environment that you interact with) automatically at start-up. Do this by opening LX Terminal and typing in "sudo ipconfig"
2. Select "Enable Boot to Desktop"
3. Select "Desktop" and press "OK"
4. Select "Finish" to exit and save the changes made
5. go back to LX Terminal and type in "cd /home/pi". This will take you the home/pi directory, obviously.
6. go into the hidden config directory by typing "cd .config"
7. create a new folder named "autostart" within the ".config" folder by typing "sudo mkdir autostart"
8. enter into the folder you just created by typing "cd autostart"
9. create a new configuration file that will tell the OS to start VNC upon bootup by typing "sudo nano tightvnc.desktop"
10. This will open the text editor within LX Terminal. Enter in the following into the text file:
           [Desktop Entry]
           Type=Application
           Name=TightVNC
           Exec=vncserver:1
           StartupNotify=false
11. Press Ctrl+O to write the changes and Ctrl+X to exit the text editor. your Pi will automatically start the VNC server every time it boots up!
12. Figure out what to do with the extra monitor, mouse and keyboard you just free'd up.


I made it at Techshop: www.techshop.ws