Setting Up a VNC Server on Your Raspberry Pi

435,317

175

21

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

4 People Made This Project!

Recommendations

  • Game Design: Student Design Challenge

    Game Design: Student Design Challenge
  • Make It Bridge

    Make It Bridge
  • Big and Small Contest

    Big and Small Contest

21 Comments

0
KK0DJ
KK0DJ

4 years ago on Step 2

These may be just due to new releases/updates, but I found that the process needed these few changes:
Step 4 should read : sudo apt-get install tightvncserver
Step 5 should read : vncserver (no ":1") which leads to creating the password
I also found that there wasn't a mention of what the username is that needs to be used to log in remotely to the VNC Server.... could this be added as well?

0
shashankG35
shashankG35

5 years ago

This part in step 3 at the end

"""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""""

when i type in the password , the prompt comes up as authentication failed

1
DragonFruitBOSS
DragonFruitBOSS

7 years ago

btw it is "sudo apt-get install tightvncserver"

0
smilerhappy.
smilerhappy.

Reply 6 years ago

thanks!

0
RevoltPlays.
RevoltPlays.

Reply 6 years ago

Thanks! I was struggling but this helped

0
mal-hd
mal-hd

8 years ago on Step 4

I do as in the steps

but when i tried to make a connection

I have a msg on my computer

indicates that the "target machine refused actively"

0
kirtiksoni
kirtiksoni

Reply 8 years ago on Introduction

When you enter the ip address on vncviewer, you have to enter the server also. example 192.xxx.x.x and then enter :1 or :2 etc to it. Hope it helps!

0
3030tank
3030tank

Reply 6 years ago

huge help. I think many people missed this important step. Thanks!

0
AhmedH134
AhmedH134

7 years ago

sudo apt-get install tightvncserver

Reading package lists... Done

Building dependency tree

Reading state information... Done

tightvncserver is already the newest version.

The following packages were automatically installed and are no longer required:

gnome-desktop3-data gnome-icon-theme-symbolic libavahi-gobject0 libcwiid1

libgnome-desktop-3-2 libnss3 libqscintilla2-8 libruby1.9.1 libsclang1

libscsynth1 libwnck-3-0 libwnck-3-common libyaml-0-2 ruby1.9.1

squeak-plugins-scratch squeak-vm

Use 'apt-get autoremove' to remove them.

0 upgraded, 0 newly installed, 0 to remove and 72 not upgraded.

0
jonpurchase
jonpurchase

7 years ago

Found the answer myself - X11vnc gives exactly the same view as if plugged into monitor. Use x11vnc instead of tightvnc if you want to mirror the display instead of starting a new session each time.

0
jonpurchase
jonpurchase

7 years ago

Having problems with sessions. I have a webpage displayed on my pi and have set up VNC but when I VNC into my pi it shows a fresh session and not the active one????

0
kaneda26
kaneda26

7 years ago on Step 2

Also, "vncserver:1" doesn't work.

0
kaneda26
kaneda26

7 years ago on Step 2

Step 4 should read "sudo apt-get install tightvncserver"

0
AlmostNotDumb

It's not auto booting at startup. At the end of step 4 when you enter the text it says to press Ctrl+O to write the changes then Ctrl+X to exit. After I press Ctrl+O it gives me other options non of which are exiting.

It gives me these options: ^G (Get Help), ^C (Cancel), M-D (DOS Format), M-M (Mac Format), M-A (Append), M-P (Prepend), M-B (Backup File)

What do I do from here? I am assuming my problem for my vncserver not starting is this since it is the only part of this tutorial that was not completely covered.

0
jujuink
jujuink

8 years ago on Introduction

Keep in mind when you go to do step 5...

5. Once tight VNC server has completed installation you can start it by typing in "vncserver:1" that it should be "vncserver :1" The space between the r and the : is important.

0
MakinThings
MakinThings

Reply 7 years ago on Introduction

also, using raspbian, installing tightvnc needs to go "sudo apt-get install"

0
YafeatA
YafeatA

8 years ago on Introduction

Just to be on the good side its sudo apt-get install not sudo install

0
decri
decri

8 years ago on Step 4

Thanks for this instructables, I only wanted to know how to change resolution :)

0
MartinP2
MartinP2

Reply 8 years ago on Step 4

By adding the the -geometry flag after "vncserver: 1"you can set resolution, with the -depth flag the color depth

E.g. Exec=vncserver :1 -geometry 1920x1080 -depth 24