lbxproxy



LBXPROXY(1)                                                        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 con-
       nections,  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 .Xau-
       thority file contain entries with valid keys associated with  the  net-
       work  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 exten-
               sion.  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
               maximum  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   LBX-
               PROXY_MAXSERVERS to the desired number.  The  order  of  prece-
               dence  from  highest to lowest: command line, environment vari-
               able, 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 lbx-
               proxy  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 reso-
               lution.

       -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 perfor-
               mance.  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: com-
       ments, 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  fol-
       lowing  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.



                                                                   LBXPROXY(1)

Man(1) output converted with man2html