vncserver setup on Ubuntu

Setup the Free TightVNC server on Ubuntu 12.04 - 17.10. In general the 3-D Ubuntu desktop is not available over VNC, so we use a traditional 2-D desktop environment over VNC.

VNC Security

Be sure that ports 5900-5999 are NOT exposed to outside world–VNC is NOT secure by itself! VNC must be tunneled over the Internet with SSH.

Ports exposed by the PC to the network are listed by:

ufw status

You should see only port 22 and any other ports only if you know what they are for.

Setup VNC server

  1. Install Linux VNC Server

     apt install tightvncserver openbox
    
  2. Choose desktop environment on server PC You can choose XFCE4 or Openbox (or other you prefer). Don’t forget after installing a new desktop environment, at your next local login, you’ll need to rechoose the traditional Ubuntu desktop (it will then remember this choice).

    Pick ONE of the following:

    XFCE4

    1. install XFCE on server PC
      apt install xfce4
      apt remove xscreensaver xscreensaver-data
      
    2. Create ~/.vnc/xstartup
      #!/bin/sh
      unset SESSION_MANAGER
      startxfce4 &
      
    3. complete configuration on server PC
      xfconf-query -c xfce4-keyboard-shortcuts -p /xfwm4/custom/'<'Super'>'Tab -r
      
      chmod +x ~/.vnc/xstartup
      

    Openbox

    Openbox is the lightest-weight desktop environment–right click to open a menu. Otherwise, you just have a plain grey background, extremely minimal–good for embedded system and old PCs.

    Put into ~/.vnc/xstartup

      #!/bin/sh
      unset SESSION_MANAGER
      exec openbox-session &
    
  3. start VNC server. You can also set a crontab task to do this at server reboot.

    vncserver :1 -geometry 1200x700 -localhost
    

Setup VNC client on laptop

  1. install VNC client

     apt install vncviewer
    
  2. create a Bash script like:

     #!/bin/bash
     ssh -f -L 5901:localhost:5901 user@IPaddress sleep 1;
     vncviewer  localhost::5901
    

Notes on VNC

You can leave your VNC desktop running – it is not the same as your local desktop. It is a little tricky to use your local desktop reliably–I have done so with X11VNC, but it can be more trouble than it is worth! It’s MUCH easier to startup a new separate desktop session with vncserver or x11vnc

reference xfconf fixing broken tab

Kill a frozen/undesired desktop

logout of VNC from your laptop, then:

vncserver -kill :1

Fix non-working right-click Openbox menu

You might need to create ~/.config/openbox/menu.xml with the content

<?xml version="1.0" encoding="utf-8"?>
<openbox_menu xmlns="http://openbox.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="/usr/share/openbox/menu.xsd">
    <menu id="root-menu" label="Openbox 3">
        <item label="Run Program">
            <action name="Execute">
                <execute>
                    gmrun
                </execute>
            </action>
        </item>
        <separator/>
        <item label="Terminal">
            <action name="Execute">
                <execute>
                    xterm
                </execute>
            </action>
        </item>
  </menu>
</openbox_menu>

Fix missing XFCE4 VNC icons

The default XFCE4 desktop may be missing menu icons (you see black squares or red X’s).

Settings > Appearance

  • Style: Xfce
  • Icons: ubuntu-mono-light
  • Fonts: turn hinting on if you want

Leave a Comment