Changes between Initial Version and Version 1 of TipAndDoc/network/vnc/x11vnc


Ignore:
Timestamp:
Mar 6, 2011 11:18:39 PM (14 years ago)
Author:
mitty
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TipAndDoc/network/vnc/x11vnc

    v1 v1  
     1[[PageOutline]] 
     2 
     3 * x11vnc: 0.9.10 lastmod: 2010-04-28 
     4 * $ x11vnc --help 
     5{{{ 
     6x11vnc: allow VNC connections to real X11 displays. 0.9.10 lastmod: 2010-04-28 
     7 
     8(type "x11vnc -opts" to just list the options.) 
     9 
     10Typical usage is: 
     11 
     12   Run this command in a shell on the remote machine "far-host" 
     13   with X session you wish to view: 
     14 
     15       x11vnc -display :0 
     16 
     17   Then run this in another window on the machine you are sitting at: 
     18 
     19       vncviewer far-host:0 
     20 
     21Once x11vnc establishes connections with the X11 server and starts listening 
     22as a VNC server it will print out a string: PORT=XXXX where XXXX is typically 
     235900 (the default VNC server port).  One would next run something like 
     24this on the local machine: "vncviewer hostname:N" where "hostname" is 
     25the name of the machine running x11vnc and N is XXXX - 5900, i.e. usually 
     26"vncviewer hostname:0". 
     27 
     28By default x11vnc will not allow the screen to be shared and it will exit 
     29as soon as the client disconnects.  See -shared and -forever below to override 
     30these protections.  See the FAQ for details how to tunnel the VNC connection 
     31through an encrypted channel such as ssh(1).  In brief: 
     32 
     33       ssh -t -L 5900:localhost:5900 far-host 'x11vnc -localhost -display :0' 
     34 
     35       vncviewer -encodings 'copyrect tight zrle hextile' localhost:0 
     36 
     37Also, use of a VNC password (-rfbauth or -passwdfile) is strongly recommended. 
     38 
     39For additional info see: http://www.karlrunge.com/x11vnc/ 
     40                    and  http://www.karlrunge.com/x11vnc/faq.html 
     41 
     42 
     43Config file support: if the file $HOME/.x11vncrc exists then each line in 
     44it is treated as a single command line option.  Disable with -norc.  For 
     45each option name, the leading character "-" is not required.  E.g. a line 
     46that is either "forever" or "-forever" may be used and are equivalent. 
     47Likewise "wait 100" or "-wait 100" are acceptable and equivalent lines. 
     48The "#" character comments out to the end of the line in the usual way 
     49(backslash it for a literal).  Leading and trailing whitespace is trimmed off. 
     50Lines may be continued with a "\" as the last character of a line (it 
     51becomes a space character). 
     52 
     53Options: 
     54 
     55-display disp          X11 server display to connect to, usually :0.  The X 
     56                       server process must be running on same machine and 
     57                       support MIT-SHM.  Equivalent to setting the DISPLAY 
     58                       environment variable to "disp". 
     59 
     60                       See the description below of the "-display WAIT:..." 
     61                       extensions, where alias "-find" will find the user's 
     62                       display automatically, and "-create" will create a 
     63                       Xvfb session if no session is found. 
     64 
     65-auth file             Set the X authority file to be "file", equivalent to 
     66                       setting the XAUTHORITY environment variable to "file" 
     67                       before startup.  Same as -xauth file.  See Xsecurity(7), 
     68                       xauth(1) man pages for more info. 
     69 
     70                       Use '-auth guess' to have x11vnc use its -findauth 
     71                       mechanism (described below) to try to guess the 
     72                       XAUTHORITY filename and use it. 
     73 
     74                       XDM/GDM/KDM: if you are running x11vnc as root and want 
     75                       to find the XAUTHORITY before anyone has logged into an 
     76                       X session yet, use: x11vnc -env FD_XDM=1 -auth guess ... 
     77                       (This will also find the XAUTHORITY if a user is already 
     78                       logged into the X session.)  When running as root, 
     79                       FD_XDM=1 will be tried if the initial -auth guess fails. 
     80 
     81(snip) 
     82 
     83-viewonly              All VNC clients can only watch (default off). 
     84-shared                VNC display is shared, i.e. more than one viewer can 
     85                       connect at the same time (default off). 
     86-once                  Exit after the first successfully connected viewer 
     87                       disconnects, opposite of -forever. This is the Default. 
     88-forever               Keep listening for more connections rather than exiting 
     89                       as soon as the first client(s) disconnect. Same as -many 
     90 
     91-loop                  Create an outer loop restarting the x11vnc process 
     92                       whenever it terminates.  -bg and -inetd are ignored 
     93                       in this mode (however see -loopbg below). 
     94 
     95                       Useful for continuing even if the X server terminates 
     96                       and restarts (at that moment the process will need 
     97                       permission to reconnect to the new X server of course). 
     98 
     99                       Use, e.g., -loop100 to sleep 100 millisecs between 
     100                       restarts, etc.  Default is 2000ms (i.e. 2 secs) Use, 
     101                       e.g. -loop300,5 to sleep 300 ms and only loop 5 times. 
     102 
     103                       If -loopbg (plus any numbers) is specified instead, 
     104                       the "-bg" option is implied and the mode approximates 
     105                       inetd(8) usage to some degree.  In this case when 
     106                       it goes into the background any listening sockets 
     107                       (i.e. ports 5900, 5800) are closed, so the next one 
     108                       in the loop can use them.  This mode will only be of 
     109                       use if a VNC client (the only client for that process) 
     110                       is already connected before the process goes into the 
     111                       background, for example, usage of -display WAIT:.., 
     112                       -svc, and -connect can make use of this "poor man's" 
     113                       inetd mode.  The default wait time is 500ms in this 
     114                       mode.  This usage could use useful:  -svc -bg -loopbg 
     115 
     116(snip) 
     117 
     118-inetd                 Launched by inetd(8): stdio instead of listening socket. 
     119                       Note: if you are not redirecting stderr to a log file 
     120                       (via shell 2> or -o option) you MUST also specify the -q 
     121                       option, otherwise the stderr goes to the viewer which 
     122                       will cause it to abort.  Specifying both -inetd and -q 
     123                       and no -o will automatically close the stderr. 
     124 
     125(snip) 
     126 
     127-allow host1[,host2..] Only allow client connections from hosts matching 
     128                       the comma separated list of hostnames or IP addresses. 
     129                       Can also be a numerical IP prefix, e.g. "192.168.100." 
     130                       to match a simple subnet, for more control build 
     131                       LibVNCServer with libwrap support (See the FAQ).  If the 
     132                       list contains a "/" it instead is a interpreted 
     133                       as a file containing addresses or prefixes that is 
     134                       re-read each time a new client connects.  Lines can be 
     135                       commented out with the "#" character in the usual way. 
     136 
     137                       -allow applies in -ssl mode, but not in -stunnel mode. 
     138 
     139                       IPv6: as of x11vnc 0.9.10 a host can be specified 
     140                       in IPv6 numerical format, e.g. 2001:4860:b009::93. 
     141 
     142-localhost             Basically the same as "-allow 127.0.0.1". 
     143 
     144                       Note: if you want to restrict which network interface 
     145                       x11vnc listens on, see the -listen option below. 
     146                       E.g. "-listen localhost" or "-listen 192.168.3.21". 
     147                       As a special case, the option "-localhost" implies 
     148                       "-listen localhost". 
     149 
     150                       A rare case, but for non-localhost -listen usage, if 
     151                       you use the remote control mechanism (-R) to change 
     152                       the -listen interface you may need to manually adjust 
     153                       the -allow list (and vice versa) to avoid situations 
     154                       where no connections (or too many) are allowed. 
     155 
     156                       If you do not want x11vnc to listen on ANY interface 
     157                       (evidently you are using -connect or -connect_or_exit, 
     158                       or plan to use remote control: -R connect:host), use 
     159                       -rfbport 0 
     160 
     161                       IPv6: if IPv6 is supported, this option automatically 
     162                       implies the IPv6 loopback address '::1' as well. 
     163 
     164(snip) 
     165 
     166-passwdfile filename   Specify the LibVNCServer password via the first line 
     167                       of the file "filename" (instead of via -passwd on 
     168                       the command line where others might see it via ps(1)). 
     169 
     170                       See the descriptions below for how to supply multiple 
     171                       passwords, view-only passwords, to specify external 
     172                       programs for the authentication, and other features. 
     173 
     174                       If the filename is prefixed with "rm:" it will be 
     175                       removed after being read.  Perhaps this is useful in 
     176                       limiting the readability of the file.  In general, the 
     177                       password file should not be readable by untrusted users 
     178                       (BTW: neither should the VNC -rfbauth file: it is NOT 
     179                       encrypted, only obscured with a fixed key). 
     180 
     181                       If the filename is prefixed with "read:" it will 
     182                       periodically be checked for changes and reread.  It is 
     183                       guaranteed to be reread just when a new client connects 
     184                       so that the latest passwords will be used. 
     185 
     186                       If "filename" is prefixed with "cmd:" then the 
     187                       string after the ":" is run as an external command: 
     188                       the output of the command will be interpreted as if it 
     189                       were read from a password file (see below).  If the 
     190                       command does not exit with 0, then x11vnc terminates 
     191                       immediately.  To specify more than 1000 passwords this 
     192                       way set X11VNC_MAX_PASSWDS before starting x11vnc. 
     193                       The environment variables are set as in -accept. 
     194 
     195                       Note that due to the VNC protocol only the first 8 
     196                       characters of a password are used (DES key). 
     197 
     198                       If "filename" is prefixed with "custom:" then a 
     199                       custom password checker is supplied as an external 
     200                       command following the ":". The command will be run 
     201                       when a client authenticates.  If the command exits with 
     202                       0 the client is accepted, otherwise it is rejected. 
     203                       The environment variables are set as in -accept. 
     204 
     205                       The standard input to the custom command will be a 
     206                       decimal digit "len" followed by a newline. "len" 
     207                       specifies the challenge size and is usually 16 (the 
     208                       VNC spec).  Then follows len bytes which is the random 
     209                       challenge string that was sent to the client. This is 
     210                       then followed by len more bytes holding the client's 
     211                       response (i.e. the challenge string encrypted via DES 
     212                       with the user password in the standard situation). 
     213 
     214                       The "custom:" scheme can be useful to implement 
     215                       dynamic passwords or to implement methods where longer 
     216                       passwords and/or different encryption algorithms 
     217                       are used.  The latter will require customizing the VNC 
     218                       client as well.  One could create an MD5SUM based scheme 
     219                       for example. 
     220 
     221                       File format for -passwdfile: 
     222 
     223                       If multiple non-blank lines exist in the file they are 
     224                       all taken as valid passwords.  Blank lines are ignored. 
     225                       Password lines may be "commented out" (ignored) if 
     226                       they begin with the character "#" or the line contains 
     227                       the string "__SKIP__".  Lines may be annotated by use 
     228                       of the "__COMM__" string: from it to the end of the 
     229                       line is ignored.  An empty password may be specified 
     230                       via the "__EMPTY__" string on a line by itself (note 
     231                       your viewer might not accept empty passwords). 
     232 
     233                       If the string "__BEGIN_VIEWONLY__" appears on a 
     234                       line by itself, the remaining passwords are used for 
     235                       viewonly access.  For compatibility, as a special case 
     236                       if the file contains only two password lines the 2nd 
     237                       one is automatically taken as the viewonly password. 
     238                       Otherwise the "__BEGIN_VIEWONLY__" token must be 
     239                       used to have viewonly passwords.  (tip: make the 3rd 
     240                       and last line be "__BEGIN_VIEWONLY__" to have 2 
     241                       full-access passwords) 
     242 
     243(snip) 
     244 
     245-unixpw [list]         Use Unix username and password authentication.  x11vnc 
     246                       will use the su(1) program to verify the user's 
     247                       password.  [list] is an optional comma separated list 
     248                       of allowed Unix usernames.  If the [list] string begins 
     249                       with the character "!" then the entire list is taken 
     250                       as an exclude list.  See below for per-user options 
     251                       that can be applied. 
     252 
     253                       A familiar "login:" and "Password:" dialog is 
     254                       presented to the user on a black screen inside the 
     255                       vncviewer.  The connection is dropped if the user fails 
     256                       to supply the correct password in 3 tries or does not 
     257                       send one before a 45 second timeout.  Existing clients 
     258                       are view-only during this period. 
     259 
     260                       If the first character received is "Escape" then the 
     261                       unix username will not be displayed after "login:" 
     262                       as it is typed.  This could be of use for VNC viewers 
     263                       that automatically type the username and password. 
     264 
     265                       Since the detailed behavior of su(1) can vary from 
     266                       OS to OS and for local configurations, test the mode 
     267                       before deployment to make sure it is working properly. 
     268                       x11vnc will attempt to be conservative and reject a 
     269                       login if anything abnormal occurs. 
     270 
     271                       One case to note: FreeBSD and the other BSD's by 
     272                       default it is impossible for the user running x11vnc to 
     273                       validate his *own* password via su(1) (commenting out 
     274                       the pam_self.so entry in /etc/pam.d/su eliminates this 
     275                       behavior).  So the x11vnc login will always *FAIL* for 
     276                       this case (even when the correct password is supplied). 
     277 
     278                       A possible workaround for this on *BSD would be to 
     279                       start x11vnc as root with the "-users +nobody" option 
     280                       to immediately switch to user nobody where the su'ing 
     281                       will proceed normally. 
     282 
     283                       Another source of potential problems are PAM modules 
     284                       that prompt for extra info, e.g. password aging modules. 
     285                       These logins will fail as well even when the correct 
     286                       password is supplied. 
     287 
     288                       **IMPORTANT**: to prevent the Unix password being sent 
     289                       in *clear text* over the network, one of two schemes 
     290                       will be enforced: 1) the -ssl builtin SSL mode, or 2) 
     291                       require both -localhost and -stunnel be enabled. 
     292 
     293                       Method 1) ensures the traffic is encrypted between 
     294                       viewer and server.  A PEM file will be required, see the 
     295                       discussion under -ssl below (under some circumstances 
     296                       a temporary one can be automatically generated). 
     297 
     298                       Method 2) requires the viewer connection to appear 
     299                       to come from the same machine x11vnc is running on 
     300                       (e.g. from a ssh -L port redirection).  And that the 
     301                       -stunnel SSL mode be used for encryption over the 
     302                       network. (see the description of -stunnel below). 
     303 
     304                       Note: as a convenience, if you ssh(1) in and start 
     305                       x11vnc it will check if the environment variable 
     306                       SSH_CONNECTION is set and appears reasonable.  If it 
     307                       does, then the -ssl or -stunnel requirement will be 
     308                       dropped since it is assumed you are using ssh for the 
     309                       encrypted tunnelling.  -localhost is still enforced. 
     310                       Use -ssl or -stunnel to force SSL usage even if 
     311                       SSH_CONNECTION is set. 
     312 
     313                       To override the above restrictions you can set 
     314                       environment variables before starting x11vnc: 
     315 
     316                       Set UNIXPW_DISABLE_SSL=1 to disable requiring either 
     317                       -ssl or -stunnel (as under SSH_CONNECTION.)  Evidently 
     318                       you will be using a different method to encrypt the 
     319                       data between the vncviewer and x11vnc: perhaps ssh(1) 
     320                       or an IPSEC VPN. -localhost is still enforced (however, 
     321                       see the next paragraph.) 
     322 
     323                       Set UNIXPW_DISABLE_LOCALHOST=1 to disable the -localhost 
     324                       requirement in -unixpw modes.  One should never do this 
     325                       (i.e. allow the Unix passwords to be sniffed on the 
     326                       network.)  This also disables the localhost requirement 
     327                       for reverse connections (see below.) 
     328 
     329                       Note that use of -localhost with ssh(1) (and no -unixpw) 
     330                       is roughly the same as requiring a Unix user login 
     331                       (since a Unix password or the user's public key 
     332                       authentication is used by sshd on the machine where 
     333                       x11vnc runs and only local connections from that machine 
     334                       are accepted). 
     335 
     336                       Regarding reverse connections (e.g. -R connect:host 
     337                       and -connect host), when the -localhost constraint is 
     338                       in effect then reverse connections can only be used 
     339                       to connect to the same machine x11vnc is running on 
     340                       (default port 5500).  Please use a ssh or stunnel port 
     341                       redirection to the viewer machine to tunnel the reverse 
     342                       connection over an encrypted channel. 
     343 
     344                       In -inetd mode the Method 1) will be enforced (not 
     345                       Method 2).  With -ssl in effect reverse connections 
     346                       are disabled.  If you override this via env. var, be 
     347                       sure to also use encryption from the viewer to inetd. 
     348                       Tip: you can also have your own stunnel spawn x11vnc 
     349                       in -inetd mode (thereby bypassing inetd).  See the FAQ 
     350                       for details. 
     351 
     352                       The user names in the comma separated [list] may have 
     353                       per-user options after a ":", e.g. "fred:opts" 
     354                       where "opts" is a "+" separated list of 
     355                       "viewonly", "fullaccess", "input=XXXX", or 
     356                       "deny", e.g. "karl,wally:viewonly,boss:input=M". 
     357                       For "input=" it is the K,M,B,C described under -input. 
     358 
     359                       If an item in the list is "*" that means those 
     360                       options apply to all users.  It ALSO implies all users 
     361                       are allowed to log in after supplying a valid password. 
     362                       Use "deny" to explicitly deny some users if you use 
     363                       "*" to set a global option.  If [list] begins with the 
     364                       "!" character then "*" is ignored for checking if 
     365                       the user is allowed, but the option values associated 
     366                       with it do apply as normal. 
     367 
     368                       There are also some utilities for checking passwords 
     369                       if [list] starts with the "%" character.  See the 
     370                       quick_pw() function for more details.  Description: 
     371                       "%-" or "%stdin" means read one line from stdin. 
     372                       "%env" means it is in $UNIXPW env var.  A leading 
     373                       "%/" or "%." means read the first line from the 
     374                       filename that follows after the % character. % by 
     375                       itself means prompt for the username and password. 
     376                       Otherwise: %user:pass   E.g. -unixpw %fred:swordfish 
     377                       For the other cases user:pass is read from the indicated 
     378                       source.  If the password is correct 'Y user' is printed 
     379                       and the program exit code is 0.  If the password is 
     380                       incorrect it prints 'N user' and the exit code is 1. 
     381                       If there is some other error the exit code is 2. 
     382                       This feature enables x11vnc to be a general unix user 
     383                       password checking tool; it could be used from scripts 
     384                       or other programs.  These % password checks also apply 
     385                       to the -unixpw_nis and -unixpw_cmd options. 
     386 
     387                       For the % password check, if the env. var. UNIXPW_CMD 
     388                       is set to a command then it is run as the user (assuming 
     389                       the password is correct.)  The output of the command is 
     390                       not printed, the program or script must manage that by 
     391                       some other means.  The exit code of x11vnc will depend 
     392                       on the exit code of the command that is run. 
     393 
     394                       Use -nounixpw to disable unixpw mode if it was enabled 
     395                       earlier in the cmd line (e.g. -svc mode) 
     396 
     397(snip) 
     398 
     399-storepasswd pass file Store password "pass" as the VNC password in the 
     400                       file "file".  Once the password is stored the 
     401                       program exits.  Use the password via "-rfbauth file" 
     402 
     403                       If called with no arguments, "x11vnc -storepasswd", 
     404                       the user is prompted for a password and it is stored 
     405                       in the file ~/.vnc/passwd.  Called with one argument, 
     406                       that will be the file to store the prompted password in. 
     407 
     408-nopw                  Disable the big warning message when you use x11vnc 
     409                       without some sort of password. 
     410 
     411(snip) 
     412 
     413-users list            If x11vnc is started as root (say from inetd(8) or from 
     414                       display managers xdm(1), gdm(1), etc), then as soon 
     415                       as possible after connections to the X display are 
     416                       established try to switch to one of the users in the 
     417                       comma separated "list".  If x11vnc is not running as 
     418                       root this option is ignored. 
     419 
     420                       Why use this option?  In general it is not needed since 
     421                       x11vnc is already connected to the X display and can 
     422                       perform its primary functions.  The option was added 
     423                       to make some of the *external* utility commands x11vnc 
     424                       occasionally runs work properly.  In particular under 
     425                       GNOME and KDE to implement the "-solid color" feature 
     426                       external commands (gconftool-2 and dcop) unfortunately 
     427                       must be run as the user owning the desktop session. 
     428                       Since this option switches userid it also affects the 
     429                       userid used to run the processes for the -accept and 
     430                       -gone options.  It also affects the ability to read 
     431                       files for options such as -connect, -allow, and -remap 
     432                       and also the ultra and tight filetransfer feature if 
     433                       enabled.  Note that the -connect file is also sometimes 
     434                       written to. 
     435 
     436                       So be careful with this option since in some situations 
     437                       its use can decrease security. 
     438 
     439                       In general the switch to a user will only take place 
     440                       if the display can still be successfully opened as that 
     441                       user (this is primarily to try to guess the actual owner 
     442                       of the session). Example: "-users fred,wilma,betty". 
     443                       Note that a malicious local user "barney" by 
     444                       quickly using "xhost +" when logging in may possibly 
     445                       get the x11vnc process to switch to user "fred". 
     446                       What happens next? 
     447 
     448                       Under display managers it may be a long time before 
     449                       the switch succeeds (i.e. a user logs in).  To instead 
     450                       make it switch immediately regardless if the display 
     451                       can be reopened prefix the username with the "+" 
     452                       character. E.g. "-users +bob" or "-users +nobody". 
     453 
     454                       The latter (i.e. switching immediately to user 
     455                       "nobody") is the only obvious use of the -users option 
     456                       that increases security. 
     457 
     458                       Use the following notation to associate a group with 
     459                       a user: user1.group1,user2.group2,...  Note that 
     460                       initgroups(2) will still be called first to try to 
     461                       switch to ALL of a user's groups (primary and additional 
     462                       groups).  Only if that fails or it is not available 
     463                       then the single group specified as above (or the user's 
     464                       primary group if not specified) is switched to with 
     465                       setgid(2).  Use -env X11VNC_SINGLE_GROUP=1 to prevent 
     466                       trying initgroups(2) and only switch to the single 
     467                       group.  This sort of setting is only really needed to 
     468                       make the ultra or tight filetransfer permissions work 
     469                       properly. This format applies to any comma separated list 
     470                       of users, even the special "=" modes described below. 
     471 
     472                       In -unixpw mode, if "-users unixpw=" is supplied 
     473                       then after a user authenticates himself via the 
     474                       -unixpw mechanism, x11vnc will try to switch to that 
     475                       user as though "-users +username" had been supplied. 
     476                       If you want to limit which users this will be done for, 
     477                       provide them as a comma separated list after "unixpw=" 
     478                       Groups can also be specified as described above. 
     479 
     480                       Similarly, in -ssl mode, if "-users sslpeer=" is 
     481                       supplied then after an SSL client authenticates with his 
     482                       cert (the -sslverify option is required for this) x11vnc 
     483                       will extract a UNIX username from the "emailAddress" 
     484                       field (username@hostname.com) of the "Subject" of the 
     485                       x509 SSL cert and then try to switch to that user as 
     486                       though "-users +username" had been supplied.  If you 
     487                       want to limit which users this will be done for, provide 
     488                       them as a comma separated list after "sslpeer=". 
     489                       Set the env. var X11VNC_SSLPEER_CN to use the Common 
     490                       Name (normally a hostname) instead of the Email field. 
     491 
     492                       NOTE: for sslpeer= mode the x11vnc administrator must 
     493                       take care that any client certs he adds to -sslverify 
     494                       have the intended UNIX username in the "emailAddress" 
     495                       field of the cert.  Otherwise a user may be able to 
     496                       log in as another.  This command can be of use in 
     497                       checking: "openssl x509 -text -in file.crt", see the 
     498                       "Subject:" line.  Also, along with the normal RFB_* 
     499                       env. vars. (see -accept) passed to external cmd= 
     500                       commands, RFB_SSL_CLIENT_CERT will be set to the 
     501                       client's x509 certificate string. 
     502 
     503                       The sslpeer= mode can aid finding X sessions via the 
     504                       FINDDISPLAY and FINDCREATEDISPLAY mechanisms. 
     505 
     506                       To immediately switch to a user *before* connections 
     507                       to the X display are made or any files opened use the 
     508                       "=" character: "-users =bob".  That user needs to 
     509                       be able to open the X display and any files of course. 
     510 
     511                       The special user "guess=" means to examine the utmpx 
     512                       database (see who(1)) looking for a user attached to 
     513                       the display number (from DISPLAY or -display option) 
     514                       and try him/her.  To limit the list of guesses, use: 
     515                       "-users guess=bob,betty". 
     516 
     517                       Even more sinister is the special user "lurk=" 
     518                       that means to try to guess the DISPLAY from the utmpx 
     519                       login database as well.  So it "lurks" waiting for 
     520                       anyone to log into an X session and then connects to it. 
     521                       Specify a list of users after the = to limit which users 
     522                       will be tried.  To enable a different searching mode, if 
     523                       the first user in the list is something like ":0" or 
     524                       ":0-2" that indicates a range of DISPLAY numbers that 
     525                       will be tried (regardless of whether they are in the 
     526                       utmpx database) for all users that are logged in.  Also 
     527                       see the "-display WAIT:..." functionality.  Examples: 
     528                       "-users lurk=" and also "-users lurk=:0-1,bob,mary" 
     529 
     530                       Be especially careful using the "guess=" and "lurk=" 
     531                       modes.  They are not recommended for use on machines 
     532                       with untrustworthy local users. 
     533 
     534(snip) 
     535 
     536-ping n                Send a 1x1 framebuffer update to all clients every n 
     537                       seconds (e.g. to try to keep a network connection alive) 
     538 
     539(snip) 
     540 
     541These options are passed to LibVNCServer: 
     542 
     543-rfbport port          TCP port for RFB protocol 
     544-rfbwait time          max time in ms to wait for RFB client 
     545-rfbauth passwd-file   use authentication on RFB protocol 
     546                       (use 'storepasswd' to create a password file) 
     547-rfbversion 3.x        Set the version of the RFB we choose to advertise 
     548-permitfiletransfer    permit file transfer support 
     549-passwd plain-password use authentication  
     550                       (use plain-password as password, USE AT YOUR RISK) 
     551-deferupdate time      time in ms to defer updates (default 40) 
     552-deferptrupdate time   time in ms to defer pointer updates (default none) 
     553-desktop name          VNC desktop name (default "LibVNCServer") 
     554-alwaysshared          always treat new clients as shared 
     555-nevershared           never treat new clients as shared 
     556-dontdisconnect        don't disconnect existing clients when a new non-shared 
     557                       connection comes in (refuse new connection instead) 
     558-httpdir dir-path      enable http server using dir-path home 
     559-httpport portnum      use portnum for http connection 
     560-enablehttpproxy       enable http proxy support 
     561-progressive height    enable progressive updating for slow links 
     562-listen ipaddr         listen for connections only on network interface with 
     563                       addr ipaddr. '-listen localhost' and hostname work too. 
     564 
     565libvncserver-tight-extension options: 
     566-disablefiletransfer   disable file transfer 
     567-ftproot string        set ftp root 
     568}}}