calling the client from the server

Mike Miller mbmiller+l "at" gmail.com
Wed Feb 18 00:31:01 2009


For GNU/Linux systems, I see this option for vncconfig:

  -connect host[:port]
      Tells an Xvnc server to make a "reverse" connection to a listen-
      ing  VNC  viewer  (normally  connections  are made the other way
      round - the viewer connects to the server).  host  is  the  host
      where  the listening viewer is running. If it's not listening on
      the default port of 5500, you can specify host:port instead.

and I see this option for vncviewer:

  -listen [port]
      Causes  vncviewer to listen on the given port (default 5500) for
      reverse connections from a VNC server.  WinVNC supports  reverse
      connections  initiated using the 'Add New Client' menu option or
      the '-connect' command-line option.  Xvnc supports reverse  con-
      nections with a helper program called vncconfig.

This makes me think that maybe the following is possible, and I wonder if 
anyone has done it already:

The user changes his bash configuration file so that when he logs in via 
SSH, the system looks for the SSH port forward to his machine, checks if 
he has an Xvnc session running and asks him if he wants a VNC connection 
to his local machine.  If he wants it, vncconfig calls back to his 
listening vncviewer.

Something like that.  I haven't studied it enough yet to get all the right 
concepts.  Does an SSH tunnel have to be established or can port 
forwarding somehow be used?

What I'm really after is this:  The easiest way for Windows users to 
connect securely to free VNC running on GNU/Linux.  I expect to use PuTTY, 
possibly .bat files.  I'm thinking someone has this all figured out but 
what I'm finding are fairly elaborate instructions that would be too 
challenging many users and make too much work for frequent use.

Maybe we just have to configure PuTTY for port forwarding, then set up a 
little batch file that calls PuTTY with the right command-line options and 
then calls VNCviewer to connect to the correct port on localhost.  So, 
have you done it?

Mike