A small diversion from smartphone environments, but worth noting. Below...

> >
> > My problem with VNC is that it is unencrypted. I did write a couple of
> > scripts
> > that make the VNC traffic encrypted with the help of SSH.
> >
> 
> encrypted connections are easy, no scripts needed, eg connect vx-connectbot
> (or other ssh client) to your server, forward a port, eg 5905 for vnc
> display :5, and connect bvnc via that port.  vx-connectbot and bvnc will
> remember your parameters for your connections so you don't need to re-enter
> them again later.
>

I do this all the time, mostly with "reverse tunnels." (This is an excellent
way to provide technical support to family members, actually!) You need to play
some tricks with local (-L) and remote (-R) tunneled connections, but it works
stellarly.

Do not laugh, I have found this most useful when wanting to access remote
Windows machines via "remote desktop" or whatever Microsoft calls it. (VNC
works the same way when it comes to its traffic going through an SSH tunnel.)