summaryrefslogtreecommitdiffstats
path: root/x11vnc/x11vnc.1
diff options
context:
space:
mode:
Diffstat (limited to 'x11vnc/x11vnc.1')
-rw-r--r--x11vnc/x11vnc.1257
1 files changed, 132 insertions, 125 deletions
diff --git a/x11vnc/x11vnc.1 b/x11vnc/x11vnc.1
index 719c7a6..1936108 100644
--- a/x11vnc/x11vnc.1
+++ b/x11vnc/x11vnc.1
@@ -2,7 +2,7 @@
.TH X11VNC "1" "January 2007" "x11vnc " "User Commands"
.SH NAME
x11vnc - allow VNC connections to real X11 displays
- version: 0.8.4, lastmod: 2007-01-10
+ version: 0.8.4, lastmod: 2007-01-31
.SH SYNOPSIS
.B x11vnc
[OPTION]...
@@ -42,10 +42,10 @@ Also, use of a VNC password (-rfbauth or \fB-passwdfile)\fR is strongly recommen
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 "forever" or "\fB-forever\fR" may be used and are equivalent.
+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 "forever" or "\fB-forever\fR" may be used and are equivalent.
Likewise "wait 100" or "\fB-wait\fR \fI100\fR" are acceptable and equivalent lines.
The "#" character comments out to the end of the line in the usual way
(backslash it for a literal). Leading and trailing whitespace is trimmed off.
@@ -73,9 +73,29 @@ before startup. Same as \fB-xauth\fR file. See
.IR xauth (1)
man pages for more info.
.PP
+\fB-N\fR
+.IP
+If the X display is :N, try to set the VNC display
+to also be :N This just sets the \fB-rfbport\fR option
+to 5900+N. The program will exit immediately if that
+port is not available.
+.PP
+\fB-reflect\fR \fIhost:N\fR
+.IP
+Instead of connecting to and polling an X display,
+connect to the remote VNC server host:N and be a
+reflector/repeater for it. This is useful for trying
+to manage the case of many simultaneous VNC viewers
+(e.g. classroom broadcasting) where, e.g. you put
+a repeater on each network switch, etc, to improve
+performance by distributing the load and network
+traffic. Implies \fB-shared\fR (use \fB-noshared\fR as a later
+option to disable). See the discussion below under
+\fB-rawfb\fR vnc:host:N for more details.
+.PP
\fB-id\fR \fIwindowid\fR
.IP
-Show the window corresponding to \fIwindowid\fR not
+Show the X window corresponding to \fIwindowid\fR not
the entire display. New windows like popup menus,
transient toplevels, etc, may not be seen or may be
clipped. Disabling SaveUnders or BackingStore in the
@@ -921,15 +941,16 @@ source code (x11vnc/misc/Xdummy) It should be available
in PATH and have run "Xdummy \fB-install"\fR once to create
the shared library. Xdummy requires root permission
and only works on Linux. Xvfb is available on most
-platforms.
+platforms and does not require root.
.IP
When x11vnc exits (i.e. user disconnects) the X server
-session stays running in the background. Presumably the
-FINDDISPLAY will find it next time. The user must exit
-the X session in the usual way for it to terminate.
+session stays running in the background. Presumably
+the FINDDISPLAY will find it next time. The user must
+exit the X session in the usual way for it to terminate
+(or kill the X server process if all else fails).
.IP
So this is a somewhat odd mode for x11vnc in that it
-will start up and poll virtual X servers. This can
+will start up and poll virtual X servers! This can
be used from, say,
.IR inetd (8)
to provide a means of
@@ -946,13 +967,30 @@ Where /.../x11vnc is the full path to x11vnc.
Use WAIT:cmd=FINDCREATEDISPLAY-print to print out the
script used. You can specify the preferred order via
e.g., WAIT:cmd=FINDCREATEDISPLAY-Xdummy,Xvfb,X and/or
-leave out ones you do not want. The the extra case "X"
-means try to start up a real, hardware X server using
-.IR xinit (1).
-If there is already an X server running the
-X case may only work on Linux (see
+leave out ones you do not want. The the extra case
+"X" means try to start up a real, hardware X server
+using
+.IR xinit (1)
+or
+.IR startx (1).
+If there is already an
+X server running the X case may only work on Linux
+(see
.IR startx (1)
).
+.IP
+If you want the FINDCREATEDISPLAY session to contact an
+XDMCP login manager (xdm/gdm/kdm) on the same machine,
+then use "Xvfb.xdmcp" instead of "Xvfb", etc.
+The user will have to supply his username and password
+one more time (but he gets to select his desktop type
+so that can be useful). For this to work, you will
+need to enable localhost XDMCP (udp port 177) for the
+display manager. This seems to be:
+.IP
+for gdm in gdm.conf: Enable=true in section [xdmcp]
+for kdm in kdmrc: Enable=true in section [Xdmcp]
+for xdm in xdm-config: DisplayManager.requestPort: 177
.PP
\fB-ssl\fR \fI[pem]\fR
.IP
@@ -1969,6 +2007,14 @@ 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
+.IP
+On some HP-UX systems it is been noted that they have
+an odd keymapping where a single keycode will have a
+keysym, e.g. "#", up to three times. You can check
+via "xmodmap \fB-pk"\fR or the \fB-dk\fR option. The failure
+is when you try to type "#" it yields "3". If you
+see this problem try setting the environment variable
+MODTWEAK_LOWEST=1 to see if it helps.
.PP
\fB-xkb,\fR \fB-noxkb\fR
.IP
@@ -2376,93 +2422,6 @@ slow setups, but you lose all visual feedback for drags,
text selection, and some menu traversals. It overrides
any \fB-pointer_mode\fR setting.
.PP
-\fB-ncache\fR \fIn\fR
-.IP
-Client-side caching scheme. Framebuffer memory \fIn\fR
-(an integer) times that of the full display is allocated
-below the actual framebuffer to cache screen contents
-for rapid retrieval. So a W x H frambuffer is expanded
-to a W x (n+1)*H one. Use 0 to disable. Default: XXX.
-.IP
-This is an experimental option, currently implemented
-in an awkward way in that in the VNC Viewer you can
-see the cache contents if you scroll down, etc. So you
-will have to set things up so you can't see that region.
-If this method is successful, the changes required for
-clients to do this less awkwardly will be investigated.
-.IP
-Note that this mode consumes a huge amount of memory,
-both on the x11vnc server side and on the VNC Viewer
-side. If n=2 then the amount of RAM used is roughly
-tripled for both x11vnc and the VNC Viewer. As a rule
-of thumb, note that 1280x1024 at depth 24 is about 5MB
-of pixel data.
-.IP
-For reasonable response when cycling through 4 to 6
-large (e.g. web browser) windows a value n of 6 to 12
-is recommended. (that's right: ~10X more memory...)
-.IP
-Because of the way window backingstore and saveunders
-are implemented, n must be even. It will be incremented
-by 1 if it is not.
-.IP
-This mode also works for native MacOS X, but may not
-be as effective as the X version. This is due to a
-number of things, one is the drop-shadow compositing
-that leaves extra areas that need to be repaired (see
-\fB-ncache_pad).\fR Another is the window iconification
-animations need to be avoided (see \fB-macicontime).\fR
-It appears the that the 'Scale' animation mode gives
-better results than the 'Genie' one. Also, window event
-detection not as accurate as the X version.
-.PP
-\fB-ncache_cr\fR
-.IP
-In \fB-ncache\fR mode, try to do copyrect opaque window
-moves/drags instead of wireframes (this can induce
-painting errors). The wireframe will still be used when
-moving a window whose save-unders has not yet been set
-or has been invalidated.
-.IP
-Some VNC Viewers provide better response than others
-with this option. On Unix, realvnc viewer gives
-smoother drags than tightvnc viewer. Response may also
-be choppy if the server side machine is too slow.
-.IP
-Sometimes on very slow modem connections, this actually
-gives an improvement because no pixel data at all
-(not even the box animation) is sent during the drag.
-.PP
-\fB-ncache_no_moveraise\fR
-.IP
-In \fB-ncache\fR mode, do not assume that moving a window
-will cause the window manager to raise it to the top
-of the stack. The default is to assume it does, and
-so at the beginning of any wireframe, etc, window moves
-the window will be pushed to top in the VNC viewer.
-.PP
-\fB-ncache_no_dtchange\fR
-.IP
-In \fB-ncache\fR mode, do not try to guess when the desktop
-(viewport) changes to another one (i.e. another
-workarea). The default is to try to guess and when
-detected try to make the transistion more smoothly.
-.PP
-\fB-ncache_no_rootpixmap\fR
-.IP
-In \fB-ncache\fR mode, do not try to snapshot the desktop
-background to use in guessing or reconstructing window
-save-unders..
-.PP
-\fB-ncache_pad\fR \fIn\fR
-.IP
-In \fB-ncache\fR mode, pad each window with n pixels for the
-caching rectangles. This can be used to try to improve
-the situation with dropshadows or other compositing
-(e.g. MacOS X window manager), although it could make
-things worse. The default is 0 on Unix and 24 on
-MacOS X.
-.PP
\fB-wireframe\fR \fI[str],\fR \fB-nowireframe\fR
.IP
Try to detect window moves or resizes when a mouse
@@ -2480,7 +2439,7 @@ The value "str" is optional and, of course, is
packed with many tunable parameters for this scheme:
.IP
Format: shade,linewidth,percent,T+B+L+R,mod,t1+t2+t3+t4
-Default: 0xff,3,0,32+8+8+8,all,0.15+0.30+5.0+0.125
+Default: 0xff,2,0,32+8+8+8,all,0.15+0.30+5.0+0.125
.IP
If you leave nothing between commas: ",," the default
value is used. If you don't specify enough commas,
@@ -3197,6 +3156,10 @@ If the string begins with "console", "/dev/fb", or
the framebuffer device is opened and keystrokes (and
possibly mouse events) are inserted into the console.
.IP
+If the string begins with "vnc", see the VNC HOST
+discussion below where the framebuffer is taken as that
+of another remote VNC server.
+.IP
Optional suffixes are ":R/G/B" and "+O" to specify
red, green, and blue masks and an offset into the
memory object. If the masks are not provided x11vnc
@@ -3222,6 +3185,7 @@ Examples:
\fB-rawfb\fR video0
\fB-rawfb\fR video \fB-pipeinput\fR VID
\fB-rawfb\fR console
+\fB-rawfb\fR vnc:somehost:0
.IP
(see
.IR ipcs (1)
@@ -3398,6 +3362,44 @@ Examples:
\fB-rawfb\fR consolex (no keystrokes or mouse)
\fB-rawfb\fR console:/dev/nonstd
\fB-rawfb\fR console \fB-pipeinput\fR UINPUT:accel=4.0
+.IP
+VNC HOST: if the \fB-rawfb\fR string is of the form
+"vnc:host:N" then the VNC display "N" on the remote
+VNC server "host" is connected to (i.e. x11vnc acts as
+a VNC client itself) and that framebuffer is exported.
+.IP
+This mode is really only of use if you are trying
+to improve performance in the case of many (e.g. >
+10) simultaneous VNC viewers, and you try a divide
+and conquer scheme to reduce bandwidth and improve
+responsiveness.
+.IP
+For example, if there will be 64 simultaneous VNC
+viewers this can lead to a lot of redundant VNC traffic
+to and from the server host:N, extra CPU usage,
+and all viewers response can be reduced by having
+to wait for writes to the slowest client to finish.
+However, if you set up 8 reflectors/repeaters started
+with option \fB-rawfb\fR vnc:host:N, then there are only
+8 connections to host:N. Each repeater then handles
+8 vnc viewer connections thereby spreading the load
+around. In classroom broadcast usage, try to put the
+repeaters on different switches. This mode is the same
+as \fB-reflect\fR host:N. Replace "host:N" by "listen"
+or "listen:port" for a reverse connection.
+.IP
+Overall performance will not be as good as a single
+direct connection because, among other things,
+there is an additional level of framebuffer polling
+and pointer motion can still induce many changes per
+second that must be propagated. Tip: if the remote VNC
+is x11vnc doing wireframing, or an X display that does
+wireframing that gives much better response than opaque
+window dragging. Consider the \fB-nodragging\fR option if
+the problem is severe.
+.IP
+The VNC HOST mode implies \fB-shared.\fR Use \fB-noshared\fR as
+a subsequent cmdline option to disable sharing.
.PP
\fB-freqtab\fR \fIfile\fR
.IP
@@ -3507,7 +3509,7 @@ Use reset=0 to disable.
If the uinput device has an absolute pointer (as opposed
to a normal mouse that is a relative pointer) you can
specify the option "abs". Note that a touchpad
-on a laptop is an absolute device t some degree.
+on a laptop is an absolute device to some degree.
This (usually) avoids all the problems with mouse
acceleration. If x11vnc has trouble deducing the size
of the device, use "abs=WxH". Furthermore, if the
@@ -4040,6 +4042,10 @@ noncache_no_rootpixmap disable ncache_no_rootpixmap.
.IP
ncache_reset_rootpixmap recheck the root pixmap
.IP
+ncache_keep_anims enable ncache_keep_anims.
+.IP
+noncache_keep_anims disable ncache_keep_anims.
+.IP
wireframe enable \fB-wireframe\fR mode. same as "wf"
.IP
nowireframe disable \fB-wireframe\fR mode. same as "nowf"
@@ -4307,26 +4313,27 @@ unlock connect allowonce allow localhost nolocalhost
listen lookup nolookup accept afteraccept gone shm
noshm flipbyteorder noflipbyteorder onetile noonetile
solid_color solid nosolid blackout xinerama noxinerama
-xtrap noxtrap xrandr noxrandr xrandr_mode rotate padgeom
-quiet q noquiet modtweak nomodtweak xkb noxkb capslock
-nocapslock skip_lockkeys noskip_lockkeys skip_keycodes
-sloppy_keys nosloppy_keys skip_dups noskip_dups
-add_keysyms noadd_keysyms clear_mods noclear_mods
-clear_keys noclear_keys remap repeat norepeat fb nofb
-bell nobell sel nosel primary noprimary setprimary
-nosetprimary clipboard noclipboard setclipboard
-nosetclipboard seldir cursorshape nocursorshape
-cursorpos nocursorpos cursor_drag nocursor_drag cursor
-show_cursor noshow_cursor nocursor arrow xfixes
-noxfixes xdamage noxdamage xd_area xd_mem alphacut
-alphafrac alpharemove noalpharemove alphablend
-noalphablend xwarppointer xwarp noxwarppointer
-noxwarp buttonmap dragging nodragging ncache_cr
-noncache_cr ncache_no_moveraise noncache_no_moveraise
-ncache_no_dtchange noncache_no_dtchange
-ncache_no_rootpixmap noncache_no_rootpixmap
-ncache_reset_rootpixmap ncache noncache ncache_size
-wireframe_mode wireframe wf nowireframe nowf
+xtrap noxtrap xrandr noxrandr xrandr_mode rotate
+padgeom quiet q noquiet modtweak nomodtweak xkb noxkb
+capslock nocapslock skip_lockkeys noskip_lockkeys
+skip_keycodes sloppy_keys nosloppy_keys skip_dups
+noskip_dups add_keysyms noadd_keysyms clear_mods
+noclear_mods clear_keys noclear_keys remap repeat
+norepeat fb nofb bell nobell sel nosel primary
+noprimary setprimary nosetprimary clipboard noclipboard
+setclipboard nosetclipboard seldir cursorshape
+nocursorshape cursorpos nocursorpos cursor_drag
+nocursor_drag cursor show_cursor noshow_cursor
+nocursor arrow xfixes noxfixes xdamage noxdamage
+xd_area xd_mem alphacut alphafrac alpharemove
+noalpharemove alphablend noalphablend xwarppointer
+xwarp noxwarppointer noxwarp buttonmap dragging
+nodragging ncache_cr noncache_cr ncache_no_moveraise
+noncache_no_moveraise ncache_no_dtchange
+noncache_no_dtchange ncache_no_rootpixmap
+noncache_no_rootpixmap ncache_reset_rootpixmap
+ncache_keep_anims noncache_keep_anims ncache noncache
+ncache_size wireframe_mode wireframe wf nowireframe nowf
wireframelocal wfl nowireframelocal nowfl wirecopyrect
wcr nowirecopyrect nowcr scr_area scr_skip scr_inc
scr_keys scr_term scr_keyrepeat scr_parms scrollcopyrect