blob: da7d11db80756508a085d0f7c5ee89261a6be543 [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 Ossman8ddfd942018-02-05 10:47:27 +010061.B \-Log \fIlogname\fP:\fIdest\fP:\fIlevel\fP
62Configures the debug log settings. \fIdest\fP can currently be \fBstderr\fP,
63\fBstdout\fP or \fBsyslog\fP, and \fIlevel\fP is between 0 and 100, 100 meaning
64most verbose output. \fIlogname\fP is usually \fB*\fP meaning all, but you can
65target a specific source file if you know the name of its "LogWriter". Default
66is \fB*:stderr:30\fP.
Pierre Ossman23f67c32014-09-17 16:28:56 +020067.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +000068.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +010069.B \-HostsFile \fIfilename\fP
Constantin Kaplinskyb8363be2008-01-08 13:48:19 +000070This parameter allows to specify a file name with IP access control rules.
71The file should include one rule per line, and the rule format is one of the
Pierre Ossman14e214f2015-08-10 11:31:14 +020072following: +\fIaddress\fP/\fIprefix\fP (accept connections from the
73specified address group), -\fIaddress\fP/\fIprefix\fP (reject connections)
74or ?\fIaddress\fP/\fIprefix\fP (query the local user). The first rule
Constantin Kaplinskyb8363be2008-01-08 13:48:19 +000075matching the IP address determines the action to be performed. Rules that
76include only an action sign (+, - or ?) will match any IP address.
Pierre Ossman14e214f2015-08-10 11:31:14 +020077\fIPrefix\fP is optional and is specified as a number of bits (e.g. /24).
78Default is to accept connections from any IP address.
Pierre Ossman23f67c32014-09-17 16:28:56 +020079.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +000080.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +010081.B \-SecurityTypes \fIsec-types\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +000082Specify which security scheme to use for incoming connections. Valid values
Pierre Ossmande0f8322014-09-17 15:43:14 +020083are a comma separated list of \fBNone\fP, \fBVncAuth\fP, \fBPlain\fP,
84\fBTLSNone\fP, \fBTLSVnc\fP, \fBTLSPlain\fP, \fBX509None\fP, \fBX509Vnc\fP
85and \fBX509Plain\fP. Default is \fBVncAuth,TLSVnc\fP.
Pierre Ossman23f67c32014-09-17 16:28:56 +020086.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +000087.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +010088.B \-rfbauth \fIpasswd-file\fP, \-PasswordFile \fIpasswd-file\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +000089Password file for VNC authentication. There is no default, you should
90specify the password file explicitly. Password file should be created with
Pierre Ossman8ddfd942018-02-05 10:47:27 +010091the \fBvncpasswd\fP(1) utility. The file is accessed each time a connection
92comes in, so it can be changed on the fly.
Pierre Ossman23f67c32014-09-17 16:28:56 +020093.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +000094.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +010095.B \-Password \fIpassword\fP
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +000096Obfuscated binary encoding of the password which clients must supply to
Constantin Kaplinsky59740082008-01-08 10:42:22 +000097access the server. Using this parameter is insecure, use \fBPasswordFile\fP
98parameter instead.
Pierre Ossman23f67c32014-09-17 16:28:56 +020099.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000100.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100101.B \-PlainUsers \fIuser-list\fP
Pierre Ossmande0f8322014-09-17 15:43:14 +0200102A comma separated list of user names that are allowed to authenticate via
103any of the "Plain" security types (Plain, TLSPlain, etc.). Specify \fB*\fP
104to allow any user to authenticate using this security type. Default is to
105deny all users.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200106.
Pierre Ossmande0f8322014-09-17 15:43:14 +0200107.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100108.B \-pam_service \fIname\fP, \-PAMService \fIname\fP
Pierre Ossmande0f8322014-09-17 15:43:14 +0200109PAM service name to use when authentication users using any of the "Plain"
110security types. Default is \fBvnc\fP.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200111.
Pierre Ossmande0f8322014-09-17 15:43:14 +0200112.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100113.B \-X509Cert \fIpath\fP
Pierre Ossmande0f8322014-09-17 15:43:14 +0200114Path to a X509 certificate in PEM format to be used for all X509 based
115security types (X509None, X509Vnc, etc.).
Pierre Ossman23f67c32014-09-17 16:28:56 +0200116.
Pierre Ossmande0f8322014-09-17 15:43:14 +0200117.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100118.B \-X509Key \fIpath\fP
Pierre Ossman3d2a84b2014-09-17 16:45:35 +0200119Private key counter part to the certificate given in \fBX509Cert\fP. Must
Pierre Ossmande0f8322014-09-17 15:43:14 +0200120also be in PEM format.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200121.
Pierre Ossmande0f8322014-09-17 15:43:14 +0200122.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100123.B \-BlacklistThreshold \fIcount\fP
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000124The number of unauthenticated connection attempts allowed from any individual
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000125host before that host is black-listed. Default is 5.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200126.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000127.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100128.B \-BlacklistTimeout \fIseconds\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000129The initial timeout applied when a host is first black-listed. The host
130cannot re-attempt a connection until the timeout expires. Default is 10.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200131.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000132.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100133.B \-QueryConnect
134Prompts the user of the desktop to explicitly accept or reject incoming
135connections. Default is off.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200136.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000137.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100138.B \-QueryConnectTimeout \fIseconds\fP
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000139Number of seconds to show the Accept Connection dialog before rejecting the
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100140connection. Default is \fB10\fP.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200141.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000142.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100143.B \-AlwaysShared
144Always treat incoming connections as shared, regardless of the client-specified
145setting. Default is off.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200146.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000147.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100148.B \-NeverShared
149Never treat incoming connections as shared, regardless of the client-specified
150setting. Default is off.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200151.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000152.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100153.B \-DisconnectClients
154Disconnect existing clients if an incoming connection is non-shared. Default is
155on. If \fBDisconnectClients\fP is false, then a new non-shared connection will
156be refused while there is a client active. When combined with
157\fBNeverShared\fP this means only one client is allowed at a time.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200158.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000159.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100160.B \-AcceptKeyEvents
161Accept key press and release events from clients. Default is on.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200162.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000163.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100164.B \-AcceptPointerEvents
165Accept pointer press and release events from clients. Default is on.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200166.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000167.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100168.B \-RemapKeys \fImapping
169Sets up a keyboard mapping.
170.I mapping
171is a comma-separated string of character mappings, each of the form
172.IR char -> char ,
173or
174.IR char <> char ,
175where
176.I char
177is a hexadecimal keysym. For example, to exchange the " and @ symbols you would specify the following:
178
179.RS 10
180RemapKeys=0x22<>0x40
181.RE
Pierre Ossman23f67c32014-09-17 16:28:56 +0200182.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000183.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100184.B \-RawKeyboard
Peter Korsgaard8fe50902017-07-13 00:35:57 +0200185Send keyboard events straight through and avoid mapping them to the current
186keyboard layout. This effectively makes the keyboard behave according to the
187layout configured on the server instead of the layout configured on the
188client. Default is off.
189.
190.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100191.B \-Protocol3.3
192Always use protocol version 3.3 for backwards compatibility with badly-behaved
193clients. Default is off.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200194.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000195.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100196.B \-Geometry \fIgeometry\fP
Constantin Kaplinskyb8363be2008-01-08 13:48:19 +0000197This option specifies the screen area that will be shown to VNC clients. The
198format is
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000199.B \fIwidth\fPx\fIheight\fP+\fIxoffset\fP+\fIyoffset\fP
Constantin Kaplinskyf32f8852008-12-23 07:44:39 +0000200, where `+' signs can be replaced with `\-' signs to specify offsets from the
Constantin Kaplinskyb8363be2008-01-08 13:48:19 +0000201right and/or from the bottom of the screen. Offsets are optional, +0+0 is
202assumed by default (top left corner). If the argument is empty, full screen
203is shown to VNC clients (this is the default).
Pierre Ossman23f67c32014-09-17 16:28:56 +0200204.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000205.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100206.B \-MaxProcessorUsage \fIpercent\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000207Maximum percentage of CPU time to be consumed when polling the
208screen. Default is 35.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200209.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000210.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100211.B \-PollingCycle \fImilliseconds\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000212Milliseconds per one polling cycle. Actual interval may be dynamically
213adjusted to satisfy \fBMaxProcessorUsage\fP setting. Default is 30.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200214.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000215.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100216.B \-CompareFB \fImode\fP
Pierre Ossmande0f8322014-09-17 15:43:14 +0200217Perform pixel comparison on framebuffer to reduce unnecessary updates. Can
218be either \fB0\fP (off), \fB1\fP (always) or \fB2\fP (auto). Default is
219\fB2\fP.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200220.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000221.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100222.B \-UseSHM
Constantin Kaplinskyb8363be2008-01-08 13:48:19 +0000223Use MIT-SHM extension if available. Using that extension accelerates reading
224the screen. Default is on.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200225.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000226.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100227.B \-ZlibLevel \fIlevel\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000228Zlib compression level for ZRLE encoding (it does not affect Tight encoding).
229Acceptable values are between 0 and 9. Default is to use the standard
230compression level provided by the \fBzlib\fP(3) compression library.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200231.
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000232.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100233.B \-ImprovedHextile
Constantin Kaplinsky8d61d0d2008-01-07 16:10:37 +0000234Use improved compression algorithm for Hextile encoding which achieves better
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000235compression ratios by the cost of using slightly more CPU time. Default is
236on.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200237.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000238.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100239.B \-IdleTimeout \fIseconds\fP
240The number of seconds after which an idle VNC connection will be dropped.
241Default is 0, which means that idle connections will never be dropped.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200242.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000243.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100244.B \-MaxDisconnectionTime \fIseconds\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000245Terminate when no client has been connected for \fIN\fP seconds. Default is
2460.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200247.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000248.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100249.B \-MaxConnectionTime \fIseconds\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000250Terminate when a client has been connected for \fIN\fP seconds. Default is
2510.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200252.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000253.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100254.B \-MaxIdleTime \fIseconds\fP
Constantin Kaplinsky59740082008-01-08 10:42:22 +0000255Terminate after \fIN\fP seconds of user inactivity. Default is 0.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200256.
Constantin Kaplinskycef45772008-01-07 14:52:51 +0000257.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100258.B \-ClientWaitTimeMillis \fItime\fP
259Time in milliseconds to wait for a viewer which is blocking the server. This is
260necessary because the server is single-threaded and sometimes blocks until the
261viewer has finished sending or receiving a message - note that this does not
262mean an update will be aborted after this time. Default is 20000 (20 seconds).
Pierre Ossman23f67c32014-09-17 16:28:56 +0200263.
Pierre Ossmande0f8322014-09-17 15:43:14 +0200264.TP
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100265.B \-AcceptCutText
Pierre Ossmande0f8322014-09-17 15:43:14 +0200266.TQ
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100267.B \-SendCutText
Pierre Ossmande0f8322014-09-17 15:43:14 +0200268.TQ
Pierre Ossman8ddfd942018-02-05 10:47:27 +0100269.B \-MaxCutText
Pierre Ossmande0f8322014-09-17 15:43:14 +0200270Currently unused.
Pierre Ossman23f67c32014-09-17 16:28:56 +0200271
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000272.SH SEE ALSO
Constantin Kaplinskya9ec0e82008-01-07 13:57:01 +0000273.BR Xvnc (1),
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000274.BR vncpasswd (1),
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000275.br
Peter Åstrand4eacc022009-02-27 10:12:14 +0000276http://www.tigervnc.org/
Pierre Ossman23f67c32014-09-17 16:28:56 +0200277
Constantin Kaplinskyb30ae7f2006-05-25 05:04:46 +0000278.SH AUTHOR
Pierre Ossmane37a1442014-09-17 14:08:16 +0200279Constantin Kaplinsky and others.
280
281VNC was originally developed by the RealVNC team while at Olivetti
282Research Ltd / AT&T Laboratories Cambridge. TightVNC additions were
283implemented by Constantin Kaplinsky. Many other people have since
284participated in development, testing and support. This manual is part
285of the TigerVNC software suite.