diff options
Diffstat (limited to 'x11vnc/x11vnc.1')
-rw-r--r-- | x11vnc/x11vnc.1 | 257 |
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 |