blob: 5c8729e262006ba49069d3614216aa5fa91f2fd8 [file] [log] [blame]
Pierre Ossmanf256a1a2014-09-17 14:09:58 +02001.TH X0VNCSERVER 1 "" "TigerVNC" "TigerVNC Manual"
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +00002.SH NAME
Peter Åstrand4eacc022009-02-27 10:12:14 +00003x0vncserver \- TigerVNC Server for X displays
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +00004.SH SYNOPSIS
5.B x0vncserver
Constantin Kaplinskya9ec0e82008-01-07 13:57:01 +00006.RI [ options ]
Constantin Kaplinsky2039d7b2008-06-04 10:43:10 +00007.br
8.B x0vncserver -version
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +00009.SH DESCRIPTION
10.B x0vncserver
Peter Åstrand4eacc022009-02-27 10:12:14 +000011is a TigerVNC Server which makes any X display remotely accessible via VNC,
12TigerVNC or compatible viewers. Unlike \fBXvnc\fP(1), it does not create a
Constantin Kaplinsky59740082008-01-08 10:42:22 +000013virtual display. Instead, it just shares an existing X server (typically,
14that one connected to the physical screen).
Pierre Ossmande0f8322014-09-17 15:43:14 +020015
16XDamage will be used if the existing X server supports it. Otherwise
17.B x0vncserver
18will fall back to polling the screen for changes.
Pierre Ossman23f67c32014-09-17 16:28:56 +020019
Constantin Kaplinskya9ec0e82008-01-07 13:57:01 +000020.SH OPTIONS
21.B x0vncserver
22interprets the command line as a list of parameters with optional values.
23Running \fBx0vncserver -h\fP will show a list of all valid parameters with
Constantin Kaplinsky59740082008-01-08 10:42:22 +000024short descriptions. All parameters are optional, but normally you would have
Constantin Kaplinskycef45772008-01-07 14:52:51 +000025to use the \fBPasswordFile\fP parameter (see its description below).
Constantin Kaplinskya9ec0e82008-01-07 13:57:01 +000026.PP
27There are several forms of specifying parameters in the command line (here we
28use `\fISomeParameter\fP' as an example parameter name):
Pierre Ossman23f67c32014-09-17 16:28:56 +020029
Constantin Kaplinskya9ec0e82008-01-07 13:57:01 +000030.TP
31.B -\fISomeParameter\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +000032Enable the parameter, turn the feature on. This form can be used with
Constantin Kaplinskya9ec0e82008-01-07 13:57:01 +000033parameters that simply enable or disable some feature.
Pierre Ossman23f67c32014-09-17 16:28:56 +020034.
Constantin Kaplinskya9ec0e82008-01-07 13:57:01 +000035.TP
36.B -\fISomeParameter\fP=0
37Disable the parameter, turn the feature off.
Pierre Ossman23f67c32014-09-17 16:28:56 +020038.
Constantin Kaplinskya9ec0e82008-01-07 13:57:01 +000039.TP
40.B -\fISomeParameter\fP=\fIvalue\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +000041Assign the specified \fIvalue\fP to the parameter. The leading dash can be
42omitted, or it can be doubled if desired (like in GNU-style long options).
Constantin Kaplinskya9ec0e82008-01-07 13:57:01 +000043.PP
44Parameter names are case-insensitive, their order in the command line can be
45arbitrary.
Pierre Ossman23f67c32014-09-17 16:28:56 +020046
Constantin Kaplinskycef45772008-01-07 14:52:51 +000047.SH PARAMETERS
Pierre Ossman23f67c32014-09-17 16:28:56 +020048
Constantin Kaplinskycef45772008-01-07 14:52:51 +000049.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +010050.B \-display \fIdisplay\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +000051The X display name. If not specified, it defaults to the value of the
52DISPLAY environment variable.
Pierre Ossman23f67c32014-09-17 16:28:56 +020053.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +000054.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +010055.B \-rfbport \fIport\fP
56Specifies the TCP port on which x0vncserver listens for connections from
57viewers (the protocol used in VNC is called RFB - "remote framebuffer").
58The default port is 5900.
Pierre Ossman23f67c32014-09-17 16:28:56 +020059.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +000060.TP
Pierre Ossmancf661bf2018-02-05 11:01:22 +010061.B \-UseIPv4
62Use IPv4 for incoming and outgoing connections. Default is on.
63.
64.TP
65.B \-UseIPv6
66Use IPv6 for incoming and outgoing connections. Default is on.
67.
68.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +010069.B \-Log \fIlogname\fP:\fIdest\fP:\fIlevel\fP
70Configures the debug log settings. \fIdest\fP can currently be \fBstderr\fP,
71\fBstdout\fP or \fBsyslog\fP, and \fIlevel\fP is between 0 and 100, 100 meaning
72most verbose output. \fIlogname\fP is usually \fB*\fP meaning all, but you can
73target a specific source file if you know the name of its "LogWriter". Default
74is \fB*:stderr:30\fP.
Pierre Ossman23f67c32014-09-17 16:28:56 +020075.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +000076.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +010077.B \-HostsFile \fIfilename\fP
Constantin Kaplinskyb8363be2008-01-08 13:48:19 +000078This parameter allows to specify a file name with IP access control rules.
79The file should include one rule per line, and the rule format is one of the
Pierre Ossman14e214f2015-08-10 11:31:14 +020080following: +\fIaddress\fP/\fIprefix\fP (accept connections from the
81specified address group), -\fIaddress\fP/\fIprefix\fP (reject connections)
82or ?\fIaddress\fP/\fIprefix\fP (query the local user). The first rule
Constantin Kaplinskyb8363be2008-01-08 13:48:19 +000083matching the IP address determines the action to be performed. Rules that
84include only an action sign (+, - or ?) will match any IP address.
Pierre Ossman14e214f2015-08-10 11:31:14 +020085\fIPrefix\fP is optional and is specified as a number of bits (e.g. /24).
86Default is to accept connections from any IP address.
Pierre Ossman23f67c32014-09-17 16:28:56 +020087.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +000088.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +010089.B \-SecurityTypes \fIsec-types\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +000090Specify which security scheme to use for incoming connections. Valid values
Pierre Ossmande0f8322014-09-17 15:43:14 +020091are a comma separated list of \fBNone\fP, \fBVncAuth\fP, \fBPlain\fP,
92\fBTLSNone\fP, \fBTLSVnc\fP, \fBTLSPlain\fP, \fBX509None\fP, \fBX509Vnc\fP
93and \fBX509Plain\fP. Default is \fBVncAuth,TLSVnc\fP.
Pierre Ossman23f67c32014-09-17 16:28:56 +020094.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +000095.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +010096.B \-rfbauth \fIpasswd-file\fP, \-PasswordFile \fIpasswd-file\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +000097Password file for VNC authentication. There is no default, you should
98specify the password file explicitly. Password file should be created with
Pierre Ossman8ddfd942018-02-05 10:47:27 +010099the \fBvncpasswd\fP(1) utility. The file is accessed each time a connection
100comes in, so it can be changed on the fly.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200101.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000102.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100103.B \-Password \fIpassword\fP
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000104Obfuscated binary encoding of the password which clients must supply to
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000105access the server. Using this parameter is insecure, use \fBPasswordFile\fP
106parameter instead.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200107.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000108.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100109.B \-PlainUsers \fIuser-list\fP
Pierre Ossmande0f8322014-09-17 15:43:14 +0200110A comma separated list of user names that are allowed to authenticate via
111any of the "Plain" security types (Plain, TLSPlain, etc.). Specify \fB*\fP
112to allow any user to authenticate using this security type. Default is to
113deny all users.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200114.
Pierre Ossmande0f8322014-09-17 15:43:14 +0200115.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100116.B \-pam_service \fIname\fP, \-PAMService \fIname\fP
Pierre Ossmande0f8322014-09-17 15:43:14 +0200117PAM service name to use when authentication users using any of the "Plain"
118security types. Default is \fBvnc\fP.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200119.
Pierre Ossmande0f8322014-09-17 15:43:14 +0200120.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100121.B \-X509Cert \fIpath\fP
Pierre Ossmande0f8322014-09-17 15:43:14 +0200122Path to a X509 certificate in PEM format to be used for all X509 based
123security types (X509None, X509Vnc, etc.).
Pierre Ossman23f67c32014-09-17 16:28:56 +0200124.
Pierre Ossmande0f8322014-09-17 15:43:14 +0200125.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100126.B \-X509Key \fIpath\fP
Pierre Ossman3d2a84b2014-09-17 16:45:35 +0200127Private key counter part to the certificate given in \fBX509Cert\fP. Must
Pierre Ossmande0f8322014-09-17 15:43:14 +0200128also be in PEM format.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200129.
Pierre Ossmande0f8322014-09-17 15:43:14 +0200130.TP
Pierre Ossmancf661bf2018-02-05 11:01:22 +0100131.B \-GnuTLSPriority \fIpriority\fP
132GnuTLS priority string that controls the TLS session’s handshake algorithms.
133See the GnuTLS manual for possible values. Default is \fBNORMAL\fP.
134.
135.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100136.B \-BlacklistThreshold \fIcount\fP
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000137The number of unauthenticated connection attempts allowed from any individual
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000138host before that host is black-listed. Default is 5.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200139.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000140.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100141.B \-BlacklistTimeout \fIseconds\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000142The initial timeout applied when a host is first black-listed. The host
143cannot re-attempt a connection until the timeout expires. Default is 10.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200144.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000145.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100146.B \-QueryConnect
147Prompts the user of the desktop to explicitly accept or reject incoming
148connections. Default is off.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200149.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000150.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100151.B \-QueryConnectTimeout \fIseconds\fP
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000152Number of seconds to show the Accept Connection dialog before rejecting the
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100153connection. Default is \fB10\fP.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200154.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000155.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100156.B \-AlwaysShared
157Always treat incoming connections as shared, regardless of the client-specified
158setting. Default is off.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200159.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000160.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100161.B \-NeverShared
162Never treat incoming connections as shared, regardless of the client-specified
163setting. Default is off.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200164.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000165.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100166.B \-DisconnectClients
167Disconnect existing clients if an incoming connection is non-shared. Default is
168on. If \fBDisconnectClients\fP is false, then a new non-shared connection will
169be refused while there is a client active. When combined with
170\fBNeverShared\fP this means only one client is allowed at a time.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200171.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000172.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100173.B \-AcceptKeyEvents
174Accept key press and release events from clients. Default is on.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200175.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000176.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100177.B \-AcceptPointerEvents
178Accept pointer press and release events from clients. Default is on.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200179.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000180.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100181.B \-RemapKeys \fImapping
182Sets up a keyboard mapping.
183.I mapping
184is a comma-separated string of character mappings, each of the form
185.IR char -> char ,
186or
187.IR char <> char ,
188where
189.I char
190is a hexadecimal keysym. For example, to exchange the " and @ symbols you would specify the following:
191
192.RS 10
193RemapKeys=0x22<>0x40
194.RE
Pierre Ossman23f67c32014-09-17 16:28:56 +0200195.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000196.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100197.B \-RawKeyboard
Peter Korsgaard8fe50902017-07-13 00:35:57 +0200198Send keyboard events straight through and avoid mapping them to the current
199keyboard layout. This effectively makes the keyboard behave according to the
200layout configured on the server instead of the layout configured on the
201client. Default is off.
202.
203.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100204.B \-Protocol3.3
205Always use protocol version 3.3 for backwards compatibility with badly-behaved
206clients. Default is off.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200207.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000208.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100209.B \-Geometry \fIgeometry\fP
Constantin Kaplinskyb8363be2008-01-08 13:48:19 +0000210This option specifies the screen area that will be shown to VNC clients. The
211format is
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000212.B \fIwidth\fPx\fIheight\fP+\fIxoffset\fP+\fIyoffset\fP
Constantin Kaplinskyf32f8852008-12-23 07:44:39 +0000213, where `+' signs can be replaced with `\-' signs to specify offsets from the
Constantin Kaplinskyb8363be2008-01-08 13:48:19 +0000214right and/or from the bottom of the screen. Offsets are optional, +0+0 is
215assumed by default (top left corner). If the argument is empty, full screen
216is shown to VNC clients (this is the default).
Pierre Ossman23f67c32014-09-17 16:28:56 +0200217.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000218.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100219.B \-MaxProcessorUsage \fIpercent\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000220Maximum percentage of CPU time to be consumed when polling the
221screen. Default is 35.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200222.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000223.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100224.B \-PollingCycle \fImilliseconds\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000225Milliseconds per one polling cycle. Actual interval may be dynamically
226adjusted to satisfy \fBMaxProcessorUsage\fP setting. Default is 30.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200227.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000228.TP
Pierre Ossmancf661bf2018-02-05 11:01:22 +0100229.B \-FrameRate \fIfps\fP
230The maximum number of updates per second sent to each client. If the screen
231updates any faster then those changes will be aggregated and sent in a single
232update to the client. Note that this only controls the maximum rate and a
233client may get a lower rate when resources are limited. Default is \fB60\fP.
234.
235.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100236.B \-CompareFB \fImode\fP
Pierre Ossmande0f8322014-09-17 15:43:14 +0200237Perform pixel comparison on framebuffer to reduce unnecessary updates. Can
238be either \fB0\fP (off), \fB1\fP (always) or \fB2\fP (auto). Default is
239\fB2\fP.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200240.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000241.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100242.B \-UseSHM
Constantin Kaplinskyb8363be2008-01-08 13:48:19 +0000243Use MIT-SHM extension if available. Using that extension accelerates reading
244the screen. Default is on.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200245.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000246.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100247.B \-ZlibLevel \fIlevel\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000248Zlib compression level for ZRLE encoding (it does not affect Tight encoding).
249Acceptable values are between 0 and 9. Default is to use the standard
250compression level provided by the \fBzlib\fP(3) compression library.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200251.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000252.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100253.B \-ImprovedHextile
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000254Use improved compression algorithm for Hextile encoding which achieves better
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000255compression ratios by the cost of using slightly more CPU time. Default is
256on.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200257.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000258.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100259.B \-IdleTimeout \fIseconds\fP
260The number of seconds after which an idle VNC connection will be dropped.
261Default is 0, which means that idle connections will never be dropped.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200262.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000263.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100264.B \-MaxDisconnectionTime \fIseconds\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000265Terminate when no client has been connected for \fIN\fP seconds. Default is
2660.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200267.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000268.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100269.B \-MaxConnectionTime \fIseconds\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000270Terminate when a client has been connected for \fIN\fP seconds. Default is
2710.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200272.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000273.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100274.B \-MaxIdleTime \fIseconds\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000275Terminate after \fIN\fP seconds of user inactivity. Default is 0.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200276.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000277.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100278.B \-ClientWaitTimeMillis \fItime\fP
279Time in milliseconds to wait for a viewer which is blocking the server. This is
280necessary because the server is single-threaded and sometimes blocks until the
281viewer has finished sending or receiving a message - note that this does not
282mean an update will be aborted after this time. Default is 20000 (20 seconds).
Pierre Ossman23f67c32014-09-17 16:28:56 +0200283.
Pierre Ossmande0f8322014-09-17 15:43:14 +0200284.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100285.B \-AcceptCutText
Pierre Ossmande0f8322014-09-17 15:43:14 +0200286.TQ
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100287.B \-SendCutText
Pierre Ossmande0f8322014-09-17 15:43:14 +0200288.TQ
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100289.B \-MaxCutText
Pierre Ossmande0f8322014-09-17 15:43:14 +0200290Currently unused.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200291
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000292.SH SEE ALSO
Constantin Kaplinskya9ec0e82008-01-07 13:57:01 +0000293.BR Xvnc (1),
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000294.BR vncpasswd (1),
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000295.br
Peter Åstrand4eacc022009-02-27 10:12:14 +0000296http://www.tigervnc.org/
Pierre Ossman23f67c32014-09-17 16:28:56 +0200297
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000298.SH AUTHOR
Pierre Ossmane37a1442014-09-17 14:08:16 +0200299Constantin Kaplinsky and others.
300
301VNC was originally developed by the RealVNC team while at Olivetti
302Research Ltd / AT&T Laboratories Cambridge. TightVNC additions were
303implemented by Constantin Kaplinsky. Many other people have since
304participated in development, testing and support. This manual is part
305of the TigerVNC software suite.