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 16, other possible values are 8, 15, and  24  -  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       -cc 3  As  an  alternative to the default TrueColor visual, this allows
58              you to run an Xvnc server with a PseudoColor  visual  (i.e.  one
59              which  uses  a  colour  map or palette), which can be useful for
60              running some old X applications which only work on such  a  dis‐
61              play.   Values  other than 3 (PseudoColor) and 4 (TrueColor) for
62              the -cc option may result in strange behaviour, and  PseudoColor
63              desktops must be 8 bits deep (i.e. -depth 8).
64
65
66       -inetd This  significantly  changes  Xvnc's behaviour so that it can be
67              launched from inetd.  See the section below on usage with inetd.
68
69
70       -help  List all the options and parameters
71
72

PARAMETERS

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

USAGE WITH INETD

231       By configuring the inetd(1) service appropriately, Xvnc can be launched
232       on  demand when a connection comes in, rather than having to be started
233       manually.  When given the -inetd option, instead of listening  for  TCP
234       connections  on  a  given  port it uses its standard input and standard
235       output.  There are two modes controlled by the wait/nowait entry in the
236       inetd.conf file.
237
238       In the nowait mode, Xvnc uses its standard input and output directly as
239       the connection to a viewer.  It never has a listening socket, so cannot
240       accept  further connections from viewers (it can however connect out to
241       listening viewers by use of the  vncconfig  program).   Further  viewer
242       connections  to  the  same  TCP port result in inetd spawning off a new
243       Xvnc to deal with each connection.  When the connection to  the  viewer
244       dies,  the  Xvnc  and  any associated X clients die.  This behaviour is
245       most useful when combined with the XDMCP options -query and -once.   An
246       typical example in inetd.conf might be (all on one line):
247
248       5950    stream    tcp  nowait  nobody   /usr/local/bin/Xvnc Xvnc -inetd
249       -query localhost -once securitytypes=none
250
251       In this example a viewer connection to :50 will result in  a  new  Xvnc
252       for  that connection which should display the standard XDM login screen
253       on that machine.  Because the user needs to login via XDM, it  is  usu‐
254       ally OK to accept connections without a VNC password in this case.
255
256       In  the  wait mode, when the first connection comes in, inetd gives the
257       listening socket to Xvnc.  This means that for a given TCP port,  there
258       is  only  ever  one  Xvnc at a time.  Further viewer connections to the
259       same port are accepted by the same Xvnc in the normal way.   Even  when
260       the  original  connection is broken, the Xvnc will continue to run.  If
261       this is used with the XDMCP options -query  and  -once,  the  Xvnc  and
262       associated  X  clients will die when the user logs out of the X session
263       in the normal way.  It is important to use a VNC password in this case.
264       A typical entry in inetd.conf might be:
265
266       5951    stream    tcp  wait   james     /usr/local/bin/Xvnc Xvnc -inetd
267       -query localhost -once passwordFile=/home/james/.vnc/passwd
268
269       In fact typically, you would have one entry for each user who uses  VNC
270       regularly,  each  of  whom  has their own dedicated TCP port which they
271       use.  In this example, when user "james" connects to :51, he enters his
272       VNC  password,  then  gets the XDM login screen where he logs in in the
273       normal way.  However, unlike the previous example, if  he  disconnects,
274       the  session remains persistent, and when he reconnects he will get the
275       same session back again.  When he logs out of the X session,  the  Xvnc
276       will  die,  but  of  course a new one will be created automatically the
277       next time he connects.
278
279

SEE ALSO

281       vncconfig(1),  vncpasswd(1),  vncserver(1),  vncviewer(1),  Xserver(1),
282       inetd(1)
283       http://www.realvnc.com
284
285

AUTHOR

287       Tristan Richardson, RealVNC Ltd.
288
289       VNC  was  originally  developed  by  the RealVNC team while at Olivetti
290       Research Ltd / AT&T Laboratories Cambridge.  It is now being maintained
291       by RealVNC Ltd.  See http://www.realvnc.com for details.
292
293
294
295RealVNC Ltd                       03 Mar 2005                          Xvnc(1)
Impressum