x11vnc 0.9.13 2010-12-20 New in the 0.9.13 x11vnc release: Improved support for non-X11 touchscreen devices (e.g. handheld or cell phone) via Linux uinput input injection. Additional tuning parameters are added. TSLIB touchscreen calibration is supported. Tested on Qtmoko Neo Freerunner. A tool, misc/uinput.pl, is provided to diagnose uinput behavior on new devices. The env. vars. X11VNC_UINPUT_BUS and X11VNC_UINPUT_VERSION are available if leaving them unset does not work. The Linux uinput non-X11 input injection can now be bypassed: events can be directly written to the /dev/input/event devices specified by the user (direct_abs=..., etc.) A -pipeinput input injection helper script, misc/qt_tslib_inject.pl is provided as a tweakable non-builtin direct input injection method. The list of new uinput parameters for the above two features is: pressure, tslib_cal, touch_always, dragskip, btn_touch; direct_rel, direct_abs, direct_btn, direct_key. The included SSL enabled Java VNC Viewers now handle Mouse Wheel events. miscellaneous new features and changes: In -reflect mode, the libvncclient connection can now have the pixel format modified via the environment variables X11VNC_REFLECT_bitsPerSample, X11VNC_REFLECT_samplesPerPixel, and X11VNC_REFLECT_bytesPerPixel In -create mode the following environment variables are added to fine tune the behavior: FIND_DISPLAY_NO_LSOF: do not use lsof(1) to try to determine the Linux VT, FIND_DISPLAY_NO_VT_FIND: do not try to determine the Linux VT at all, X11VNC_CREATE_LC_ALL_C_OK: do not bother undoing the setting LC_ALL=C that the create_display script sets. The performance of the -create script has been improved for large installations (100's of user sessions on one machine.) In -unixpw mode, one can now Tab from login: to Password. An environment variable, X11VNC_SB_FACTOR, allows one to scale the -sb screenblank sleep time from the default 2 secs. In -rawfb mode, a bug is fixed in setting the number of bits per pixel. Documented that -grabkbd is no longer working with some/most window managers (it can prevent resizing and menu posting.) The macosx deprecated interface GetMainDevice() call is removed. Compile with -DX11VNC_MACOSX_USE_GETMAINDEVICE if needed for an old macosx version... Miscellaneous code cleanup. ----------------------------------------------------------------------------- x11vnc 0.9.12 2010-09-10 New in the 0.9.12 x11vnc release: One can now specify the maximum number of displays that can be created in -create mode via the env. var. X11VNC_CREATE_MAX_DISPLAYS The X11VNC_NO_LIMIT_SHM env. var. is added to skip any automatic shared memory reduction. The kdm display manager is now detected when trying not to get killed by the display manager. miscellaneous new features and changes: A compile error is fixed when using --with-system-libvncserver pointing to LibVNCServer 0.9.7. -nevershared -forever usage mode is documented. Old SuSE broken thread local storage is documented. x11vnc exit cases are documented. A compile bug from forced use of Xdefs.h is worked around. ----------------------------------------------------------------------------- x11vnc 0.9.11 2010-08-08 New in the 0.9.11 x11vnc release: The source tree is synchronized with the most recent libvncclient (this only affects -reflect mode.) The build is fixed for incompatibilities when using an external LibVNCServer (e.g. ./configure --with-system-libvncserver...) The SSL enabled Java VNC Viewer Makefile has been modified so that the jar files that are built are compatible back to Java 1.4. In -reflect mode cursor position updates are now handled correctly. In -create/-unixpw mode, the env. var. FD_USERPREFS may be set to a filename in the user's home directory that includes default username:options values (so the options do not need to be typed every time at the login prompt.) miscellaneous new features and changes: An option -always_inject is provided: Even if there is no displacement (dx = dy = 0) for a VNC mouse event force the pointer to the indicated x,y position anyway. New java viewer debugging and workaround applet parameters: debugKeyboard mapF5_to_atsign forbid_Ctrl_Alt You can set X11VNC_AVAHI_NAME, X11VNC_AVAHI_HOST, and/or X11VNC_AVAHI_PORT environment variables to override the default values. For example: -env X11VNC_AVAHI_NAME=wally When opening the X11 display extra XAUTHLOCALHOSTNAME settings are attempted. ----------------------------------------------------------------------------- x11vnc 0.9.10 2010-05-03 New in the 0.9.10 x11vnc release: IPv6 is now supported for all usage modes: forward and reverse connections, SSL and unencrypted, etc. The included SSL enabled Java VNC viewer applet now supports Chained SSL Certificates (x11vnc -ssl always has.) The applet autodects x11vnc and set GET=1 for faster connecting via HTTPS. A demo CGI script 'desktop.cgi' shows how to create an SSL encrypted, multi-user x11vnc web login desktop service. The user logs into a secure web site and gets his/her own virtual desktop and his browser accesses it with the SSL Java VNC Viewer applet. A serverCert Java Viewer applet parameter is provided. Use an authenticated HTTPS browser connection to set this parameter (the user could set it locally too.) The onetimekey tool has -certonly option for this scheme. The Xdummy script (use Xorg 'dummy' driver instead of Xvfb) no longer requires being run as root. miscellaneous new features and changes: In the Java viewer applet, debugCerts and debugKeyboard parameters are provided. The debugging output of the applet is more readable. Some corner-case bugs (e.g. socket exceptions) are now handled gracefully. Parameters forbid_Ctrl_Alt and mapF5_to_atsign are added. The amount of time to wait for HTTPS applet downloads to finish can be set in env. var. X11VNC_HTTPS_DOWNLOAD_WAIT_TIME. The -xkb mode is automatically enabled if there are more than 4 keysyms per key. -coe is now an alias for -connect_or_exit. The -input_eagerly option enables this LibVNCServer feature (it is like -allinput.) The "%" unix password verification tricks for the -unixpw option are now documented. They also run a command in UNIXPW_CMD. In -create (-svc, etc.) modes, a warning is printed out if Xvfb cannot be found. Xvfb '+kb' option is checked for. The -env CREATE_DISPLAY_OUTPUT=/tmp/mydebug.txt debugging option is documented. Try to preserve user's PATH if possible. In XDMCP connection mode, a test for GDM listening only on IPv6 (::1) is performed. The interface can also be specified via FD_XDMCP_IF. The example scripts connect_switch, ultravnc_repeater.pl, inet6to4 have settings to let them run reliably for long times as daemons. They also support IPv6. IPv6 notes: for some very esoteric cases (e.g. -chatwindow) IPv4 localhost may be required for local IPC. A demo transition tool 'inet6to4' is also included (can be used for other apps.) x11vnc options related to IPv6: -listen6, -6, -no6, -noipv4, -noipv6, and -connect, -proxy. Use STUNNEL_LISTEN in -stunnel mode to have it listen on a particular interface. Also STUNNEL_PROG. New remote control query options: pointer_x, pointer_y, pointer_same, pointer_root, and pointer_mask. A demo script using them misc/panner.pl is provided. Remote control change of -clip option will not create new framebuffer if the size has not changed (for panner.pl) The X11VNC_DISABLE_SSL_CLIENT_MODE env. var. can be set to disable SSL client role in reverse connections. This means the VNC viewer side must be in SSL client role. UltraVNC repeater operation can benefit from this. The SSL_INIT_TIMEOUT is increased to 1 hour if 'repeater' is detected in a reverse connect string. The X property X11VNC_TRAP_XRANDR can be set on a desktop to force x11vnc to use the -xrandr screen size change trapping code. The -sslScripts option prints out the SSL certificate management scripts. Suggest '-auth guess' and '-findauth' if X connection fails. The TightVNC sercurity type (TightVNC features enabler) now works for RFB version 3.8. RECORD scroll detection is now working with the new gtk/gdk scroll mechanism. Set X11VNC_SCROLL_MUST_EQUAL to disable. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.9.9 2009-12-21 New in the 0.9.9 x11vnc release: A new option -findauth runs the FINDDISPLAY script that applies heuristics to try to determine the correct XAUTHORITY file. The use of '-auth guess' will use the XAUTHORITY that -findauth reveals. This can be handy in with the lastest GDM where the ability to store cookies in ~/.Xauthority has been removed. If x11vnc is running as root (e.g. inetd or XDM/GDM/KDM) the FD_XDM=1 mode will be tried if the above -findauth or '-auth guess' command fails; it will find the correct XAUTHORITY for the given display (this works for XDM/GDM/KDM if the login greeter panel is up or if someone has already logged into an X session.) You can also set -env FD_XDM=1 to force it to be done on the first try. The -unixpw_system_greeter option, when used in combined unixpw and XDMCP FINDCREATEDISPLAY mode (e.g. -xdmsvc), enables the user to press Escape to jump directly to the XDM/GDM/KDM login greeter screen. This way the user avoids entering his unix password twice at X session creation time. For subseqent logins to the same session, he uses the regular x11vnc unixpw "login:" prompt. Also, the unixpw login panel now has a short help displayed if the user presses 'F1' that lists the options. The -appshare option enables simple application sharing based on the -id/-sid mechanism. Every new toplevel window that the application creates induces a new viewer window via a reverse connection. The -id/-sid and -connect options are required. Run 'x11vnc -appshare -help' for more info. Heuristics are applied to try to determine if the X display is currently in a Display Manager Greeter Login panel (e.g. GDM.) If so, x11vnc's creation of any windows and use of XFIXES are delayed. This is to try to avoid x11vnc being killed after the user logs in if the GDM KillInitClients=true is in effect. So one no longer needs to set KillInitClients=false in gdm.conf. Note that in recent GDM the KillInitClients option has been removed. Also delayed is the use of the XFIXES cursor fetching functionality; this avoids an Xorg bug that causes Xorg to crash right after the user logs in. x11vnc now tries to be more aggressive in keeping up with VNC client's framebuffer update requests. Some broken VNC clients continuously spray these requests at VNC servers (regardless of whether they have received any updates or not.) The -extra_fbur option allows one to fine tune the setting. The "-display WAIT:cmd=...", -find, -create modes now work correctly for the user-supplied login program scheme "-unixpw_cmd ...", as long as the login program supports running commands specified in the environment variable "RFB_UNIXPW_CMD_RUN" as the logged-in user. The mode "-unixpw_nis ..." has also been made more consistent. The username option "tag=..." can be used to set FD_TAG. The -stunnel option (like -ssl but uses stunnel as an external helper program) now works with the -ssl "SAVE" and "TMP" special certificate names. The -sslverify and -sslCRL options now work correctly in -stunnel mode. Single port HTTPS connections are also supported for this mode. The remote control command -R can be used to instruct x11vnc to resend its most recent copy of the Clipboard, Primary, or Cutbuffer selections: "x11vnc -R resend_clipboard", "x11vnc -R resend_primary", and "x11vnc -R resend_cutbuffer". miscellaneous new features and changes: The fonts in the GUI (-gui) can now by set via environment variables, e.g. -env X11VNC_FONT_BOLD='Helvetica -16 bold' and -env X11VNC_FONT_FIXED='Courier -14'. The value of the -timeout option is now also used for the timing out of reverse connections. The -timeout exit will occur if no client has made it to normal operating state (instead of merely trying to connect.) One can add extra URL parameters to the HTTPS (-ssl) urls via X11VNC_EXTRA_HTTPS_PARAMS without needing to edit index.vnc. E.g.: -env X11VNC_EXTRA_HTTPS_PARAMS='?GET=1' One can make the libvncserver HTTP (non-SSL) server listen on localhost: -env X11VNC_HTTP_LISTEN_LOCALHOST=1 (this way only the single-port VNC+HTTPS is exposed to the network.) Warnings are printed out at startup if $DISPLAY appears to start with "localhost:" (SSH X11 forwarding) or "hostname:" (remote X display; will fail w/o -noshm) The -solid option now uses the DBUS_SESSION_BUS_ADDRESS env. var if available. The -solid option now works in xfce. If available, the dbus_launch(1) will be used in FINDCREATEDISPLAY for gnome sessions. The bcx_xattach remote control command was added to facilitate xattach and x2x desktop cursor switching. Other new remote control commands: grab_state, ping:mystring, grablocal, resend_cutbuffer, resend_clipboard, resend_primary, keycode, keysym, fakebuttonevent, ptr, sleep, get_xprop, set_xprop, wininfo, pointer_pos, mouse_xy, noop, guess_dbus, DIRECT:query. Remote control scripting, -query_retries, and -remote_prefix were also added. In -rawfb mode the X display will not be opened at all unless the -rawfb string is prefixed with '+' or -display was specified on the cmdline. For multiple, separate x11vnc instances on the same X display, one can rename the X11VNC_REMOTE, X11VNC_TICKER, and VNC_CONNECT property names to unique ones. The -showrfbauth option prints out the VNC rfbauth password. The XDAMAGE mechanism is now automatically disabled for a period of time if a game or screensaver generates too many XDAMAGE rectangles per second. This avoids the X11 event queue from soaking up too much memory. x11vnc does not switch on server autorepeat if any keys are pressed down to work around a recent Xorg server and/or gnome bug where the key will never stop repeating. Thse list of current clients is kept more up-to-date in the tkx11vnc gui. Bugs in the gui setpass mode have been fixed. Threads stability is further improved. See under the -threads option help info about -env X11VNC_THREADS_NEW_FB_SLEEP=ms There is an experimental workaround: "-env X11VNC_WATCH_DX_DY=1" that tries to avoid problems with poorly constructed menu themes that place the initial position of the mouse cursor inside a menu item's active zone. The crypt(3) function is now declared inside the x11vnc code on all platforms (not just Linux). To disable this, set CPPFLAGS='-DDO_NOT_DECLARE_CRYPT' while configuring. (crypt is declared to avoid problems with header files.) Error reasons are printed for -storepasswd failures. Two scripts are added to x11vnc/misc: connect_switch and ultravnc_repeater.pl For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.9.8 2009-07-08 New in the 0.9.8 x11vnc release: Better reliability for the Java Viewer applet when connecting through a Web Proxy via HTTPS. A proxy hostname and port can be specified via applet parameters. Proxy Authentication via Auth-Basic is supported. More x11vnc printout in -ssl is provided to help troubleshoot this mode and other ssl connections. Stability improvements to -threads mode. Running x11vnc this way is more reliable now. Threaded operation sometimes gives better interactive response and faster updates. The threaded mode now supports multiple VNC viewers using the same VNC encoding (some only on Linux or enabled at build time.) The threaded mode can also yield a performance enhancement in the many client case (e.g. class-room broadcast.) We have tested with 30 to 50 simultaneous clients. See also -reflect. miscellaneous new features and changes: x11vnc automatically tries to work around an Xorg server bug involving infinitely repeating keys when turning off key repeating. Use -repeat if the automatic workaround fails. Also, the environment variable X11VNC_IDLE_TIMEOUT (seconds) is provided. In -reflect mode the environment variable X11VNC_REFLECT_PASSWORD is provided. The -clip mode works under -rawfb. The -nounixpw option can disable unixpw mode if an earlier option enables it (e.g. -svc). Scroll detection is skipped for windows with 'OpenOffice' in their name. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.9.7 2009-03-31 New in the 0.9.7 x11vnc release: Basic support for building with VirtualGL's TurboVNC (an enhanced TightVNC for fast LAN high framerate usage) encoding and TightVNC modifications. More info: http://www.karlrunge.com/x11vnc/faq.html#faq-turbovnc and x11vnc/misc/turbovnc/README. The -ncache_cr option has been fixed and so in -ncache mode smooth opaque window motions are now work correctly. Try it out to see how smooth it is even on a slow link. Support for Linux text consoles (virtual terminals, e.g. 1-6) is provided via, e.g., 'x11vnc -rawfb vt2' (for virtual terminal #2). This is like LinuxVNC (i.e. text only), it avoids using /dev/fb and uses /dev/vcsaN instead (the '-rawfb console' mode uses /dev/fb.) With /dev/vcsaN the text terminal is accessible even it if is not the currently active one. The -rawfb option now supports framebuffers with bits per pixel less than 8 (e.g. 4 or 1 bpp.) Reverse connections now work in Anonymous Diffie Hellman SSL/TLS mode. Reverse connections also work for VeNCrypt and ANONTLS modes. miscellaneous new features and changes: The included SSL enabled UltraVNC java viewer now has a configurable [Home] entry in the drives drop down menu. In the -create, -svc, etc. modes one can now specify a range of X displays to ignore in X11VNC_SKIP_DISPLAY. Improvements and bugfixes were made to the find_display and create_display scripts. FD_EXTRA option is provided. The '-rawfb video' option finds the video device file more carefully. The -rmflag option allows a new way to indicate to other applications that x11vnc has started. All of the java applet parameters are now documented in the classes/ssl/README file. There is now a "sendbell" remote control command. A one-time -padgeom once:WxH mode is added. Improvements to the CUPS Terminal Services helper mode. If the X display cannot be opened normally then the env. var. XAUTHLOCALHOSTNAME=localhost is tried. Bugfix for selection transfer to a now non-existent X window (Thunderbird can cause this.) Related, the env. variable LIBXCB_ALLOW_SLOPPY_LOCK is now set by default. Bugfix for -8to24 mode due to nonstandard indexed color support. The libvncserver and x11vnc autoconf/automake settings have been improved. libXrandr include file is now found on Solaris. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.9.6 2008-12-10 New in the 0.9.6 x11vnc release: x11vnc's SSL encryption is extended to support the VeNCrypt and TLS (older; vino) SSL/TLS security type extensions to VNC. Anonymous Diffie-Hellman key exchange (-ssl ANON) and Certificate Revocation List support (-sslCRL) is added to the SSL encryption mode. The Java viewer applet can now be served up through the VNC port (5900) in addition to the normal HTTP port (5800) via the -http_oneport option. Previously this only worked for SSL connections and HTTPS. The "-rfbport PROMPT" mode presents a simple gui for the user to select a port for the x11vnc service and a few other settings. This enables a menu entry for naive users that is included in x11vnc.desktop. If x11vnc is not built with the Avahi Zeroconf library an external helper program (avahi-publish or dns-sd on Mac OS X) is used instead. miscellaneous new features and changes: The default mode for '-ssl' is now the '-ssl SAVE' mode; i.e. the generated certificate is saved and reused in subsequent sessions rather than being discarded. Use '-ssl TMP' recover the old way. This change made to for it to be more likely that the VNC Viewer can save the accepted cert for future authentications. The solid background color option works on the Mac OS X console. The -reopen option enables x11vnc to try to re connect to the X display if GDM (or other display manager) kills it just after the user logs in. The -dhparams option can be used to point to your own Diffie Hellman parameters. The -setdefer option allows tuning how quickly updates will be sent. Default setting tuned. The option -zeroconf is now an alias for -avahi/-mdns. In pipeinput mode, the pipe filehandle is now closed when x11vnc exits. The -sshonly option turns off VeNCrypt and TLSVNC (vino) mod leaving only the standard SSL (i.e. vncs://) For testing, the option -rand in an alias for -rawfb rand -nopw Minor tweaks to improve CUPS Print tunneling. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.9.5 2008-10-24 New in the 0.9.5 x11vnc release: Symmetric key encryption using the RC4, AES, Blowfish, and 3DES ciphers is supported via the -enc cipher:keyfile option. The SSVNC unix viewer 1.0.20 and later supports these encryption methods. Server-side scaling can now have different scale factors along the horizontal and vertical axes. E.g. -scale 1280x1024 (same as -geometry 1280x1024) or -scale 0.8x0.75 The -chatwindow option allows a chat window to appear on the X console during UltraVNC chats (requires the SSVNC viewer package.) miscellaneous new features and changes: The HTTP Java viewer applet jar, classes/VncViewer.jar, has been updated with an improved implementation based on the code used by the classes/ssl applets. A description and instructions are now printed out when X_ShmAttach fails if one tries to attach to a remote $DISPLAY (i.e. $DISPLAY is on a different machine from the machine x11vnc is running on; this often happens with SSH X redirection, X terminal servers, etc). The -allow option now works correctly in -ssl mode. The -remap option now works on the MacOSX console. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.9.4 2008-09-17 New in the 0.9.4 x11vnc release: Reverse VNC connections (-connect and -connect_or_exit options) work in the -find and -create X session FINDCREATEDISPLAY modes. Reverse VNC connections (either normal or using SSL) can use a Web Proxy, a SOCKS proxy, the UltraVNC repeater proxy, an SSH connection, or even a CGI URL to make the outgoing connection (-proxy option). Forward connections can use the -ssh option to set up a reachable redirection. Support for the ZYWRLE encoding is added, this is the RealVNC ZRLE encoding extended to do motion video and photo regions more efficiently by way of a Wavelet based transformation. The session finding and creating modes (-find and -create) have been improved to be more reliable and also provide a new desktop types (xfce) and new service redirection options. Support for indexed colormaps (PseudoColor) with depths other than 8 is provided (depths 1 to 16 now work). Java viewer applet source code is provided in the x11vnc 0.9.4 tarball so now everything can be built from source. miscellaneous new features and changes: To unset Caps_Lock, Num_Lock and raise all keys in the X server use -clear_all, or by remote control 'x11vnc -R clear_all' The -autoport option gives more control over the server port range that probes. The -ping option can be used to help keep idle connections alive. The -finddpy and -listdpy utilities help to debug and configure the -find, -create, and -display WAIT:... modes. Some automatic detection of screen resizes are handled even if the -xrandr option is not supplied. The -advertise_truecolor option can workaround some VNC viewer incompatibilities with PseudoColor. The option '-clip xinerama0' can be used to clip to the first Xinerama sub-screen, etc. If a fast framebuffer read rate is detected the -wait and -defer parameters are reduced to 10 and 15 msec, respectively. Pasting of the selection/clipboard into remote applications (e.g. Java) is improved. Usage with dvorak keyboards is improved. The option -macuskbd is available on MacOSX to use the original US keyboard code. Via a compiler option (-DENABLE_GRABLOCAL) one can use the -grablocal n option to filter VNC client input if someone at the console has done mouse or keyboard input n secs ago. The -sleepin option can now sleep a random amount of time between min and max time delays (-sleepin min-max). For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.9.3 2007-10-04 New in the 0.9.3 x11vnc release: This release provides client-side caching to improve interactive response. Almost no VNC viewers implement caching which is why VNC is slow compared to other remote graphics protocols. The x11vnc caching will work with any VNC viewer, but they will not hide the pixmap cache region that is below the main desktop (one must adjust the window manually). The SSVNC Unix VNC viewer, however, automatically detects and hides the region. To enable caching, supply "-ncache n" to x11vnc, where the number n, e.g. 10, indicates how much memory to devote to the caching scheme. See http://www.karlrunge.com/x11vnc/#faq-client-caching For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.9.2 2007-06-18 New in the 0.9.2 x11vnc release: A compile-time bug is fixed for when the OpenSSL library is not available or --without-ssl is supplied; previously the build would fail. One can configure x11vnc via "configure --with-system-libvncserver" to use a system installed libvncserver library instead of the one bundled in the release tarball. If UltraVNC file transfer or chat is detected, then VNC clients are "pinged" more often to prevent these side channels from becoming serviced too infrequently. In -unixpw mode in the username and password dialog no text will be echoed if the first character sent is "Escape". This enables a convenience feature in SSVNC to send the username and password automatically. miscellaneous new features and changes: When building from the CVS tree --with-x11vnc must be supplied if you want x11vnc to be built. The LibVNCServer release tarball no longer contains the x11vnc source. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.9.1 2007-05-24 New in the 0.9.1 x11vnc release: A new Unix username identification scheme is provided when SSL client certificates are used to authenticate VNC viewers. The username is extracted from the 'Subject' section of the cert. The option is "-users sslpeer=" which, like "-users unixpw=" already does, will cause a switch to the Unix user. This is useful for the -find and -create options that try to find an existing X session associated with the user or create a new one. The UltraVNC Java Viewer has been modified to support SSL connections. Some bugs were also fixed and some improvements added. A patch file and a compiled jar file (UltraViewerSSL.jar and SignedUltraViewerSSL.jar in the classes/ssl directory) are provided in the x11vnc package. For the -user option groups are now handled better by using initgroups(3), or if finer control is needed one can use: "-users user1.group1,..." When SSL client certification is being used and external login programs are being used the env. var. RFB_SSL_CLIENT_CERT is set to the clients certificate. Set X11VNC_SSLPEER_CN to use the Common Name instead of the certificate email address to find the unix username. miscellaneous new features and changes: The -wait and -defer defaults were lowered from 30 to 20 milliseconds, set the values explicitly if this increases the load too much for your liking. In -create mode where a Xvfb session is started, mwm was added as a session type. setpgrp(2) is used for the spawned process if available. The XKEYBOARD extension is enabled (+kb, but it doesn't seem to always work). TrueColor is forced to be the default visual (recent Xvfb seem to choose DirectColor, this is likely a bug) One can also force creating a new Xvfb by setting the env. var. X11VNC_FINDDISPLAY_ALWAYS_FAILS (not exactly clear what this would be used for). The WAITBG env. var. enables -display WAIT:... to take place in the background. One can specify the X11VNC_SKIP_DISPLAY env. var. for a list of displays to exclude in the FINDDISPLAY action. This can also be specified via nd=... as a -unixpw login option. setsid() or setpgrp() is called for the external command spawned by the -gone option (since it may be long lived, e.g. a screen locker). The script "onetimekey" utility is provided in the classes/ssl subdirectory that allows a (very long) string representing a Client SSL certificate to be provided by the authenticating client, or via https cgi script (e.g. after a web login). Some bugs were fixed in the libvncserver implementation of UltraVNC file transfer. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.9 2007-04-18 New in the 0.9 x11vnc release: VNC Service advertising via mDNS / ZeroConf / BonJour with the Avahi client library. Enable via "-avahi". Implementations of UltraVNC's TextChat, SingleWindow, and ServerInput extensions (requires ultravnc viewer or ssvnc Unix viewer). They toggle the selection of a single window (-id), and disable (friendly) user input and viewing (monitor blank) at the VNC server. Short aliases "-find", "-create", "-svc", and "-xdmsvc" for commonly used FINDCREATEDISPLAY usage modes (to find the user's display or create one, etc). Reverse VNC connections (viewer listening) now work in SSL (-ssl) mode. miscellaneous new features and changes: New options to control the Monitor power state and keyboard/mouse grabbing: -forcedpms, -clientdpms, -noserverdpms, and -grabalways. A simple way to emulate inetd(8) to some degree via the "-loopbg" option. Monitor the accuracy of XDAMAGE and apply "-noxdamage" if it is not working well. OpenGL applications like like beryl and MythTv have been shown to make XDAMAGE not work properly. For Java SSL connections involving a router/firewall port redirection, an option -httpsredir to spare the user from needing to include PORT=NNN in the browser URL. A -sleepin n option to delay startup by n seconds to let redirs and listening clients to get started. TightVNC file transfer is now off by default; enable via -tightfilexfer For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.8.4 2007-02-01 New in the 0.8.4 x11vnc release: Native Mac OS X Aqua/Quartz support. It exports the full display (no X11 server, etc). This provides an alternative to OSXvnc; some activities are faster (and see the client-side caching feature -ncache in the 0.8.5 development version for more speedups). x11vnc can act as a VNC reflector/repeater using the "-reflect host:N" option. This is useful for large classroom broadcasting or demos. You set up a number of reflectors to spread the network and CPU load around for better response. A new login mode: "-display WAIT:cmd=FINDCREATEDISPLAY -unixpw ..." that will Create a new X session (Xvfb, Xdummy, or Xorg) for the user if it cannot find the user's X session display via the FINDDISPLAY method. It will be re-found upon reconnection. This enables a simple "terminal services" mode based on Unix username and password and where the user does not have to memorize their VNC display number, etc. miscellaneous new features and changes: Option -nodpms to avoid problems with programs like KDE's kdesktop_lock that keep restarting the screen saver every few seconds even with active VNC clients connected. The "-N" option couples the VNC Display number to the X Display number. E.g. if your X DISPLAY is :2 then the VNC display will be :2 (i.e. using port 5902). If that port is taken x11vnc will exit. Wireframe copyrect detection for local user activity (e.g. someone sitting at the physical display moving windows). You can disable this with the -nowireframelocal option. To automatically fix the common mouse motion problem on XINERAMA (multi-headed) displays, the -xwarppointer option is enabled by default when XINERAMA is active. You can disable this with the -noxwarppointer option. By default in -reflect mode -shared is implied (it makes sense), use -noshared after the -reflect option to disable this. The -prog option lets you specify the full path (argv[0]) to the program, in case it is spawned by inetd/tcpd and cannot determine its path. The path is needed for the -http option to guess the http classes directory. Usually not needed, but there are many options for tuning the native Mac OS X mode: -macnodim -macnosleep -macnosaver -macnowait -macwheel -macnoswap -macnoresize -maciconanim -macmenu. An option -debug_xdamage has been added for debugging and profiling. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.8.3 2006-11-13 New in the 0.8.3 x11vnc release: The -ssl option provides SSL encryption and authentication natively via the www.openssl.org library. One can use from a simple self-signed certificate server certificate up to full CA and client certificate authentication schemes. The -sslverify option allows for authenticating VNC clients via their certificates in either -ssl or -stunnel modes. Certificate creation and management tools are provide in the -sslGenCert, -sslGenCA, and related options. An SSL enabled Java applet VNC Viewer applet is provided in classes/ssl/VncViewer.jar. The applet may also be loaded into the web browser via HTTPS, i.e one can use the VNC port, e.g. https://host:5900/ See our "Enhanced TightVNC Viewer" project, for native SSL enabled viewers. The -unixpw option supports Unix username and password authentication. The -ssl or -localhost and -stunnel options (or detection of an SSH tunnel) are enforced in this mode to prevent password sniffing. Coupling -unixpw with -display WAIT:cmd=FINDDISPLAY provides a way to allow a user to login with their UNIX password and have their display connected to automatically. Hooks are provided in the -unixpw_cmd and "-passwdfile cmd:,custom:..." options to allow you to supply your own authentication and password lookup programs (e.g. LDAP). The "-ultrafilexfer" alias is provided and improved UltraVNC filetransfer rates have been achieved. The -rotate option enables you to rotate or reflect the screen before exporting via VNC. This is intended for use on handhelds and other devices where the rotation orientation is not "natural". miscellaneous new features and changes: Similar to -ssl, the -stunnel option starts up a SSL tunnel server stunnel (that must be installed separately on the system) to allow only encrypted SSL connections from the network. Option -sslnofail to exit immediately if there are any SSL connection failures. A simpler variant of -unixpw is the -unixpw_nis option that works in environments where the encrypted passwords are readable, e.g. NIS. x11vnc can be configured and built to not depend on X11 libraries "./configure --without-x" for -rawfb only operation (e.g. embedded linux console devices). Add -cursor_drag to change the mouse cursor during Drag and Drop, etc. Under the "-connect_or_exit host" option x11vnc will exit immediately unless the reverse connection to host succeeds. The "-rfbport 0" option disables TCP listening for connections (useful for this mode). The "-rawfb rand" and "-rawfb none" options are useful for testing automation scripts, etc., without requiring a full desktop. Reduced spewing of information at startup, use "-verbose" (also "-v") to turn it back on for debugging. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.8.2 2006-07-13 New in the 0.8.2 x11vnc release: Support for full mouse and keyboard input into the Linux console framebuffer /dev/fb0 in -rawfb mode (i.e. non-X11) by using the Linux "uinput" driver. This enables, for example, viewing and interacting with Qt-embedded/Qtopia-Core apps on Linux-based handhelds, etc. Options: -rawfb cons, -pipeinput UINPUT More info: http://www.karlrunge.com/x11vnc/#faq-qt-embedded Extension of the display option: -display WAIT: to delay x11vnc's opening of the X display until a VNC client connects (useful built-in: -display WAIT:cmd=FINDDISPLAY, to find a user's display and Xauthority data). Options -grabkbd and -grabptr have x11vnc try to grab the X display when VNC clients are connected to prevent a (non-malicious) user at the physical X display from performing keyboard or mouse input. E.g. remote help-desk support. miscellaneous new features and changes: -allowedcmds option to fine-tune which external commands may be run by x11vnc, rather than shutting them all off with -nocmds. -env VAR=VALUE convenience option to avoid the need of setting environment variables before starting x11vnc. -allinput option to enable libvncserver handleEventsEagerly parameter (not clear it yields an improvement). -rawfb rand fun/testing option using /dev/urandom as a fb. -license, -copying, -warranty option. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.8.1 2006-06-03 New in the 0.8.1 x11vnc release: Improved support for webcams and tv tuners with video4linux /dev/video: see the "-rawfb video" and "-pipeinput VID" options. (the latter gives a simple keyboard control of a tv tuner; see also the -freqtab option for stations). FBPM support for hardware that provides framebuffer power management (it needs to be disabled when vnc clients are connected). The -usepw option will require x11vnc to use a password of some sort or otherwise exit immediately. Put it in your ~/.x11vncrc so you don't forget. The command "x11vnc -storepasswd" will prompt for a password without echoing and save it in ~/.vnc/passwd The X CLIPBOARD selection is managed in addition to the X PRIMARY selection. miscellaneous new features and changes: Convenience option for accessing the Linux console: -rawfb cons etc. (requires /dev/fb0 to be working). clipboard/cut-text input can now be managed on a per-client basis. -capslock and -skip_lockkeys options can help make CapsLock work better. The Xdummy wrapper script is included in the source tree. A mode "-gone popup" as been added. -24to32 option to avoid 24bpp problems. -xinerama is on by default. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.8 2006-02-13 New in the 0.8 x11vnc release: TightVNC file transfer support is enabled via the extension to LibVNCServer added by Rohit Kumar. The -passwdfile option has been enhanced to handle any number of full-access and view only passwords in an easy to maintain format, and additional features. The -8to24 option enables multi-depth viewing on systems that do not support -overlay. The 8bpp regions are transformed to depth 24 TrueColor before exporting via VNC. The x11vnc source code has gone through a major reorganization. The build has been enhanced and many bugs fixed. miscellaneous new features and changes: -afteraccept option is like -accept however it enables running a user supplied command after client authentication has taken place. The RFB_* environment variables have been extended. -loop option will run x11vnc in an outer loop restarting each time (useful for situations where the X server restarts often). -slow_fb allows for slow polling for special purpose applications (e.g. video). -blackout noptr,WxH+X+Y,... will prevent the pointer from going into a blacked out region. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help | less ----------------------------------------------------------------------------- x11vnc 0.7.2 2005-07-11 New in the 0.7.2 x11vnc release: The X DAMAGE extension is supported to dramatically reduce resource consumption when idle: often 20 times less; and to pick up small changed regions more quickly. DAMAGE sends events indicating damaged (modified) screen rectangles to x11vnc. These are used as hints to focus the polling and also if the rectangle is below a size threshold it is accepted unconditionally (i.e. dragged in from the framebuffer). Tuning is possible with -xd_area. DAMAGE is available on recent Xorg servers and Solaris 10. -wireframe: Heuristics are used to guess when a window is being moved or resized and during this period show only a moving wireframe outline. Just like on video cards in the 90's, remember? This is to avoid window "lurching" when you move or resize one opaquely. Also, -wirecopyrect applies the VNC CopyRect encoding for the moved window. Both are on by default, use -nowireframe or -nowirecopyrect to disable (aka -nowf and -nowcr). -scrollcopyrect: Sniff the X11 protocol via the RECORD extension and to try to detect window scrolls (e.g. via scrollbar, Up/Down arrow, etc). When detected, the VNC CopyRect encoding is applied to the scrolled regions for a speedup. The contents of the scrolling window may only be approximate while it is being scrolled: e.g. tearing, bunching-up, etc. The heuristics will also miss scrolls by certain toolkits or applications, so those will still happen the slow way. To disable use -noscrollcopyrect (aka -noscr). Tuning is also available, see the -help entry. -listen: Makes x11vnc listen only on a single network interface. -localhost now implies '-listen localhost'. -rawfb: Instead of polling an X server framebuffer, poll a raw one (i.e. a mapped file or a shm segment). E.g. for the linux framebuffer device: -rawfb map:/dev/fb0@1024x768x32 This is a bit out of x11vnc's scope but may have some interesting applications. Perhaps /dev/video? -pipeinput: Pipe the VNC user's pointer and keyboard input events to a helper program you provide. Two examples are in misc/vcinject.pl and misc/slide.pl. Primarily intended for use with -rawfb to somehow kludge-up user input, but it can also be used by itself. Improvements for the magnification scaling case (e.g. -scale 2) for use in low vision applications. It is faster and no-blending :nb now works correctly. More safety measures are taken WRT remote-control in the default mode. See the -unsafe, -safer, -privremote, and -nocmds options. The GUI has been improved, and running with the options "-gui icon" presents a small, simple gui instead of the full blown one, and "-gui tray" attempts to embed the small icon in the system tray. Use "-gui tray=setpass" to prompt for session password creation at startup. miscellaneous new features and changes: -xkb: a simple test is performed at startup to see if it is a good idea to apply -xkb mode for the current keyboard keymapping (i.e. if keysyms like !, @, [ are otherwise unavailable). To disable use -noxkb. ISO_Level3_Shift vs. Mode_switch: Set things up in -xkb mode to prefer ISO_Level3_Shift over Mode_switch for modtweaking. No override; let me know if this causes problems. -add_keysyms is now the default, use -noadd_keysyms to disable. the added keysyms are periodically deleted. -remap DEAD: shorthand for mapping many "dead" keysyms to their "un-dead" counterparts, e.g. grave -> dead_grave. For some VNC viewers that are unable to send the dead keysym. -skip_dups: skip impossible duplicate key events sent by some VNC viewers. -noskip_dups to disable (currently off by default). -sloppy_keys: try to handle sloppy keyboarding (esp. between different language keyboards) where, say, Shift is released before the key. -norepeat N: ping-pong N times if something else on the desktop restores key autorepeating (e.g. session startup). Default 2. Also, If the VNC client is idle for 5 min. autorepeat is restored. -wait_ui: If there is very recent user input, cut the -wait sleep time by the specified factor (default 2.0). -nowait_bog: Detection is now in place to watch for polling "bogging down" (e.g. lots of scrolling text from a long build in a terminal) and to sleep more. Use -nowait_bog to disable. -flag: write PORT=5900 to a flag file to aid wrapper scripts. -http: try to guess what the -httpdir should be and if found enable http listening. -clip WxH+X+Y: only show the specified rectangle not the entire screen. cursors are now scaled by default under -scale, use -scale_cursor to modify this behavior. -arrow n: select from some different arrow cursors (ignored under XFIXES cursor grabbing mode). -nolookup: disable DNS lookups for broken environments. -seldir: fine tune and debug selection transfer. build-time customization macros: SHARED, FOREVER, NOREPEAT, REMOTE_CONTROL, SMALL_FOOTPRINT, default passwd, etc. see the top of the x11vnc.c for more info. -xtrap: DEC-XTRAP extension is supported for legacy systems with insufficient XTEST extension (X11R5). -shiftcmap: for legacy systems with non-standard colormap values. -noxrecord: do not use the RECORD extension for anything (currently only -scrollcopyrect and grabserver watching use it). -grab_buster: fork a helper thread to watch for XGrabServer deadlock in x11vnc and break the grab. Under -scrollcopyrect there is a small window where x11vnc is vulnerable to this deadlock. -dbg: A "crash shell" with tips on debugging will be presented instead of exiting when a fatal error occurs. -fixscreen: periodically refresh the screen to get rid of painting errors, etc. induced by new features, jpeg compression, etc. -speeds: Tell x11vnc what the network and fb speeds are instead of having it try to measure them. (these speeds are used by various features, such as -wireframe, -scrollcopyrect, etc.). -wmdt: set the window manager or desktop to spare x11vnc from guessing. -readtimeout: set libvncserver's read timeout parameter, useful on very slow links that take more than 20secs to paint the whole screen. -nopw: If you use x11vnc without a password it now prints out a scary warning message. Use -nopw to disable the warning. plugged X event leaks; periodically purge any remaining buildup. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help ----------------------------------------------------------------------------- x11vnc 0.7.1 2005-02-24 New in the 0.7.1 x11vnc release: Improved algorithm for approximating XFIXES cursors with transparency (alpha channel). No more ugly black fuzz around translucent cursors. Tuning parameters -alpha* if it is still not right. Added mechanisms to handle XFIXES cursors with transparency exactly (i.e. blend in the background). Works by default under -nocursorshape updates, and also works under limited circumstances for cursorshape updates if the VNC viewer is patched (TightVNC viewer patch provided). -solid: to improve performance switch the background to a solid color when clients are connected. Works on GNOME, KDE, CDE, and classic X. -input: allows fine-tuning the type of allowed user input (Keystroke, Mouse-motion, Button-click). Useful for certain applications of x11vnc, e.g. demos. Also per-client settings via -R input:xyz.. -users: enables switching to different users if started as root. Please read the description for details. -gui ez: less daunting GUI with fewer options via '-gui ez' or "Misc -> simple-gui" once started. miscellaneous new features and changes: -nap is now the default, use -nonap to disable. -snapfb: snapshot h/w fb to RAM periodically, not clear how useful... -timeout n: for use in certain applications, exit if no client connects after n seconds. -oa and -logappend for appending to logfiles. -opts will just show the options w/o the long -help descriptions. if you forget to set -display, it will beep and try :0 after a bit. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help ----------------------------------------------------------------------------- x11vnc 0.7 2004-12-23 New in the 0.7 x11vnc release: Support for the XFIXES X extension to show the exact mouse cursor shape. Requires libXfixes. For approximate cursor shapes also see: -cursor (none|arrow|X|some|most) -remote/-R: remote-control support: nearly every setting can be changed dynamically without restarting x11vnc. For example, "x11vnc -R shared", and "x11vnc -R scale:3/4" will connect to a running x11vnc server to make it shared and re-scaled, respectively. -gui: launches a simple tcl/tk GUI based on the remote control function. Requires the tcl/tk "wish" program. -overlay: support for overlay/multi-depth (e.g. 24+8) visuals on Solaris (SUN_OVL extension) and IRIX. -xrandr: support for the XRANDR (X Resize, Rotate and Reflection) extension: if the screen changes size or rotates x11vnc creates a new framebuffer to match it. Useful to have a VNC Viewer that supports NewFBSize extension. (also -padgeom) -pointer_mode: Experimental pointer input handling schemes, e.g.: "-pointer_mode 3" (similar to -nodragging) man page x11vnc.1 and README files created. miscellaneous new features and changes: -sb: set screen blank idle timeout -nocursorshape: disable cursor shape VNC extension. RFB_MODE = "accept" or "gone" passed to -accept/-gone commands. -vncconnect is now the default. -norepeat is now the default. "-id pick" to pick a window via xwininfo for the -id option. -sid option: like -id but crops root window instead. Related to remote-control: -query, -noremote, -sync, -deny_all, -safer, -unsafe. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help ----------------------------------------------------------------------------- x11vnc 0.6.2 2004-08-02 New in the 0.6.2 x11vnc release: -scale option for server side scaling (e.g. -scale 2/3). -storepasswd option to create VNC password files. ~/.x11vncrc simple config file support. -cursorpos now the default (send cursor position updates to clients that understand them, disable with -nocursorpos) more connection info sent to the -accept and -gone commands. new keyboard related features: -modtweak is now the default (it automatically adjusts the modifier keys state to send a Keysym properly, disable -nomodtweak) this works around "ghost" keys like "< >" in XFree86. -xkb option to use XKEYBOARD extension for modtweak-ing to further improve the accuracy of sending Keysyms between different language keyboards. -skip_keycodes and -add_keysyms options to fine tune stubborn keyboard differences. -norepeat option to turn off X server key autorepeat when clients are connected (works around the repeated characters problem) -clear_mods and -clear_keys to send key release events at startup and exit. removed options: -hints/-nohints: we now always use hints. For more information: http://www.karlrunge.com/x11vnc/ http://www.karlrunge.com/x11vnc/x11vnc_opts.html x11vnc -help -----------------------------------------------------------------------------