LBXPROXY



LBXPROXY

NAME
SYNOPSIS
DESCRIPTION
ATOM CONTROL
BUGS

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 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 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.






Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.