1Xvnc(1)                    Virtual Network Computing                   Xvnc(1)
2
3
4

NAME

6       Xvnc - the X VNC server
7

SYNOPSIS

9       Xvnc [options] :display#
10

DESCRIPTION

12       Xvnc is the X VNC (Virtual Network Computing) server.  It is based on a
13       standard X server, but it has a "virtual" screen rather than a physical
14       one.   X applications display themselves on it as if it were a normal X
15       display, but they  can  only  be  accessed  via  a  VNC  viewer  -  see
16       vncviewer(1).
17
18       So  Xvnc  is  really two servers in one. To the applications it is an X
19       server, and to the remote VNC users it is a VNC server.  By  convention
20       we have arranged that the VNC server display number will be the same as
21       the X server display number, which means you can use  eg.  snoopy:2  to
22       refer  to display 2 on machine "snoopy" in both the X world and the VNC
23       world.
24
25       The best way of starting Xvnc is via the vncserver script.   This  sets
26       up  the  environment  appropriately and runs some X applications to get
27       you going.  See the manual page for vncserver(1) for more information.
28
29

OPTIONS

31       Xvnc takes lots of options - running Xvnc -help gives a list.  Many  of
32       these  are  standard  X  server  options,  which  are  described in the
33       Xserver(1) manual page.  In addition to options which can only  be  set
34       via the command-line, there are also "parameters" which can be set both
35       via the command-line and through the vncconfig(1) program.
36
37
38       -geometry widthxheight
39              Specify the size of  the  desktop  to  be  created.  Default  is
40              1024x768.
41
42
43       -depth depth
44              Specify  the  pixel  depth in bits of the desktop to be created.
45              Default is 24, other possible values are 8, 15, and  16  -  any‐
46              thing else is likely to cause strange behaviour by applications.
47
48
49       -pixelformat format
50              Specify  pixel format for server to use (BGRnnn or RGBnnn).  The
51              default for depth 8 is BGR233 (meaning the most significant  two
52              bits represent blue, the next three green, and the least signif‐
53              icant three represent red), the default for depth 16  is  RGB565
54              and for depth 24 is RGB888.
55
56
57       -interface IP address or -i IP address
58              Listen  on  interface.  By default Xvnc listens on all available
59              interfaces.
60
61
62       -cc 3  As an alternative to the default TrueColor visual,  this  allows
63              you  to  run  an Xvnc server with a PseudoColor visual (i.e. one
64              which uses a color map or palette), which can be useful for run‐
65              ning  some old X applications which only work on such a display.
66              Values other than 3 (PseudoColor) and 4 (TrueColor) for the  -cc
67              option may result in strange behaviour, and PseudoColor desktops
68              must be 8 bits deep (i.e. -depth 8).
69
70
71       -inetd This significantly changes Xvnc's behaviour so that  it  can  be
72              launched from inetd.  See the section below on usage with inetd.
73
74
75       -help  List all the options and parameters
76
77

PARAMETERS

79       VNC  parameters  can  be  set both via the command-line and through the
80       vncconfig(1) program, and with a VNC-enabled Xorg  server  via  Options
81       entries in the xorg.conf file.
82
83       Parameters  can be turned on with -param or off with -param=0.  Parame‐
84       ters which take a value can be specified as -param value.  Other  valid
85       forms  are param=value -param=value --param=value.  Parameter names are
86       case-insensitive.
87
88
89       -desktop desktop-name
90              Each desktop has a name which may be displayed by the viewer. It
91              defaults to "x11".
92
93
94       -rfbport port
95              Specifies  the  TCP  port  on which Xvnc listens for connections
96              from viewers (the protocol used in VNC is called RFB  -  "remote
97              framebuffer").  The default is 5900 plus the display number.
98
99
100       -rfbwait time, -ClientWaitTimeMillis time
101
102              Time  in  milliseconds  to  wait  for a viewer which is blocking
103              Xvnc.  This is necessary because  Xvnc  is  single-threaded  and
104              sometimes  blocks  until  the  viewer  has  finished  sending or
105              receiving a message - note that this does  not  mean  an  update
106              will be aborted after this time.  Default is 20000 (20 seconds).
107
108
109       -httpd directory
110              Run  a mini-HTTP server which serves files from the given direc‐
111              tory.  Normally the directory will contain the classes  for  the
112              Java viewer.  In addition, files with a .vnc extension will have
113              certain substitutions made so that a single installation of  the
114              Java VNC viewer can be served by separate instances of Xvnc.
115
116
117       -httpPort port
118              Specifies  the port on which the mini-HTTP server runs.  Default
119              is 5800 plus the display number.
120
121
122       -rfbauth passwd-file, -PasswordFile passwd-file
123              Specifies the file containing the password used to  authenticate
124              viewers.   The file is accessed each time a connection comes in,
125              so it can be changed on the fly via vncpasswd(1).
126
127
128       -deferUpdate time
129              Xvnc uses a "deferred update" mechanism which  enhances  perfor‐
130              mance  in  many cases. After any change to the framebuffer, Xvnc
131              waits for this number of milliseconds (default 1) before sending
132              an  update  to any waiting clients. This means that more changes
133              tend to get coalesced together in a single update. Setting it to
134              0  results  in  the  same behaviour as earlier versions of Xvnc,
135              where the first change to the framebuffer  causes  an  immediate
136              update to any waiting clients.
137
138
139       -SendCutText
140              Send  clipboard  changes  to clients (default is on).  Note that
141              you must also run vncconfig(1) to get the clipboard to work.
142
143
144       -AcceptCutText
145              Accept clipboard updates from clients  (default  is  on).   Note
146              that  you  must  also  run  vncconfig(1) to get the clipboard to
147              work.
148
149
150       -AcceptPointerEvents
151              Accept pointer press and release events from clients (default is
152              on).
153
154
155       -AcceptKeyEvents
156              Accept  key  press  and  release events from clients (default is
157              on).
158
159
160       -DisconnectClients
161              Disconnect existing clients if an incoming  connection  is  non-
162              shared  (default  is  on). If DisconnectClients is false, then a
163              new non-shared connection will  be  refused  while  there  is  a
164              client  active.   When combined with NeverShared this means only
165              one client is allowed at a time.
166
167
168       -NeverShared
169              Never treat incoming connections as shared,  regardless  of  the
170              client-specified setting (default is off).
171
172
173       -AlwaysShared
174              Always  treat  incoming connections as shared, regardless of the
175              client-specified setting (default is off).
176
177
178       -Protocol3.3
179              Always use protocol version 3.3 for backwards compatibility with
180              badly-behaved clients (default is off).
181
182
183       -CompareFB
184              Perform  pixel  comparison  on framebuffer to reduce unnecessary
185              updates (default is on).
186
187
188       -SecurityTypes sec-types
189              Specify which security schemes to use separated by  commas.   At
190              present only "None" and "VncAuth" are supported.  The default is
191              "VncAuth" - note that if  you  want  a  server  which  does  not
192              require a password, you must set this parameter to "None".
193
194
195       -IdleTimeout seconds
196              The number of seconds after which an idle VNC connection will be
197              dropped (default is 0, which means that  idle  connections  will
198              never be dropped).
199
200
201       -QueryConnect
202              Prompts  the  user of the desktop to explicitly accept or reject
203              incoming connections.  This is most useful when using the vnc.so
204              module or x0vncserver(1) program to access an existing X desktop
205              via VNC.
206
207              The vncconfig(1) program must be running on the desktop in order
208              for  QueryConnect  to  be  supported  by the vnc.so(1) module or
209              Xvnc(1) program.  The x0vncserver(1) program  does  not  require
210              vncconfig(1) to be running.
211
212
213       -localhost
214              Only  allow connections from the same machine. Useful if you use
215              SSH and want to stop non-SSH connections from any  other  hosts.
216              See the guide to using VNC with SSH on the web site.
217
218
219       -log logname:dest:level
220              Configures the debug log settings.  dest can currently be stderr
221              or stdout, and level is between 0 and 100, 100 meaning most ver‐
222              bose output.  logname is usually * meaning all, but you can tar‐
223              get a specific source file if you know the  name  of  its  "Log‐
224              Writer".  Default is *:stderr:30.
225
226
227       -RemapKeys mapping
228              Sets up a keyboard mapping.  mapping is a comma-separated string
229              of  character  mappings,  each  of  the  form   char->char,   or
230              char<>char,  where char is a hexadecimal keysym. For example, to
231              exchange the " and @ symbols you would specify the following:
232
233                 RemapKeys=0x22<>0x40
234
235
236       -SecurityTypes security-type
237                 Comma-separated list of which security type(s) to use.  Types
238                 include   VeNCrypt,  X509Plain,  TLSPlain,  X509Vnc,  TLSVnc,
239                 X509None, TLSNone, VncAuth, None.  The list must  start  with
240                 VeNCrypt   for   the   X509  and  TLS  types.   For  example,
241                 -SecurityTypes=VeNCrypt,TLSVnc
242
243                 Description of options:
244
245                 VeNCrypt
246                        enable X509 and TLS options
247
248                 X509Plain
249                        X.509 encryption with Plain authentication
250
251                 TLSPlain
252                        TLS encryption with Plain authentication
253
254                 X509Vnc
255                        X.509 encryption with VNC password authentication
256
257                 TLSVnc TLS encryption with VNC password authentication
258
259                 X509None
260                        X.509 encryption with no authentication
261
262                 TLSNone
263                        TLS encryption with no authentication
264
265                 VNCAuth
266                        VNC password authencation (no encryption)
267
268                 None   No authentication, no encryption
269
270

USAGE WITH INETD

272       By configuring the inetd(1) service appropriately, Xvnc can be launched
273       on  demand when a connection comes in, rather than having to be started
274       manually.  When given the -inetd option, instead of listening  for  TCP
275       connections  on  a  given  port it uses its standard input and standard
276       output.  There are two modes controlled by the wait/nowait entry in the
277       inetd.conf file.
278
279       In the nowait mode, Xvnc uses its standard input and output directly as
280       the connection to a viewer.  It never has a listening socket, so cannot
281       accept  further connections from viewers (it can however connect out to
282       listening viewers by use of the  vncconfig  program).   Further  viewer
283       connections  to  the  same  TCP port result in inetd spawning off a new
284       Xvnc to deal with each connection.  When the connection to  the  viewer
285       dies,  the  Xvnc  and  any associated X clients die.  This behaviour is
286       most useful when combined with the XDMCP options -query and -once.   An
287       typical example in inetd.conf might be (all on one line):
288
289       5950    stream    tcp  nowait  nobody   /usr/local/bin/Xvnc Xvnc -inetd
290       -query localhost -once securitytypes=none
291
292       In this example a viewer connection to :50 will result in  a  new  Xvnc
293       for  that connection which should display the standard XDM login screen
294       on that machine.  Because the user needs to login via XDM, it  is  usu‐
295       ally OK to accept connections without a VNC password in this case.
296
297       In  the  wait mode, when the first connection comes in, inetd gives the
298       listening socket to Xvnc.  This means that for a given TCP port,  there
299       is  only  ever  one  Xvnc at a time.  Further viewer connections to the
300       same port are accepted by the same Xvnc in the normal way.   Even  when
301       the  original  connection is broken, the Xvnc will continue to run.  If
302       this is used with the XDMCP options -query  and  -once,  the  Xvnc  and
303       associated  X  clients will die when the user logs out of the X session
304       in the normal way.  It is important to use a VNC password in this case.
305       A typical entry in inetd.conf might be:
306
307       5951    stream    tcp  wait   james     /usr/local/bin/Xvnc Xvnc -inetd
308       -query localhost -once passwordFile=/home/james/.vnc/passwd
309
310       In fact typically, you would have one entry for each user who uses  VNC
311       regularly,  each  of  whom  has their own dedicated TCP port which they
312       use.  In this example, when user "james" connects to :51, he enters his
313       VNC  password,  then  gets the XDM login screen where he logs in in the
314       normal way.  However, unlike the previous example, if  he  disconnects,
315       the  session remains persistent, and when he reconnects he will get the
316       same session back again.  When he logs out of the X session,  the  Xvnc
317       will  die,  but  of  course a new one will be created automatically the
318       next time he connects.
319
320

SEE ALSO

322       vncconfig(1),  vncpasswd(1),  vncserver(1),  vncviewer(1),  Xserver(1),
323       inetd(1)
324       http://www.tigervnc.org
325
326

AUTHOR

328       Tristan Richardson, RealVNC Ltd.
329
330       VNC  was  originally  developed  by  the RealVNC team while at Olivetti
331       Research Ltd / AT&T Laboratories Cambridge.   TightVNC  additions  were
332       implemented  by Constantin Kaplinsky. Many other people participated in
333       development, testing and support.
334
335
336
337TigerVNC                          17 Apr 2006                          Xvnc(1)
Impressum