x11vnc is a program that allows one to remotely view and interact with real X displays.
I wrote x11vnc because x0rfbserver was basically impossible to build on Solaris and had poor performance. The primary x0rfbserver build problems centered around esoteric C++ toolkits. x11vnc is written in plain C and uses only standard libraries. I also added a few enhancements to improve the interactive response, add esoteric features, etc.
For Unix, the VNC implementation includes a virtual X11 server Xvnc (usually launched via the vncserver command) that is not associated with a physical display, but provides a "fake" one X11 clients (xterm, mozilla, etc.) can attach to. A remote user then connects to Xvnc via the VNC client vncviewer from anywhere on the network to view and interact with the whole virtual X11 desktop.
The VNC protocol is in most cases better suited for remote connections with low bandwidth and high latency than is the X11 protocol (the exception is cached pixmap data on the viewing-end). Also, with no state maintained the viewing-end can crash, be rebooted, or relocated and the applications and desktop continue running. Not so with X11.
In a hurry? Add it to your Download Basket!
What's New in version 0.9.12
- A compile time error when using --with-system-libvncserver to point to LibVNCServer 0.9.7 was fixed.
- A bug from the forced use of Xdefs.h is worked around.
- The kdm display manager is now detected when trying not to get killed by the display manager.
- One can now specify the maximum number of displays that can be created in -create mode via X11VNC_CREATE_MAX_DISPLAYS.