VNC(1)                                                     VNC(1)

     NAME
          vncs, vncv - remote frame buffer server and viewer for
          Virtual Network Computing (VNC)

     SYNOPSIS
          vncs [ -v ] [ -c cert ] [ -d :display ] [ -g widthxheight ]
          [ -p pixfmt ] [ -x net ] [ cmd [ args ] ]

          vncs -k :display [ -x net ]

          vncv [ -cstv ] [ -e encodings ] [ -k keypattern ] host[:n]

     DESCRIPTION
          VNC is a lightweight protocol for accessing graphical appli-
          cations remotely.  The protocol allows one or more clients
          to connect to a server.  While connected, clients display
          the frame buffer presented by the server and can send mouse
          events, keyboard events, and exchange snarf buffers.  The
          server persists across viewer sessions, so that the virtual
          application can be accessed from various locations as its
          owner moves around.

          VNC displays have names of the form host:n, where host is
          the machine's network name and n is a small integer identi-
          fier; display n is served on TCP port 5900+n.

          Vncs starts a new virtual frame buffer in memory, simulating
          a Plan 9 terminal running cmd args, by default an interac-
          tive shell.  As viewers connect, each is authenticated using
          a (rather breakable) challenge-response protocol using the
          user's Inferno/POP password.

          The options are:

          -c cert    start TLS on each viewer connection using the
                     certificate in the file cert. The corresponding
                     private key must be loaded into the server's
                     factotum(4). When serving TLS connections, the
                     base port is 35729 rather than 5900.

          -d :n      run on display n ; without this option, the
                     server searches for an unused display.

          -g widthxheight
                     set the virtual frame buffer to be widthxheight
                     (default 1024x768) pixels.

          -p pixfmt  set the virtual frame buffer's internal pixel
                     format to pixfmt (default r5g6b5).

     Page 1                       Plan 9            (printed 12/21/24)

     VNC(1)                                                     VNC(1)

          -v         print verbose output to standard error.

          -x net     announce on an alternate network interface.
                     Because of the weak authentication protocol and
                     default lack of encryption, this option must be
                     accompanied by -c.

          The command vncs -k :n kills the VNC server running on dis-
          play n.

          Vncv provides access to remote display host:n.  It resizes
          its window to be the smaller of the remote frame buffer size
          and the local screen.

          The options are:

          -c   when connecting to 8-bit displays, request r4g4b4 pix-
               els rather than r3g3b2 pixels.  This takes up more
               bandwidth but usually gives significantly better match-
               ing to the Plan 9 color map.

          -e encodings
               set the ordered list of allowed frame buffer update
               encodings.  The default (and full) set is copyrect
               corre hextile rre raw.  The encodings should be given
               as a single space-separated argument (quoted when using
               the shell).

          -k keypattern
               add keypattern to the pattern used to select a key from
               factotum(4).

          -s   share the display with extant viewers; by default
               extant viewers are closed when a new viewer connects.

          -t   start TLS on the connection.

          -v   print verbose output to standard error.

          The VNC protocol represents keyboard input as key up/down
          events.  Plan 9 does not expose the state of the Ctl and
          Shift keys except as it can be inferred from receipt of con-
          trol or shifted characters.  It does not expose the state of
          the Alt key at all, since the Alt key is used to compose
          Unicode characters (see keyboard(6)). Vncv correctly handles
          the sending of control and shifted characters.  To support
          systems that use key sequences like Alt-X (or worse, Alt-
          mouse-click), typing the Plan 9 compose sequences Alt Z A
          (for Alt), Alt Z C (for Ctrl), and Alt Z S (for Shift) will
          send a ``key down'' message for the given key.  A corre-
          sponding ``key up'' message will be sent after the next key
          is pressed, or when the sequence is retyped, whichever

     Page 2                       Plan 9            (printed 12/21/24)

     VNC(1)                                                     VNC(1)

          happens first.

     SOURCE
          /sys/src/cmd/vnc

     SEE ALSO
          drawterm(8)
          http://www.uk.research.att.com/vnc

     BUGS
          If the remote frame buffer is larger than the local screen,
          only the upper left corner can be accessed.

          Vncv does no verification of the TLS certificate presented
          by the server.

          Vncv supports only version 3.3 of the RFB protocol.

     Page 3                       Plan 9            (printed 12/21/24)