LBXPROXY(1)        X Version 11 (Release 6.6)         LBXPROXY(1)


     NAME
          lbxproxy - Low BandWidth X proxy

     SYNOPSIS
          lbxproxy [:<display>] [option]

     DESCRIPTION
          Applications that would like to take advantage of the Low
          Bandwidth extension to X (LBX) must make their connections
          to an lbxproxy.  These applications need to know nothing
          about LBX, they simply connect to the lbxproxy as if were a
          regular server.  The lbxproxy accepts client connections,
          multiplexes them over a single connection to the X server,
          and performs various optimizations on the X protocol to make
          it faster over low bandwidth and/or high latency
          connections.

          With regard to authentication/authorization, lbxproxy simply
          passes along to the server the credentials presented by the
          client.  Since X clients will connect to lbxproxy, it is
          important that the user's .Xauthority file contain entries
          with valid keys associated with the network ID of the proxy.
          lbxproxy does not get involved with how these entries are
          added to the .Xauthority file.  The user is responsible for
          setting it up.

          The lbxproxy program has various options, all of which are
          optional.

          If :<display> is specified, the proxy will use the given
          display port when listening for connections.  The display
          port is an offset from port 6000, identical to the way in
          which regular X display connections are specified.  If no
          port is specified on the command line option, lbxproxy will
          default to port 63.  If the port number that the proxy tries
          to listen on is in use, the proxy will attempt to use
          another port number.  If the proxy is not using the Proxy
          Manager and the default port number cannot be used, the port
          number that is used will be written to stderr.

          The other command line options that can be specified are:

          -help   Prints a brief help message about the command line
                  options.

          -display dpy
                  Specifies the address of the X server supporting the
                  LBX extension.  If this option is not specified, the
                  display is obtained by the DISPLAY environment
                  variable.

          -motion count


                  A limited number of pointer motion events are
                  allowed to be in flight between the server and the
                  proxy at any given time.  The maximimum number of
                  motion events that can be in flight is set with this
                  option; the default is 8.

          -maxservers number
                  The default behavior of lbxproxy is to manage a
                  single server.  However, lbxproxy can manage more
                  than one server.  The default maximum number of
                  servers is 20.  The number of servers can be
                  overridden by setting the environment variable
                  LBXPROXY_MAXSERVERS to the desired number.  The
                  order of precedence from highest to lowest: command
                  line, environment variable, default number.

          -[terminate|reset]
                  The default behavior of lbxproxy is to continue
                  running as usual when it's last client exits.  The
                  -terminate option will cause lbxproxy to exit when
                  the last client exits.  The -reset option will cause
                  lbxproxy to reset itself when the last client exits.
                  Resetting causes lbxproxy to clean up it's state and
                  reconnect to the server.

          -reconnect
                  The default behavior of lbxproxy is to exit when its
                  connection to the server is broken.  The -reconnect
                  option will cause lbxproxy to just reset instead
                  (see -reset above) and attempt to reconnect to the
                  server.

          -I      Causes all remaining arguments to be ignored.

          -nolbx  Disables all LBX optimizations.

          -nocomp Disables stream compression.

          -nodelta
                  Disables delta request substitutions.

          -notags Disables usage of tags.

          -nogfx  Disables reencoding of graphics requests (not
                  including image related requests).

          -noimage
                  Disables image compression.

          -nosquish
                  Disables squishing of X events.


          -nointernsc
                  Disables short circuiting of InternAtom requests.

          -noatomsfile
                  Disables reading of the atoms control file.  See the
                  section on "Atom Control" for more details.

          -atomsfile file
                  Overrides the default AtomControl file.  See the
                  section on "Atom Control" for more details.

          -nowinattr
                  Disables GetWindowAttributes/GetGeometry grouping
                  into one round trip.

          -nograbcmap
                  Disables colormap grabbing.

          -norgbfile
                  Disables color name to RGB resolution in proxy.

          -rgbfile path
                  Specifies an alternate RGB database for color name
                  to RGB resolution.

          -tagcachesize
                  Set the size of the proxy's tag cache (in bytes).

          -zlevel level
                  Set the Zlib compression level (used for stream
                  compression).
                  default is 6
                  1 = worst compression, fastest
                  9 = best compression, slowest

          -compstats
                  Report stream compression statistics every time the
                  proxy resets or receives a SIGHUP signal.

          -nozeropad
                  Don't zero out unused pad bytes in X requests,
                  replies, and events.

          -cheaterrors
                  Allows cheating on X protocol for the sake of
                  improved performance.  The X protocol guarantees
                  that any replies, events or errors generated by a
                  previous request will be sent before those of a
                  later request.  This puts substantial restrictions
                  on when lbxproxy can short circuit a request.  The
                  -cheaterrors option allows lbxproxy to violate X
                  protocol rules with respect to errors.  Use at your


                  own risk.

          -cheatevents
                  The -cheatevents option allows lbxproxy to violate X
                  protocol rules with respect to events as well as
                  errors.  Use at your own risk.

     ATOM CONTROL
          At startup, lbxproxy "pre-interns" a configurable list of
          atoms.  This allows lbxproxy to intern a group of atoms in a
          single round trip and immediately store the results in its
          cache.

          While running, lbxproxy uses heuristics to decide when to
          delay sending window property data to the server.  The
          heuristics depend on the size of the data, the name of the
          property, and whether a window manager is running through
          the same lbxproxy.

          Atom control is specified in the "AtomControl" file, set up
          during installation of lbxproxy, with command line
          overrides.

          The file is a simple text file.  There are three forms of
          lines:  comments, length control, and name control.  Lines
          starting with a '!' are treated as comments.  A line of the
          form

              z length

          specifies the minimum length in bytes before property data
          will be delayed.  A line of the form

              options atomname

          controls the given atom, where options is any combination of
          the following characters: 'i' means the atom should be pre-
          interned; and 'w' means data for properties with this name
          should be delayed only if a window manager is also running
          through the same lbxproxy.

     BUGS
          When the authorization protocol XDM-AUTHORIZATION-1 is used:

              A client must be on the same host as lbxproxy for the
              client to be authorized to connect to the server.

              If a client is not on the same host as lbxproxy, the
              client will not be authorized to connect to the server.


     Page 4                                          (printed 7/20/06)