LBXPROXY(1) LBXPROXY(1)
NAME
lbxproxy - Low BandWidth X proxy
SYNOPSIS
lbxproxy [:] [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 respon-
sible for setting it up.
The lbxproxy program has various options, all of which are optional.
If : 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 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
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 connec-
tion 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 res-
olution.
-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 -cheater-
rors 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 send-
ing window property data to the server. The heuristics depend on the
size of the data, the name of the property, and whether a window man-
ager 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)
UNIX/Linux commands referenced on this page:
- as
- file
- which
- display
- last
- reset
- more
- size
- time
- at
- host