Log in to a Home Server with VNC
I have a home server which acts a samba wins server, a DNS server and a Ubuntu Apt-Mirror. I have LMDE installed but I no longer have an attached monitor and keyboard. Normally I can SSH in to my server to make changes, but sometimes it’s more convenient to log in to an X-window session. One of the easiest ways to accomplish that is with VNC. There are lots of ways to set that up, heres one way.
VNC server setup on your home server:
LightDM, the default Ubuntu display manager, supports a VNC server out of the box. It works quite well with the vinagre VNC client available in the Ubuntu repositories.
So, to begin the setup process start by setting up the VNC password. So open a terminal and log in to your server. Note I’m assuming here that your server has no monitor so you’ll need to log in via ssh.
Then create your VNC password using:
sudo x11vnc -storepasswd /etc/x11vnc.pass
Then make it readable using:
sudo chmod 660 /etc/x11vnc.pass
Next you need to test your server. Start the server from the terminal using:
/usr/bin/x11vnc -xkb -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage -rfbauth /etc/x11vnc.pass -forever -bg -rfbport 5900
The VNC server will now start. It should prompt for a password when you log in from the client machine.
VNC client setup on your “remote” desktop.
Note: by remote, I mean some desktop or laptop machine on your local network other than the home server. All that’s required on that machine is a VNC client. In this case I’ll use Vinagre, but there are mutriple others. To install the client, open a terminal on the “remote machine” and:
sudo apt-get install vinagre.
After it’s installed It’s time to test the server. So, start vinagre either from Dash or whatever launcher you prefer (I use Cardapio).
Once vinagre runs, press the Connect button. At that point a window should open. See below:
Make sure the Protocol is set to VNC, then type the IP address of your home server into the Host field and press Connect. The VNC server should now prompt for your password, the one you created earlier, not your user password. After a few moments the X window should open, probably to you login screen. If so, everything is working and it’s time to set your server to run teh VNC server at startup.
Running the VNC Server at startup.
To run VNC server at startup, open up a terminal create a script:
sudo nano /etc/x11vnc.conf
and enter the following:
#! /usr/bin/x11vnc -xkb -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage -rfbauth /etc/x11vnc.pass -forever -bg -rfbport 5900
Then save and exit.
Next, still in the terminal:
sudo chmod 770 /etc/x11vnc.conf
Finally to run your script at startup:
sudo nano /etc/init.d/rc.local
then add the following line at the end of the file
save and exit.