
In this directory you'll find a hodgepodge of wrapper scripts and
utility programs that have found some use with x11vnc.  

Some are on the rough side and will need some customization for your
use.  Many of them are described on the webpage:

	http://www.karlrunge.com/x11vnc

(use your browser's Find action to find them!).  Some of them also have
documentation near the top of the file.

x11vnc -accept scripts: 

   blockdpy.c	try to lock screen if local person knocks monitor out of DPMS
   dtVncPopup	CDE/dtksh by Stefan Radman to accept connections, lock screen

x11vnc launch wrappers:

   rx11vnc	simple ssh/rsh x11vnc launcher.  -S option needs work...
   rx11vnc.pl	perl script tries to do rx11vnc -S tunnelling better.

x11vnc -pipeinput/-rawfb utilities:

   vcinject.pl	perl script like LinuxVNC.c, for x11vnc viewing of linux console 
   slide.pl	amusing example using x11vnc -rawfb for jpeg slideshow. 
   ranfb.pl	example -rawfb setup:./ranfb.pl to set up a framebuffer.

   uinput.pl    test perl script for Linux uinput injection.

   qt_tslib_inject.pl touchscreen -pipeinput helper for tslib on qtmoko.

Misc. scripts:

   shm_clear	list or remove orphaned shm slots from hard x11vnc crashes.
   x11vnc_loop	kludge to run in bg attaching x11vnc to X login.  Better to
		use Xsetup mechanism.
   Xdummy       An LD_PRELOAD kludge to run the Xorg "dummy" device driver
		like Xvfb.

   ultravnc_repeater.pl: Unix script to act as UltraVNC repeater proxy.

   connect_switch:  Share HTTPS, VNC, SSH, etc. through a single port (e.g. 443)

   panner.pl    Allows a small rectangle to pan around a desktop more or less.

   desktop.cgi  CGI script for creating multi-user virtual desktops on a
                server.  Also can do port-redirection to internal machines.

   inet6to4     ipv6 to ipv4 relay (i.e. until libvncserver supports ipv6)
