Installing a VNC server on a maemo Internet Tablet

Today, I’m going to give a talk about Vagalume in the VIII Jornadas de Software Libre de GPUL 2008, since Berto finally won’t be able to be there, as it was initially planned, so I’ll be charged with the responsibility of telling the people how cool Vagalume, Maemo and GNOME are in only 30 minutes… quite a big challenge for me, since I seldom can speak in a concise, short and effective way without going on and on.

So, yesterday I spent some time looking for an easy and effective way for showing people attending to the talk how cool this cute device (my N810) is… and thinking about the past I remembered when Andres gave a talk/workshop about the Maemo development platform, where he used an VNC server installed in the device to show the N810 “screen” to everyone in the room, just using an VNC client in the laptop connected to the proyector.

IIRC, Andrés compiled the VNC server for the device to get it working, but yesterday I found a much easier way to get it working, so here you are the receipt (I use too much this word in my blog, perhaps I should consider to become a cook… ):

  • Download the pre-compiled .deb package for your device from this web.
  • Copy the .deb file to your device and install it following one of the following methods:
    • Install it with the Application installer from the Control Panel (N770).
    • Install it with the Application Manager from the ‘Settings’ Menu (N800 / N810). It’s required to have the red-pill mode enabled. To know how to enable this “peculiar” mode, check this out.
    • Open a root terminal in the device with a remote ssh connection and install it this way:
    • dpkg -i x11vnc_0.9.3-1_armel.deb

  • Configure it to use a password with the default username available in the device (‘user‘):
    • Make sure you are running the terminal as ‘user’, by executing the command:
    • su user

    • Create a VNC password (recommended):
    • x11vnc -storepasswd

      • This will store your password (encrypted) under /home/user/.vnc/passwd
  • Start the server:
    • Not using the password: from Menu -> Extras, click on x11vnc.
    • Using the password (recommended):
      • Open a terminal for ‘user’
      • Execute the command:
      • x11vnc –usepw

  • Connect to server (already running on the device, at port 5900):
    • Using any VNC client connect to your device’s IP, using the following credentials if you started the server with –usepw:
      • Username: user
      • Password: (whatever you’ve set with –storepasswd)

Of course, there are lots of options you can pass to x11vnc (see x11vnc –help) but these ones worked fine for me: I have an easy VNC server working with password authentication :-)

And to finish this post, just a last advice: If you think you’re going to use always (like me) the VNC server with password authentication, it could be more nice for you to edit the /usr/bin/x11vnc.sh script so it also includes the –usepw. This way, you can always start the VNC server from Menu -> Extras, withouth having to open a terminal for it… although, to be honest, I still prefer a remote terminal for most of the times, because of the output I continously get through it… but hey! that’s just a very personal opinion! :-)