summaryrefslogtreecommitdiffstats
path: root/x11vnc/x11vnc.1
diff options
context:
space:
mode:
Diffstat (limited to 'x11vnc/x11vnc.1')
-rw-r--r--x11vnc/x11vnc.1661
1 files changed, 661 insertions, 0 deletions
diff --git a/x11vnc/x11vnc.1 b/x11vnc/x11vnc.1
new file mode 100644
index 0000000..f88ae22
--- /dev/null
+++ b/x11vnc/x11vnc.1
@@ -0,0 +1,661 @@
+.\" This file was automatically generated from x11vnc -help output.
+.TH X11VNC "1" "August 2004" "x11vnc " "User Commands"
+.SH NAME
+x11vnc - allow VNC connections to real X11 displays
+ version: 0.6.2, lastmod: 2004-07-31
+.SH SYNOPSIS
+.B x11vnc
+[OPTION]...
+.SH DESCRIPTION
+.PP
+Typical usage is:
+.IP
+Run this command in a shell on the remote machine "far-host"
+with X session you wish to view:
+.IP
+x11vnc -display :0
+.IP
+Then run this in another window on the machine you are sitting at:
+.IP
+vncviewer far-host:0
+.PP
+Once x11vnc establishes connections with the X11 server and starts
+listening as a VNC server it will print out a string: PORT=XXXX where
+XXXX is typically 5900 (the default VNC port). One would next run something
+like this on the local machine: "vncviewer host:N" where N is XXXX - 5900,
+i.e. usually "vncviewer host:0"
+.PP
+By default x11vnc will not allow the screen to be shared and it will
+exit as soon as a client disconnects. See \fB-shared\fR and \fB-forever\fR below
+to override these protections.
+.PP
+For additional info see: http://www.karlrunge.com/x11vnc/
+and http://www.karlrunge.com/x11vnc/#faq
+.PP
+Rudimentary config file support: if the file $HOME/.x11vncrc exists then each
+line in it is treated as a single command line option. Disable with \fB-norc.\fR
+For each option name, the leading character "-" is not required. E.g. a
+line that is either "nap" or "-nap" may be used and are equivalent.
+Likewise "wait 100" or "-wait 100" are acceptable and equivalent lines.
+The "#" character comments out to the end of the line in the usual way.
+Leading and trailing whitespace is trimmed off. Lines may be continued with
+a "\\" as the last character of a line (it becomes a space character).
+.PP
+.SH OPTIONS
+
+.PP
+\fB-display\fR \fIdisp\fR
+.IP
+X11 server display to connect to, usually :0. The X
+server process must be running on same machine and
+support MIT-SHM. Equivalent to setting the DISPLAY
+environment variable to \fIdisp\fR.
+.PP
+\fB-auth\fR \fIfile\fR
+.IP
+Set the X authority file to be \fIfile\fR, equivalent to
+setting the XAUTHORITY environment varirable to \fIfile\fR
+before startup. See
+.IR Xsecurity (7)
+,
+.IR xauth (1)
+man pages.
+.PP
+\fB-id\fR \fIwindowid\fR
+.IP
+Show the window corresponding to \fIwindowid\fR not the
+entire display. Warning: bugs! new toplevels missed!...
+.PP
+\fB-sid\fR \fIwindowid\fR
+.IP
+As \fB-id,\fR but instead of using the window directly it
+shifts a root view to it: shows saveUnders menus, etc.
+.PP
+\fB-flashcmap\fR
+.IP
+In 8bpp indexed color, let the installed colormap flash
+as the pointer moves from window to window (slow).
+.PP
+\fB-notruecolor\fR
+.IP
+Force 8bpp indexed color even if it looks like TrueColor.
+.PP
+\fB-visual\fR \fIn\fR
+.IP
+Experimental option: probably does not do what you
+think. It simply *forces* the visual used for the
+framebuffer; this may be a bad thing... It is useful for
+testing and for some workarounds. n may be a decimal
+number, or 0x hex. Run
+.IR xdpyinfo (1)
+for the values.
+One may also use "TrueColor", etc. see <X11/X.h>
+for a list. If the string ends in ":m" for better
+or for worse the visual depth is forced to be m.
+.PP
+\fB-scale\fR \fIfraction\fR
+.IP
+Scale the framebuffer by factor \fIfraction\fR. Values
+less than 1 shrink the fb. Note: image may not be sharp
+and response may be slower. If \fIfraction\fR contains
+a decimal point "." it is taken as a floating point
+number, alternatively the notation "m/n" may be used
+to denote fractions, e.g. \fB-scale\fR 2/3.
+.IP
+Scaling Options: can be added after \fIfraction\fR via
+":", to supply multiple ":" options use commas.
+If you just want a quick, rough scaling without
+blending, append ":nb" to \fIfraction\fR (e.g. \fB-scale\fR
+1/3:nb). For compatibility with vncviewers the scaled
+width is adjusted to be a multiple of 4, to disable
+this use ":n4". More esoteric options: ":in" use
+interpolation scheme even when shrinking, ":pad",
+pad scaled width and height to be multiples of scaling
+denominator (e.g. 3 for 2/3).
+.PP
+\fB-viewonly\fR
+.IP
+All VNC clients can only watch (default off).
+.PP
+\fB-shared\fR
+.IP
+VNC display is shared (default off).
+.PP
+\fB-once\fR
+.IP
+Exit after the first successfully connected viewer
+disconnects, opposite of \fB-forever.\fR This is the Default.
+.PP
+\fB-forever\fR
+.IP
+Keep listening for more connections rather than exiting
+as soon as the first client(s) disconnect. Same as \fB-many\fR
+.PP
+\fB-connect\fR \fIstring\fR
+.IP
+For use with "vncviewer -listen" reverse connections.
+If \fIstring\fR has the form "host" or "host:port"
+the connection is made once at startup. Use commas
+for a list of host's and host:port's. If \fIstring\fR
+contains "/" it is instead interpreted as a file to
+periodically check for new hosts. The first line is
+read and then the file is truncated.
+.PP
+\fB-vncconnect\fR
+.IP
+Monitor the VNC_CONNECT X property set by the standard
+VNC program
+.IR vncconnect (1)
+. When the property is set
+to host or host:port establish a reverse connection.
+Using
+.IR xprop (1)
+instead of vncconnect may work, see FAQ.
+.PP
+\fB-inetd\fR
+.IP
+Launched by
+.IR inetd (1)
+: stdio instead of listening socket.
+Note: if you are not redirecting stderr to a log file
+(via shell 2> or \fB-o\fR option) you must also specify the
+\fB-q\fR option.
+.PP
+\fB-allow\fR \fIaddr1[,addr2..]\fR
+.IP
+Only allow client connections from IP addresses matching
+the comma separated list of numerical addresses.
+Can be a prefix, e.g. "192.168.100." to match a
+simple subnet, for more control build libvncserver
+with libwrap support. If the list contains a "/"
+it instead is a interpreted as a file containing
+addresses or prefixes that is re-read each time a new
+client connects. Lines can be commented out with the
+"#" character in the usual way.
+.PP
+\fB-localhost\fR
+.IP
+Same as \fB-allow\fR 127.0.0.1
+.PP
+\fB-viewpasswd\fR \fIstring\fR
+.IP
+Supply a 2nd password for view-only logins. The \fB-passwd\fR
+(full-access) password must also be supplied.
+.PP
+\fB-passwdfile\fR \fIfilename\fR
+.IP
+Specify libvncserver \fB-passwd\fR via the first line of
+the file \fIfilename\fR instead of via command line.
+If a second non blank line exists in the file it is
+taken as a view-only password (i.e. \fB-viewpasswd)\fR Note:
+this is a simple plaintext passwd, see also \fB-rfbauth\fR
+and \fB-storepasswd\fR below.
+.PP
+\fB-storepasswd\fR \fIpass\fR \fIfile\fR
+.IP
+Store password \fIpass\fR as the VNC password in the
+file \fIfile\fR. Once the password is stored the
+program exits. Use the password via "-rfbauth file"
+.PP
+\fB-accept\fR \fIstring\fR
+.IP
+Run a command (possibly to prompt the user at the
+X11 display) to decide whether an incoming client
+should be allowed to connect or not. \fIstring\fR is
+an external command run via
+.IR system (3)
+or some special
+cases described below. Be sure to quote \fIstring\fR
+if it contains spaces, etc. If the external command
+returns 0 the client is accepted, otherwise the client
+is rejected. See below for an extension to accept a
+client view-only.
+.IP
+Environment: The RFB_CLIENT_IP environment variable will
+be set to the incoming client IP number and the port
+in RFB_CLIENT_PORT (or -1 if unavailable). Similarly,
+RFB_SERVER_IP and RFB_SERVER_PORT (the x11vnc side
+of the connection), are set to allow identification
+of the tcp virtual circuit. The x11vnc process
+id will be in RFB_X11VNC_PID, a client id number in
+RFB_CLIENT_ID, and the number of other connected clients
+in RFB_CLIENT_COUNT.
+.IP
+If \fIstring\fR is "popup" then a builtin popup window
+is used. The popup will time out after 120 seconds,
+use "popup:N" to modify the timeout to N seconds
+(use 0 for no timeout)
+.IP
+If \fIstring\fR is "xmessage" then an
+.IR xmessage (1)
+invocation is used for the command.
+.IP
+Both "popup" and "xmessage" will present an option
+for accepting the client "View-Only" (the client
+can only watch). This option will not be presented if
+\fB-viewonly\fR has been specified, in which case the entire
+display is view only.
+.IP
+If the user supplied command is prefixed with something
+like "yes:0,no:*,view:3 mycommand ..." then this
+associates the numerical command return code with
+the actions: accept, reject, and accept-view-only,
+respectively. Use "*" instead of a number to indicate
+the default action (in case the command returns an
+unexpected value). E.g. "no:*" is a good choice.
+.IP
+Note that x11vnc blocks while the external command or
+or popup is running (other clients may see no updates
+during this period).
+.IP
+More \fB-accept\fR tricks: use "popupmouse" to only allow
+mouse clicks in the builtin popup to be recognized.
+Similarly use "popupkey" to only recognize keystroke
+responses. All 3 of the popup keywords can be followed
+by +N+M to supply a position for the popup window.
+The default is to center the popup window.
+.PP
+\fB-gone\fR \fIstring\fR
+.IP
+As \fB-accept,\fR except to run a user supplied command when
+a client goes away (disconnects). Unlike \fB-accept,\fR
+the command return code is not interpreted by x11vnc.
+.PP
+\fB-noshm\fR
+.IP
+Do not use the MIT-SHM extension for the polling.
+Remote displays can be polled this way: be careful this
+can use large amounts of network bandwidth. This is
+also of use if the local machine has a limited number
+of shm segments and \fB-onetile\fR is not sufficient.
+.PP
+\fB-flipbyteorder\fR
+.IP
+Sometimes needed if remotely polled host has different
+endianness. Ignored unless \fB-noshm\fR is set.
+.PP
+\fB-onetile\fR
+.IP
+Do not use the new copy_tiles() framebuffer mechanism,
+just use 1 shm tile for polling. Same as \fB-old_copytile.\fR
+Limits shm segments used to 3.
+.PP
+\fB-blackout\fR \fIstring\fR
+.IP
+Black out rectangles on the screen. \fIstring\fR is a
+comma separated list of WxH+X+Y type geometries for
+each rectangle.
+.PP
+\fB-xinerama\fR
+.IP
+If your screen is composed of multiple monitors
+glued together via XINERAMA, and that screen is
+non-rectangular this option will try to guess the areas
+to black out (if your system has libXinerama).
+.PP
+\fB-o\fR \fIlogfile\fR
+.IP
+Write stderr messages to file \fIlogfile\fR instead of
+to the terminal. Same as \fB-logfile\fR "file".
+.PP
+\fB-rc\fR \fIfilename\fR
+.IP
+Use \fIfilename\fR instead of $HOME/.x11vncrc for rc file.
+.PP
+\fB-norc\fR
+.IP
+Do not process any .x11vncrc file for options.
+.PP
+\fB-h,\fR \fB-help\fR
+.IP
+Print this help text.
+.PP
+\fB-V,\fR \fB-version\fR
+.IP
+Print program version (last modification date).
+.PP
+\fB-q\fR
+.IP
+Be quiet by printing less informational output to
+stderr. Same as \fB-quiet.\fR
+.PP
+\fB-bg\fR
+.IP
+Go into the background after screen setup. Messages to
+stderr are lost unless \fB-o\fR logfile is used. Something
+like this could be useful in a script:
+.IP
+port=`ssh $host "x11vnc -display :0 -bg" | grep PORT`
+.IP
+port=`echo "$port" | sed -e 's/PORT=//'`
+.IP
+port=`expr $port - 5900`
+.IP
+vncviewer $host:$port
+.PP
+\fB-modtweak,\fR \fB-nomodtweak\fR
+.IP
+Option \fB-modtweak\fR automatically tries to adjust the AltGr
+and Shift modifiers for differing language keyboards
+between client and host. Otherwise, only a single key
+press/release of a Keycode is simulated (i.e. ignoring
+the state of the modifiers: this usually works for
+identical keyboards). Also useful in resolving cases
+where a Keysym is bound to multiple keys (e.g. "<" + ">"
+and "," + "<" keys). Default: \fB-modtweak\fR
+.PP
+\fB-xkb\fR
+.IP
+When in modtweak mode, use the XKEYBOARD extension
+(if it exists) to do the modifier tweaking.
+.PP
+\fB-skip_keycodes\fR \fIstring\fR
+.IP
+Skip keycodes not on your keyboard but your X server
+thinks exist. Currently only applies to \fB-xkb\fR mode.
+\fIstring\fR is a comma separated list of decimal
+keycodes. Use this option to help x11vnc in the reverse
+problem it tries to solve: Keysym -> Keycode(s) when
+ambiguities exist. E.g. \fB-skip_keycodes\fR 94,114
+.PP
+\fB-add_keysyms\fR
+.IP
+If a Keysym is received from a VNC viewer and
+that Keysym does not exist in the X server, then
+add the Keysym to the X server's keyboard mapping.
+Added Keysyms will be removed when exiting.
+.PP
+\fB-clear_mods\fR
+.IP
+At startup and exit clear the modifier keys by sending
+KeyRelease for each one. The Lock modifiers are skipped.
+Used to clear the state if the display was accidentally
+left with any pressed down.
+.PP
+\fB-clear_keys\fR
+.IP
+As \fB-clear_mods,\fR except try to release any pressed key.
+Note that this option and \fB-clear_mods\fR can interfere
+with a person typing at the physical keyboard.
+.PP
+\fB-remap\fR \fIstring\fR
+.IP
+Read Keysym remappings from file named \fIstring\fR.
+Format is one pair of Keysyms per line (can be name
+or hex value) separated by a space. If no file named
+\fIstring\fR exists, it is instead interpreted as this
+form: key1-key2,key3-key4,... See <X11/keysymdef.h>
+header file for a list of Keysym names, or use
+.IR xev (1)
+. To map a key to a button click, use the
+fake Keysyms "Button1", ..., etc.
+E.g. \fB-remap\fR Super_R-Button2
+.PP
+\fB-norepeat,\fR \fB-repeat\fR
+.IP
+Option \fB-norepeat\fR disables X server key auto repeat
+when VNC clients are connected. This works around a
+repeating keystrokes bug (triggered by long processing
+delays between key down and key up client events:
+either from large screen changes or high latency).
+Note: your VNC viewer side will likely do autorepeating,
+so this is no loss unless someone is simultaneously at
+the real X display. Default: \fB-repeat\fR
+.PP
+\fB-nofb\fR
+.IP
+Ignore video framebuffer: only process keyboard and
+pointer. Intended for use with Win2VNC and x2vnc
+dual-monitor setups.
+.PP
+\fB-nobell\fR
+.IP
+Do not watch for XBell events. (no beeps will be heard)
+Note: XBell monitoring requires the XKEYBOARD extension.
+.PP
+\fB-nosel\fR
+.IP
+Do not manage exchange of X selection/cutbuffer between
+VNC viewers and the X server.
+.PP
+\fB-noprimary\fR
+.IP
+Do not poll the PRIMARY selection for changes to send
+back to clients. (PRIMARY is still set on received
+changes, however).
+.PP
+\fB-nocursor\fR
+.IP
+Do not have the VNC viewer show a local cursor.
+.PP
+\fB-mouse\fR
+.IP
+Draw a 2nd cursor at the current X pointer position.
+.PP
+\fB-mouseX\fR
+.IP
+As \fB-mouse,\fR but also draw an "X" when pointer is on
+root background.
+.PP
+\fB-X\fR
+.IP
+Shorthand for \fB-mouseX\fR \fB-nocursor.\fR
+.PP
+\fB-xwarppointer\fR
+.IP
+Move the pointer with XWarpPointer() instead of XTEST
+(try as a workaround if pointer behaves poorly, e.g.
+on touchscreens or other non-standard setups).
+.PP
+\fB-cursorpos,\fR \fB-nocursorpos\fR
+.IP
+Option \fB-cursorpos\fR enables sending the X cursor position
+back to all vnc clients that support the TightVNC
+CursorPosUpdates extension. Default: \fB-cursorpos\fR
+.PP
+\fB-buttonmap\fR \fIstring\fR
+.IP
+String to remap mouse buttons. Format: IJK-LMN, this
+maps buttons I -> L, etc., e.g. \fB-buttonmap\fR 13-31
+.IP
+Button presses can also be mapped to keystrokes: replace
+a button digit on the right of the dash with :<sym>:
+or :<sym1>+<sym2>: etc. for multiple keys. For example,
+if the viewing machine has a mouse-wheel (buttons 4 5)
+but the x11vnc side does not, these will do scrolls:
+.IP
+\fB-buttonmap\fR 12345-123:Prior::Next:
+.IP
+\fB-buttonmap\fR 12345-123:Up+Up+Up::Down+Down+Down:
+.IP
+See <X11/keysymdef.h> header file for a list of Keysyms,
+or use the
+.IR xev (1)
+program. Note: mapping of button
+clicks to Keysyms may not work if \fB-modtweak\fR or \fB-xkb\fR is
+needed for the Keysym.
+.IP
+If you include a modifier like "Shift_L" the
+modifier's up/down state is toggled, e.g. to send
+"The" use :Shift_L+t+Shift_L+h+e: (the 1st one is
+shift down and the 2nd one is shift up). (note: the
+initial state of the modifier is ignored and not reset)
+To include button events use "Button1", ... etc.
+.PP
+\fB-nodragging\fR
+.IP
+Do not update the display during mouse dragging events
+(mouse motion with a button held down). Greatly
+improves response on slow setups, but you lose all
+visual feedback for drags, text selection, and some
+menu traversals.
+.PP
+\fB-old_pointer\fR
+.IP
+Do not use the new pointer input handling mechanisms.
+See check_input() and pointer() in source file for
+details.
+.PP
+\fB-input_skip\fR \fIn\fR
+.IP
+For the old pointer handling when non-threaded: try to
+read n user input events before scanning display. n < 0
+means to act as though there is always user input.
+.PP
+\fB-debug_pointer\fR
+.IP
+Print debugging output for every pointer event.
+.PP
+\fB-debug_keyboard\fR
+.IP
+Print debugging output for every keyboard event.
+.PP
+Same as \fB-dp\fR and \fB-dk,\fR respectively. Use multiple
+times for more output.
+.PP
+\fB-defer\fR \fItime\fR
+.IP
+Time in ms to wait for updates before sending to client
+[rfbDeferUpdateTime] Default: 30
+.PP
+\fB-wait\fR \fItime\fR
+.IP
+Time in ms to pause between screen polls. Used to cut
+down on load. Default: 30
+.PP
+\fB-nap\fR
+.IP
+Monitor activity and if low take longer naps between
+polls to really cut down load when idle. Default: off
+.PP
+\fB-sigpipe\fR \fIstring\fR
+.IP
+Broken pipe (SIGPIPE) handling. \fIstring\fR can be
+"ignore" or "exit". For "ignore" libvncserver
+will handle the abrupt loss of a client and continue,
+for "exit" x11vnc will cleanup and exit at the 1st
+broken connection. Default: "ignore".
+.PP
+\fB-threads,\fR \fB-nothreads\fR
+.IP
+Whether or not to use the threaded libvncserver
+algorithm [rfbRunEventLoop] if libpthread is available
+Default: \fB-nothreads\fR
+.PP
+\fB-fs\fR \fIf\fR
+.IP
+If the fraction of changed tiles in a poll is greater
+than f, the whole screen is updated. Default: 0.75
+.PP
+\fB-gaps\fR \fIn\fR
+.IP
+Heuristic to fill in gaps in rows or cols of n or
+less tiles. Used to improve text paging. Default: 4
+.PP
+\fB-grow\fR \fIn\fR
+.IP
+Heuristic to grow islands of changed tiles n or wider
+by checking the tile near the boundary. Default: 3
+.PP
+\fB-fuzz\fR \fIn\fR
+.IP
+Tolerance in pixels to mark a tiles edges as changed.
+Default: 2
+.PP
+These options are passed to libvncserver:
+.PP
+\fB-rfbport\fR \fIport\fR
+.IP
+TCP port for RFB protocol
+.PP
+\fB-rfbwait\fR \fItime\fR
+.IP
+max time in ms to wait for RFB client
+.PP
+\fB-rfbauth\fR \fIpasswd-file\fR
+.IP
+use authentication on RFB protocol
+(use 'storepasswd' to create a password file)
+.PP
+\fB-passwd\fR \fIplain-password\fR
+.IP
+use authentication
+(use plain-password as password, USE AT YOUR RISK)
+.PP
+\fB-deferupdate\fR \fItime\fR
+.IP
+time in ms to defer updates (default 40)
+.PP
+\fB-desktop\fR \fIname\fR
+.IP
+VNC desktop name (default "LibVNCServer")
+.PP
+\fB-alwaysshared\fR
+.IP
+always treat new clients as shared
+.PP
+\fB-nevershared\fR
+.IP
+never treat new clients as shared
+.PP
+\fB-dontdisconnect\fR
+.IP
+don't disconnect existing clients when a new non-shared
+connection comes in (refuse new connection instead)
+.PP
+\fB-httpdir\fR \fIdir-path\fR
+.IP
+enable http server using dir-path home
+.PP
+\fB-httpport\fR \fIportnum\fR
+.IP
+use portnum for http connection
+.PP
+\fB-enablehttpproxy\fR
+.IP
+enable http proxy support
+.PP
+\fB-progressive\fR \fIheight\fR
+.IP
+enable progressive updating for slow links
+.SH "FILES"
+.IR $HOME/.x11vncrc ,
+.IR $HOME/.Xauthority
+.SH "ENVIRONMENT"
+.IR DISPLAY ,
+.IR XAUTHORITY ,
+.IR HOME
+.PP
+The following are set for the auxiliary commands
+run by \fB-accept\fR and \fB-gone\fR:
+.PP
+.IR RFB_CLIENT_IP ,
+.IR RFB_CLIENT_PORT ,
+.IR RFB_SERVER_IP ,
+.IR RFB_SERVER_PORT ,
+.IR RFB_X11VNC_PID ,
+.IR RFB_CLIENT_ID ,
+.IR RFB_CLIENT_COUNT
+.SH "SEE ALSO"
+.IR vncviewer (1),
+.IR vncpasswd (1),
+.IR vncconnect (1),
+.IR vncserver (1),
+.IR Xvnc (1),
+.IR inetd (1),
+.IR xev (1),
+.IR xmodmap (1),
+.IR Xserver (1),
+.IR xauth (1),
+.IR xhost (1),
+.IR Xsecurity (7),
+.IR xmessage (1),
+.IR ipcrm (1),
+.IR http://www.tightvnc.com ,
+.IR http://www.realvnc.com ,
+.IR http://www.karlrunge.com/x11vnc/
+.SH AUTHORS
+x11vnc was written by Karl J. Runge <runge@karlrunge.com>,
+it is part of the LibVNCServer project <http://sf.net/projects/libvncserver>.
+This manual page is based one the one written by Ludovic Drolez
+<ldrolez@debian.org>, for the Debian project (both may be used by others).