LBXPROXY(1) UNIX Programmer's Manual 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 connec-
tions.
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 vari-
able.
-motion count
XFree86 Version 4.5.0 1
LBXPROXY(1) UNIX Programmer's Manual LBXPROXY(1)
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 sin-
gle 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 vari-
able, default number.
-[terminate|reset]
The default behavior of lbxproxy is to continue run-
ning 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.
XFree86 Version 4.5.0 2
LBXPROXY(1) UNIX Programmer's Manual LBXPROXY(1)
-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 previ-
ous request will be sent before those of a later
request. This puts substantial restrictions on when
lbxproxy can short circuit a request. The -cheater-
rors option allows lbxproxy to violate X protocol
rules with respect to errors. Use at your own risk.
XFree86 Version 4.5.0 3
LBXPROXY(1) UNIX Programmer's Manual LBXPROXY(1)
-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 over-
rides.
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.
XFree86 Version 4.5.0 4