Table of Contents

VNC

Windows

TightVNC contains a good server and client.

Linux

x11vnc contains a good server that allows you to access your already running session. You can set a new password with x11vnc -storepasswd or vncpasswd.

TightVNC contains a good client.

About routers and firewalls

The server is behind a router or firewall:

  1. if the client is not behind a router or firewall: the server invites the client (“vncviewer -listen” for the client, “Add new client” for the server in TightVNC)
  2. if you can open the port 5900 (or another one you prefer): open it
  3. if you can access in ssh to the server, or to another machine on the same network: create a ssh tunnel

The client is also behind a router or firewall:

  1. but some ports are open, use invitations listening on an open port (need to be root if < 1024). With Linux::TightVNC, use modulo 2^16 to specify a port lower than 5500 (eg “vncviewer -listen 60058” for port 22), and “hostname::22” syntax for server invitation.
  2. if you can access in ssh to another machine on the same network: create a ssh tunnel to send the invitation
  3. if you can access in ssh to another machine on which you can open ports, create a remote ssh tunnel ('ssh -R')

If your ssh is completely blocked, and you control another machine somewhere, open an ssh server on port 80 or 443…