man pages section 1: User Commands

Exit Print View

Updated: July 2014

Xvnc (1)


Xvnc - the X VNC server


/usr/bin/Xvnc [options] :display#


Virtual Network Computing                                 Xvnc(1)

     Xvnc - the X VNC server

     /usr/bin/Xvnc [options] :display#

     Xvnc is the X VNC (Virtual Network Computing) server.  It is
     based on a standard X server, but it has a "virtual"  screen
     rather  than  a  physical one.  X applications display them-
     selves on it as if it were a normal X display, but they  can
     only be accessed via a VNC viewer - see vncviewer(1).

     So Xvnc is really two servers in one. To the applications it
     is an X server, and to the remote VNC  users  it  is  a  VNC
     server.  By  convention we have arranged that the VNC server
     display number will be the same as the X server display num-
     ber,  which  means you can use eg. snoopy:2 to refer to dis-
     play 2 on machine "snoopy" in both the X world and  the  VNC

     The  best  way of starting Xvnc is via the vncserver script.
     This sets up the environment appropriately and runs  some  X
     applications to get you going.  See the manual page for vnc-
     server(1) for more information.

     Xvnc takes lots of options -  running  Xvnc  -help  gives  a
     list.   Many  of  these are standard X server options, which
     are described in the Xserver(1) manual page.  In addition to
     options  which  can  only be set via the command-line, there
     are also "parameters" which can be set both via the command-
     line and through the vncconfig(1) program.

     -geometry widthxheight
          Specify  the size of the desktop to be created. Default
          is 1024x768.

     -depth depth
          Specify the pixel depth in bits of the  desktop  to  be
          created.  Default  is  24, other possible values are 8,
          15, and 16 - anything else is likely to  cause  strange
          behaviour by applications.

     -pixelformat format
          Specify  pixel  format  for  server  to  use (BGRnnn or
          RGBnnn).  The default for depth 8  is  BGR233  (meaning
          the  most significant two bits represent blue, the next

TigerVNC             Last change: 17 Apr 2006                   1

Virtual Network Computing                                 Xvnc(1)

          three green, and the least significant three  represent
          red),  the default for depth 16 is RGB565 and for depth
          24 is RGB888.

     -interface IP address or -i IP
          Listen on interface. By default  Xvnc  listens  on  all
          available interfaces.

     -cc 3
          As an alternative to the default TrueColor visual, this
          allows you to run an Xvnc  server  with  a  PseudoColor
          visual  (i.e.  one  which uses a color map or palette),
          which can be useful for running some old X applications
          which only work on such a display.  Values other than 3
          (PseudoColor) and 4 (TrueColor) for the -cc option  may
          result  in  strange behaviour, and PseudoColor desktops
          must be 8 bits deep (i.e. -depth 8).

          This significantly changes Xvnc's behaviour so that  it
          can  be  launched from inetd.  See the section below on
          usage with inetd.

          List all the options and parameters

     VNC parameters can be set  both  via  the  command-line  and
     through the vncconfig(1) program.

     Parameters  can  be  turned  on  with  -param  or  off  with
     -param=0.  Parameters which take a value can be specified as
     -param   value.    Other   valid   forms   are   param=value
     -param=value --param=value.  Parameter names are case-insen-

     -desktop desktop-name
          Each  desktop  has a name which may be displayed by the
          viewer. It defaults to "x11".

     -rfbport port
          Specifies the TCP port on which Xvnc listens  for  con-
          nections  from  viewers  (the  protocol  used in VNC is
          called RFB - "remote  framebuffer").   The  default  is
          5900 plus the display number.

TigerVNC             Last change: 17 Apr 2006                   2

Virtual Network Computing                                 Xvnc(1)

     -rfbwait time, -ClientWaitTimeMillis time

          Time  in  milliseconds  to  wait  for a viewer which is
          blocking Xvnc.  This is necessary because Xvnc is  sin-
          gle-threaded  and sometimes blocks until the viewer has
          finished sending or receiving a  message  -  note  that
          this does not mean an update will be aborted after this
          time.  Default is 20000 (20 seconds).

     -httpd directory
          Run a mini-HTTP server  which  serves  files  from  the
          given  directory.   Normally the directory will contain
          the classes for the Java viewer.   In  addition,  files
          with  a  .vnc extension will have certain substitutions
          made so that a single  installation  of  the  Java  VNC
          viewer can be served by separate instances of Xvnc.

     -httpPort port
          Specifies  the port on which the mini-HTTP server runs.
          Default is 5800 plus the display number.

     -rfbauth passwd-file, -PasswordFile passwd-file
          Specifies the file  containing  the  password  used  to
          authenticate viewers.  The file is accessed each time a
          connection comes in, so it can be changed  on  the  fly
          via vncpasswd(1).

     -deferUpdate time
          Xvnc  uses a "deferred update" mechanism which enhances
          performance in many cases.  After  any  change  to  the
          framebuffer, Xvnc waits for this number of milliseconds
          (default 1) before sending an  update  to  any  waiting
          clients.  This means that more changes tend to get coa-
          lesced together in a single update.  Setting  it  to  0
          results  in  the  same behaviour as earlier versions of
          Xvnc, where the first change to the framebuffer  causes
          an immediate update to any waiting clients.

          Send  clipboard  changes  to  clients  (default is on).
          Note that you must also run  vncconfig(1)  to  get  the
          clipboard to work.

          Accept  clipboard updates from clients (default is on).
          Note that you must also run  vncconfig(1)  to  get  the

TigerVNC             Last change: 17 Apr 2006                   3

Virtual Network Computing                                 Xvnc(1)

          clipboard to work.

          Accept  pointer  press  and release events from clients
          (default is on).

          Accept  key  press  and  release  events  from  clients
          (default is on).

          Disconnect  existing  clients if an incoming connection
          is non-shared (default is on). If DisconnectClients  is
          false, then a new non-shared connection will be refused
          while there is a client  active.   When  combined  with
          NeverShared  this means only one client is allowed at a

          Never treat incoming connections as shared,  regardless
          of the client-specified setting (default is off).

          Always treat incoming connections as shared, regardless
          of the client-specified setting (default is off).

          Always use protocol version 3.3 for backwards  compati-
          bility with badly-behaved clients (default is off).

          Perform  pixel  comparison  on  framebuffer  to  reduce
          unnecessary updates (default is on).

     -SecurityTypes sec-types
          Specify which security schemes to use separated by com-
          mas.   At  present  only  "None" and "VncAuth" are sup-
          ported.  The default is "VncAuth" - note  that  if  you
          want  a  server  which does not require a password, you
          must set this parameter to "None".

     -IdleTimeout seconds
          The  number  of  seconds  after  which  an   idle   VNC

TigerVNC             Last change: 17 Apr 2006                   4

Virtual Network Computing                                 Xvnc(1)

          connection  will  be dropped (default is 0, which means
          that idle connections will never be dropped).

          Prompts the user of the desktop to explicitly accept or
          reject  incoming connections.  This is most useful when
          using the module or  x0vncserver(1)  program  to
          access an existing X desktop via VNC.

          The vncconfig(1) program must be running on the desktop
          in order  for  QueryConnect  to  be  supported  by  the
   module  or  Xvnc(1)  program.   The  x0vnc-
          server(1) program does not require vncconfig(1)  to  be

          Only allow connections from the same machine. Useful if
          you use SSH and want to stop non-SSH  connections  from
          any other hosts. See the guide to using VNC with SSH on
          the web site.

     -log logname:dest:level
          Configures the debug log settings.  dest can  currently
          be  stderr  or  stdout, and level is between 0 and 100,
          100 meaning most verbose output.  logname is usually  *
          meaning  all, but you can target a specific source file
          if you know the name of its  "LogWriter".   Default  is

     -RemapKeys mapping
          Sets  up  a keyboard mapping.  mapping is a comma-sepa-
          rated string of character mappings, each  of  the  form
          char->char,  or char<>char, where char is a hexadecimal
          keysym. For example, to exchange the "  and  @  symbols
          you would specify the following:


     By configuring the inetd(1M) service appropriately, Xvnc can
     be launched on demand when a  connection  comes  in,  rather
     than  having  to be started manually.  When given the -inetd
     option, instead of listening for TCP connections on a  given
     port  it uses its standard input and standard output.  There
     are two modes controlled by the  wait/nowait  entry  in  the
     inetd.conf file.

TigerVNC             Last change: 17 Apr 2006                   5

Virtual Network Computing                                 Xvnc(1)

     In  the nowait mode, Xvnc uses its standard input and output
     directly as the connection to a viewer.  It never has a lis-
     tening  socket,  so  cannot  accept further connections from
     viewers (it can however connect out to listening viewers  by
     use  of  the vncconfig program).  Further viewer connections
     to the same TCP port result in inetd spawning off a new Xvnc
     to  deal  with  each connection.  When the connection to the
     viewer dies, the Xvnc and  any  associated  X  clients  die.
     This  behaviour  is most useful when combined with the XDMCP
     options -query and -once.

     The provided application/x11/xvnc-inetd service defaults  to

     /usr/bin/Xvnc   -inetd   -query  localhost  -once  security-

     in  nowait  mode.    This  service  can   be   enabled   via
     svcadm(1m),  and  configured to use other modes or arguments
     via svccfg(1m).

     In this configuration, connecting to :0 will result in a new
     Xvnc  for  that connection which should display the standard
     graphical login screen on that machine.   (To  enable  this,
     you  will  also  have to enable XDMCP network connections on
     the login screen.   See gdm(1) for  details.)   Because  the
     user  needs  to  login  via this screen, it is usually OK to
     accept connections without a VNC password in this case.

     In the wait mode, when the first connection comes in,  inetd
     gives  the  listening socket to Xvnc.  This means that for a
     given TCP port, there is only ever one Xvnc at a time.  Fur-
     ther viewer connections to the same port are accepted by the
     same Xvnc in the normal way.  Even when the original connec-
     tion  is  broken, the Xvnc will continue to run.  If this is
     used with the XDMCP options -query and -once, the  Xvnc  and
     associated  X clients will die when the user logs out of the
     X session in the normal way.  It is important to use  a  VNC
     password in this case.  A typical command line to include in
     the service exec property might be:

     /usr/bin/Xvnc Xvnc -inetd -query localhost  -once  password-

     In  fact  typically,  you would have one entry for each user
     who uses VNC regularly, each of whom has their own dedicated
     TCP port which they use.  In this example, when user "james"
     connects, he enters his VNC password, then  gets  the  login
     screen  where he logs in in the normal way.  However, unlike
     the previous example, if he disconnects, the session remains
     persistent, and when he reconnects he will get the same ses-
     sion back again.  When he logs out of  the  X  session,  the

TigerVNC             Last change: 17 Apr 2006                   6

Virtual Network Computing                                 Xvnc(1)

     Xvnc will die, but of course a new one will be created auto-
     matically the next time he connects.

     vncconfig(1),  vncpasswd(1),   vncserver(1),   vncviewer(1),
     Xserver(1), inetd(1)

     Tristan Richardson, RealVNC Ltd.

     VNC  was  originally  developed by the RealVNC team while at
     Olivetti  Research  Ltd  /  AT&T   Laboratories   Cambridge.
     TightVNC additions were implemented by Constantin Kaplinsky.
     Many other people participated in development,  testing  and

     See   attributes(5)   for   descriptions  of  the  following

     |      ATTRIBUTE TYPE         |      ATTRIBUTE VALUE        |
     |Availability                 |x11/server/xvnc              |
     |Interface Stability          |Volatile                     |

TigerVNC             Last change: 17 Apr 2006                   7