summaryrefslogtreecommitdiffstats
path: root/x11vnc/help.c
diff options
context:
space:
mode:
Diffstat (limited to 'x11vnc/help.c')
-rw-r--r--x11vnc/help.c176
1 files changed, 140 insertions, 36 deletions
diff --git a/x11vnc/help.c b/x11vnc/help.c
index 1d73b15..d7b2ebc 100644
--- a/x11vnc/help.c
+++ b/x11vnc/help.c
@@ -55,10 +55,10 @@ void print_help(int mode) {
" and http://www.karlrunge.com/x11vnc/#faq\n"
"\n"
"\n"
-"Rudimentary config file support: if the file $HOME/.x11vncrc exists then each\n"
-"line in it is treated as a single command line option. Disable with -norc.\n"
-"For each option name, the leading character \"-\" is not required. E.g. a\n"
-"line that is either \"forever\" or \"-forever\" may be used and are equivalent.\n"
+"Config file support: if the file $HOME/.x11vncrc exists then each line in\n"
+"it is treated as a single command line option. Disable with -norc. For\n"
+"each option name, the leading character \"-\" is not required. E.g. a line\n"
+"that is either \"forever\" or \"-forever\" may be used and are equivalent.\n"
"Likewise \"wait 100\" or \"-wait 100\" are acceptable and equivalent lines.\n"
"The \"#\" character comments out to the end of the line in the usual way\n"
"(backslash it for a literal). Leading and trailing whitespace is trimmed off.\n"
@@ -77,7 +77,23 @@ void print_help(int mode) {
" before startup. Same as -xauth file. See Xsecurity(7),\n"
" xauth(1) man pages for more info.\n"
"\n"
-"-id windowid Show the window corresponding to \"windowid\" not\n"
+"-N If the X display is :N, try to set the VNC display\n"
+" to also be :N This just sets the -rfbport option\n"
+" to 5900+N. The program will exit immediately if that\n"
+" port is not available.\n"
+"\n"
+"-reflect host:N Instead of connecting to and polling an X display,\n"
+" connect to the remote VNC server host:N and be a\n"
+" reflector/repeater for it. This is useful for trying\n"
+" to manage the case of many simultaneous VNC viewers\n"
+" (e.g. classroom broadcasting) where, e.g. you put\n"
+" a repeater on each network switch, etc, to improve\n"
+" performance by distributing the load and network\n"
+" traffic. Implies -shared (use -noshared as a later\n"
+" option to disable). See the discussion below under\n"
+" -rawfb vnc:host:N for more details.\n"
+"\n"
+"-id windowid Show the X window corresponding to \"windowid\" not\n"
" the entire display. New windows like popup menus,\n"
" transient toplevels, etc, may not be seen or may be\n"
" clipped. Disabling SaveUnders or BackingStore in the\n"
@@ -789,15 +805,16 @@ void print_help(int mode) {
" in PATH and have run \"Xdummy -install\" once to create\n"
" the shared library. Xdummy requires root permission\n"
" and only works on Linux. Xvfb is available on most\n"
-" platforms.\n"
+" platforms and does not require root.\n"
"\n"
" When x11vnc exits (i.e. user disconnects) the X server\n"
-" session stays running in the background. Presumably the\n"
-" FINDDISPLAY will find it next time. The user must exit\n"
-" the X session in the usual way for it to terminate.\n"
+" session stays running in the background. Presumably\n"
+" the FINDDISPLAY will find it next time. The user must\n"
+" exit the X session in the usual way for it to terminate\n"
+" (or kill the X server process if all else fails).\n"
"\n"
" So this is a somewhat odd mode for x11vnc in that it\n"
-" will start up and poll virtual X servers. This can\n"
+" will start up and poll virtual X servers! This can\n"
" be used from, say, inetd(8) to provide a means of\n"
" definitely getting a desktop (either real or virtual)\n"
" on the machine. E.g. a desktop service:\n"
@@ -812,10 +829,24 @@ void print_help(int mode) {
" Use WAIT:cmd=FINDCREATEDISPLAY-print to print out the\n"
" script used. You can specify the preferred order via\n"
" e.g., WAIT:cmd=FINDCREATEDISPLAY-Xdummy,Xvfb,X and/or\n"
-" leave out ones you do not want. The the extra case \"X\"\n"
-" means try to start up a real, hardware X server using\n"
-" xinit(1). If there is already an X server running the\n"
-" X case may only work on Linux (see startx(1)).\n"
+" leave out ones you do not want. The the extra case\n"
+" \"X\" means try to start up a real, hardware X server\n"
+" using xinit(1) or startx(1). If there is already an\n"
+" X server running the X case may only work on Linux\n"
+" (see startx(1)).\n"
+"\n"
+" If you want the FINDCREATEDISPLAY session to contact an\n"
+" XDMCP login manager (xdm/gdm/kdm) on the same machine,\n"
+" then use \"Xvfb.xdmcp\" instead of \"Xvfb\", etc.\n"
+" The user will have to supply his username and password\n"
+" one more time (but he gets to select his desktop type\n"
+" so that can be useful). For this to work, you will\n"
+" need to enable localhost XDMCP (udp port 177) for the\n"
+" display manager. This seems to be:\n"
+"\n"
+" for gdm in gdm.conf: Enable=true in section [xdmcp]\n"
+" for kdm in kdmrc: Enable=true in section [Xdmcp]\n"
+" for xdm in xdm-config: DisplayManager.requestPort: 177\n"
"\n"
#ifndef NO_SSL_OR_UNIXPW
"-ssl [pem] Use the openssl library (www.openssl.org) to provide a\n"
@@ -1691,6 +1722,15 @@ void print_help(int mode) {
" identical keyboards). Also useful in resolving cases\n"
" where a Keysym is bound to multiple keys (e.g. \"<\" + \">\"\n"
" and \",\" + \"<\" keys). Default: %s\n"
+"\n"
+" On some HP-UX systems it is been noted that they have\n"
+" an odd keymapping where a single keycode will have a\n"
+" keysym, e.g. \"#\", up to three times. You can check\n"
+" via \"xmodmap -pk\" or the -dk option. The failure\n"
+" is when you try to type \"#\" it yields \"3\". If you\n"
+" see this problem try setting the environment variable\n"
+" MODTWEAK_LOWEST=1 to see if it helps.\n"
+"\n"
"-xkb When in modtweak mode, use the XKEYBOARD extension (if\n"
"-noxkb the X display supports it) to do the modifier tweaking.\n"
" This is powerful and should be tried if there are still\n"
@@ -2021,6 +2061,10 @@ void print_help(int mode) {
" for rapid retrieval. So a W x H frambuffer is expanded\n"
" to a W x (n+1)*H one. Use 0 to disable. Default: XXX.\n"
"\n"
+" For this and the other -ncache* options below you can\n"
+" abbreviate \"-ncache\" with \"-nc\". Also, \"-nonc\"\n"
+" is the same as \"-ncache 0\"\n"
+"\n"
" This is an experimental option, currently implemented\n"
" in an awkward way in that in the VNC Viewer you can\n"
" see the cache contents if you scroll down, etc. So you\n"
@@ -2081,7 +2125,21 @@ void print_help(int mode) {
"\n"
"-ncache_no_rootpixmap In -ncache mode, do not try to snapshot the desktop\n"
" background to use in guessing or reconstructing window\n"
-" save-unders..\n"
+" save-unders.\n"
+"\n"
+"-ncache_keep_anims In -ncache mode, do not try to disable window\n"
+" manager animations and other effects (that usually\n"
+" degrade ncache performance or cause painting errors).\n"
+" The default is to try to disable them on KDE (but not\n"
+" GNOME) when VNC clients are connected.\n"
+"\n"
+" For other window managers or desktops that provide\n"
+" animations, effects, compositing, translucency,\n"
+" etc. that interfere with the -ncache method you will\n"
+" have to disable them manually.\n"
+"\n"
+"-ncache_old_wm In -ncache mode, enable some heuristics for old style\n"
+" window managers such as fvwm and twm.\n"
"\n"
"-ncache_pad n In -ncache mode, pad each window with n pixels for the\n"
" caching rectangles. This can be used to try to improve\n"
@@ -2703,6 +2761,10 @@ void print_help(int mode) {
" the framebuffer device is opened and keystrokes (and\n"
" possibly mouse events) are inserted into the console.\n"
"\n"
+" If the string begins with \"vnc\", see the VNC HOST\n"
+" discussion below where the framebuffer is taken as that\n"
+" of another remote VNC server.\n"
+"\n"
" Optional suffixes are \":R/G/B\" and \"+O\" to specify\n"
" red, green, and blue masks and an offset into the\n"
" memory object. If the masks are not provided x11vnc\n"
@@ -2723,6 +2785,7 @@ void print_help(int mode) {
" -rawfb video0\n"
" -rawfb video -pipeinput VID\n"
" -rawfb console\n"
+" -rawfb vnc:somehost:0\n"
"\n"
" (see ipcs(1) and fbset(1) for the first two examples)\n"
"\n"
@@ -2893,6 +2956,44 @@ void print_help(int mode) {
" -rawfb console:/dev/nonstd\n"
" -rawfb console -pipeinput UINPUT:accel=4.0\n"
"\n"
+" VNC HOST: if the -rawfb string is of the form\n"
+" \"vnc:host:N\" then the VNC display \"N\" on the remote\n"
+" VNC server \"host\" is connected to (i.e. x11vnc acts as\n"
+" a VNC client itself) and that framebuffer is exported.\n"
+"\n"
+" This mode is really only of use if you are trying\n"
+" to improve performance in the case of many (e.g. >\n"
+" 10) simultaneous VNC viewers, and you try a divide\n"
+" and conquer scheme to reduce bandwidth and improve\n"
+" responsiveness.\n"
+"\n"
+" For example, if there will be 64 simultaneous VNC\n"
+" viewers this can lead to a lot of redundant VNC traffic\n"
+" to and from the server host:N, extra CPU usage,\n"
+" and all viewers response can be reduced by having\n"
+" to wait for writes to the slowest client to finish.\n"
+" However, if you set up 8 reflectors/repeaters started\n"
+" with option -rawfb vnc:host:N, then there are only\n"
+" 8 connections to host:N. Each repeater then handles\n"
+" 8 vnc viewer connections thereby spreading the load\n"
+" around. In classroom broadcast usage, try to put the\n"
+" repeaters on different switches. This mode is the same\n"
+" as -reflect host:N. Replace \"host:N\" by \"listen\"\n"
+" or \"listen:port\" for a reverse connection.\n"
+"\n"
+" Overall performance will not be as good as a single\n"
+" direct connection because, among other things,\n"
+" there is an additional level of framebuffer polling\n"
+" and pointer motion can still induce many changes per\n"
+" second that must be propagated. Tip: if the remote VNC\n"
+" is x11vnc doing wireframing, or an X display that does\n"
+" wireframing that gives much better response than opaque\n"
+" window dragging. Consider the -nodragging option if\n"
+" the problem is severe.\n"
+"\n"
+" The VNC HOST mode implies -shared. Use -noshared as\n"
+" a subsequent cmdline option to disable sharing.\n"
+"\n"
"-freqtab file For use with \"-rawfb video\" for TV tuner devices to\n"
" specify station frequencies. Instead of using the built\n"
" in ntsc-cable-us mapping of station number to frequency,\n"
@@ -2995,7 +3096,7 @@ void print_help(int mode) {
" If the uinput device has an absolute pointer (as opposed\n"
" to a normal mouse that is a relative pointer) you can\n"
" specify the option \"abs\". Note that a touchpad\n"
-" on a laptop is an absolute device t some degree.\n"
+" on a laptop is an absolute device to some degree.\n"
" This (usually) avoids all the problems with mouse\n"
" acceleration. If x11vnc has trouble deducing the size\n"
" of the device, use \"abs=WxH\". Furthermore, if the\n"
@@ -3355,6 +3456,8 @@ void print_help(int mode) {
" ncache_no_rootpixmap enable ncache_no_rootpixmap.\n"
" noncache_no_rootpixmap disable ncache_no_rootpixmap.\n"
" ncache_reset_rootpixmap recheck the root pixmap\n"
+" ncache_keep_anims enable ncache_keep_anims.\n"
+" noncache_keep_anims disable ncache_keep_anims.\n"
" wireframe enable -wireframe mode. same as \"wf\"\n"
" nowireframe disable -wireframe mode. same as \"nowf\"\n"
" wireframe:str enable -wireframe mode string.\n"
@@ -3505,26 +3608,27 @@ void print_help(int mode) {
" listen lookup nolookup accept afteraccept gone shm\n"
" noshm flipbyteorder noflipbyteorder onetile noonetile\n"
" solid_color solid nosolid blackout xinerama noxinerama\n"
-" xtrap noxtrap xrandr noxrandr xrandr_mode rotate padgeom\n"
-" quiet q noquiet modtweak nomodtweak xkb noxkb capslock\n"
-" nocapslock skip_lockkeys noskip_lockkeys skip_keycodes\n"
-" sloppy_keys nosloppy_keys skip_dups noskip_dups\n"
-" add_keysyms noadd_keysyms clear_mods noclear_mods\n"
-" clear_keys noclear_keys remap repeat norepeat fb nofb\n"
-" bell nobell sel nosel primary noprimary setprimary\n"
-" nosetprimary clipboard noclipboard setclipboard\n"
-" nosetclipboard seldir cursorshape nocursorshape\n"
-" cursorpos nocursorpos cursor_drag nocursor_drag cursor\n"
-" show_cursor noshow_cursor nocursor arrow xfixes\n"
-" noxfixes xdamage noxdamage xd_area xd_mem alphacut\n"
-" alphafrac alpharemove noalpharemove alphablend\n"
-" noalphablend xwarppointer xwarp noxwarppointer\n"
-" noxwarp buttonmap dragging nodragging ncache_cr\n"
-" noncache_cr ncache_no_moveraise noncache_no_moveraise\n"
-" ncache_no_dtchange noncache_no_dtchange\n"
-" ncache_no_rootpixmap noncache_no_rootpixmap\n"
-" ncache_reset_rootpixmap ncache noncache ncache_size\n"
-" wireframe_mode wireframe wf nowireframe nowf\n"
+" xtrap noxtrap xrandr noxrandr xrandr_mode rotate\n"
+" padgeom quiet q noquiet modtweak nomodtweak xkb noxkb\n"
+" capslock nocapslock skip_lockkeys noskip_lockkeys\n"
+" skip_keycodes sloppy_keys nosloppy_keys skip_dups\n"
+" noskip_dups add_keysyms noadd_keysyms clear_mods\n"
+" noclear_mods clear_keys noclear_keys remap repeat\n"
+" norepeat fb nofb bell nobell sel nosel primary\n"
+" noprimary setprimary nosetprimary clipboard noclipboard\n"
+" setclipboard nosetclipboard seldir cursorshape\n"
+" nocursorshape cursorpos nocursorpos cursor_drag\n"
+" nocursor_drag cursor show_cursor noshow_cursor\n"
+" nocursor arrow xfixes noxfixes xdamage noxdamage\n"
+" xd_area xd_mem alphacut alphafrac alpharemove\n"
+" noalpharemove alphablend noalphablend xwarppointer\n"
+" xwarp noxwarppointer noxwarp buttonmap dragging\n"
+" nodragging ncache_cr noncache_cr ncache_no_moveraise\n"
+" noncache_no_moveraise ncache_no_dtchange\n"
+" noncache_no_dtchange ncache_no_rootpixmap\n"
+" noncache_no_rootpixmap ncache_reset_rootpixmap\n"
+" ncache_keep_anims noncache_keep_anims ncache noncache\n"
+" ncache_size wireframe_mode wireframe wf nowireframe nowf\n"
" wireframelocal wfl nowireframelocal nowfl wirecopyrect\n"
" wcr nowirecopyrect nowcr scr_area scr_skip scr_inc\n"
" scr_keys scr_term scr_keyrepeat scr_parms scrollcopyrect\n"
OpenPOWER on IntegriCloud