This functionality is built into version 4 of Xvnc - when given the -inetd option it automatically detects whether it was used with inetd's wait flag. I even wrote some documentation on it yesterday! See http://www.realvnc.com/v4 and in particular http://www.realvnc.com/v4/man/Xvnc.html
Cheers Tristan ----- Original Message ----- From: "David Cooper" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, August 07, 2003 9:06 PM Subject: New inetd feature > I have sent this message some time ago but have lost track of it, perhaps it > is still worth someone considering... > > At our site we have long used specific vnc sessions for specific users, > driven mostly from the desire to retain sessions across the (numerous) > windows reboots or more so when going home and picking up from home. To > that end, we are required to keep many vnc servers running on fixed ports. > I always wanted to use inetd to handle those but was stuck because users > could not target their sessions and then pick them up later on - > disconnections terminate the session. > > My fix was to add another parameter '-inetdwait' which handles receiving the > 'server' socket instead of the 'client' socket. I am not sure what you know > about inetd, but this corresponds to the 'wait' or 'nowait' parameter. This > allows us to have a dozen or more servers run without any overhead of Xvnc, > X session etc when the user is not even connected, and really helps reboot > time. An example of our inetd config is: > > vnc1 stream tcp wait me /etc/startvnc > vnc2 stream tcp wait someone /etc/startvnc > > Where vnc1 and vnc2 map to services 5901 and 5902 respectively, and > /etc/startvnc is a script which reads a users selected resolution file in > ~/.vnc and passes the long font-path as follows: > > ... > exec /usr/local/bin/Xvnc -inetdwait -query $host -once -rfbauth > /home/$user/.vnc/passwd -fp "$FP" $res > > Note that in our installation, we -query to get a local session and -once to > exit when the user logs out so as to return control to inetd. I also need > to make Xvnc setgid to support local unix-domain sockets, not sure if there > is a way to enable that as part of the Solaris install? > > I have also made a small change to kbdptr.c, nothing to do with the > inetdwait addition, to support the full list of keys from a PC keyboard by > default (so that users could customize and count on where keys will map) and > so that I could change xkeycaps to support a realvnc server. At the same > time I added Sun specific keys so that suns dtterm would stop complaining > about not finding 'cut' and 'paste' keys. > > As I indicated, I hope that this can help others. The files included are > init.c, sockets.c and kbdptr.c. I have included diff -c output as well as > the changed files, this was based on 3.3.7 unix source. Thanks again. > > The files can be obtained from > http://www.wmode.com/vnc/vnc-cooper-diffs.tar.gz and > http://www.wmode.com/vnc/vnc-cooper-changed.tar.gz respectively for as long > as I can keep them available. > > David Cooper > Wmode Inc. > _______________________________________________ > VNC-List mailing list > [EMAIL PROTECTED] > To remove yourself from the list visit: > http://www.realvnc.com/mailman/listinfo/vnc-list _______________________________________________ VNC-List mailing list [EMAIL PROTECTED] To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list
