I just use the ssh tunnel to display X on my local machine. I am using slicehost (US) from the Netherlands, so I have a ping time of 135 ms. This is not so good, but good.
The next step is to remove the Lukas Renggli buffer package to use the vnc viewer.
If you have already installed RFB on your computer, use it. If you have RFB installed on your image and the client machine is available, use it
But both of them are unencrypted. If you want to encrypt, you must configure the tunnel (possibly using ssh or maybe TLS).
I think this is redundant because you have to use a tunnel and then RBF. So, what I am doing is, on linux I need to install the minimal X libraries and then move the X session to the local computer.
On the server (Debian / Ubuntu instructions):
aptitude update
aptitude install xbase-clients
aptitude install xtightvncviewer
Test it from the client machine:
ssh -X remote_server squeakvm gemtools.image &
This will start the squeakvm process on the server, but all graphs will be displayed on the local machine (Xserver for this specific scenario).
In addition, if you install RFB on some of your images and run them headless, you can use xtightvncviewer to connect inside the image via the RFB server.
ssh -X remote_server xtightvncviewer localhost: 0 &
this will start xtightvncviewer on the remote server, but, again, will show on your local computer. Suppose you have an image in a remote server running RFB on the first display.
What is the advantage: - You do not need to open ports for RFB on the remote server - you transfer everything encrypted via ssh - you only execute commands on demand on the remote server. You do not have to constantly run VNC. - You can configure your RFB in the image to accept only localhost and not everywhere.
Martin McClure advised me to take a look at NoMachines NX (the less talkative X), but it's still on my to-do list.