unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



lbxproxy(1X)							 lbxproxy(1X)



NAME

  lbxproxy - Low BandWidth X proxy

SYNOPSIS

  lbxproxy [:<&lt;display_port>&gt;] [option]

OPTIONS

  The lbxproxy program accepts the following options:

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

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

  <display_port>
      If <display_port>	argument is specified, the proxy uses 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 defaults	to port	63.  If	the port that the proxy	tries
      to listen	on is in use, the proxy	exits with an error message.

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

  -[terminate|reset]
      The default behavior of lbxproxy is to continue running as usual when
      the last client exits.  The -terminate option causes lbxproxy to exit
      when the last client exits.  The -reset option causes 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 causes lbxproxy to reset	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	InternAtom requests.

  -noatomsfile
      Disables reading the atoms control file.	See the	section	on ATOM	CON-
      TROL for more details.

  -atomsfile file
      Overrides	the default AtomControl	file.  See the section on ATOM CON-
      TROL 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	tag cache (in bytes).

  -zlevel level
      Set the Zlib compression level (used for stream compression). Default
      is 9; 1 =	worst compression, fastest and 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.

  -pn The -pn option permits lbxproxy to continue running if it	fails to
      establish	all of its well-known sockets but establishes at least one.





DESCRIPTION

  Applications that would like to take advantage of the	Low Bandwidth exten-
  sion to X (LBX) must make their connections to an lbxproxy.  These applica-
  tions	need to	know nothing about LBX,	they simply connect to the lbxproxy
  as if	it 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 or high latency connections.

  With regard to authentication	and authorization, lbxproxy simply passes
  along	to the server the credentials presented	by the client.	Since X
  clients 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.  The lbxproxy does not	get involved with how these entries are	added
  to the .Xauthority file. The user is responsible for setting it up.

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 installa-
  tion 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; 'n' means
  data for properties with this	name should never be delayed and 'w' means
  data for properties with this	name should be delayed only if a window
  manager is also running through the same lbxproxy.

USING LBX

    +  On systems without DECnet, you must start the lbxproxy utility with
       the -pn option.

    +  The X server does not use node-based access control (xhost +host_name)
       for LBX clients.

    +  XDM-AUTHORIZATION-1 authorization works for LBX clients only if the
       client is running on the	same system as the lbxproxy that it is using
       and if the client specifies a network connection	to lbxproxy (-display
       host_name:1) instead of a local connection (-display :1).
  You can use the following methods to authorize an LBX	client to display on
  an X server:

    +  Use MIT-MAGIC-COOKIE-1 authorization by including the MIT-MAGIC-
       COOKIE-1	entries	in the LBX client's XAUTHORITY file.

    +  Use XDM-AUTHORIZATION-1 authorization and run a separate	lbxproxy on
       each client system that is used by the clients on that system. Also,
       set the clients'	display	specifications to use a	network	connection to
       lbxproxy	process	(host_name:1).

    +  Disable access control in the X server by starting the X	server with
       the -ac options or by using the xhost + command.	These methods are
       insecure	and are	not recommended.

  If you use the MIT-MAGIC-COOKIE-1 or XDM-AUTHORIZATION-1 authorization
  methods with an LBX client, the client's XAUTHORITY file entries must
  specify the display name for the lbxproxy utility and	the authorization key
  for the target X server.

EXAMPLES

  The following	are some examples of using LBX.	In these examples, server is
  the system running the X server,  client1 is one system running LBX
  clients, and client2 is a second system running LBX clients.

    +  If the following	command	is executed on client1,	the lbxproxy listens
       for connections on client1:1 and	displays information on	server:0.
	    # lbxproxy -pn -display server:0 :1

       LBX clients running on client1 that are not using XDM-AUTHORIZATION-1
       authorization should set	their display to :1.  For example:
	    # xterm -display :1

       LBX clients running on client1 that are using XDM-AUTHORIZATION-1
       authorization should set	their display to client1:1.  For example:
	    # xterm -display client1:1

       All LBX clients on client2, regardless of whether they are using	XDM-
       AUTHORIZATION-1 authorization, should set their display to client1:1.

    +  To use the MIT-MAGIC-COOKIE-1 or	XDM-AUTHORIZATION-1 authorization
       mechanisms, set up your XAUTHORITY files	as follows:

	 -- The	X server's XAUTHORITY file:


		 server:0  MIT-MAGIC-COOKIE-1  0123456789abcdef0123456789abcdef
		 server/unix:0	MIT-MAGIC-COOKIE-1  0123456789abcdef0123456789abcdef

	 -- The	XAUTHORITY file	for lbxproxy:


		 server:0  MIT-MAGIC-COOKIE-1  0123456789abcdef0123456789abcdef
		 server/unix:0	MIT-MAGIC-COOKIE-1  0123456789abcdef0123456789abcde

	 -- The	LBX clients' XAUTHORITY	files (on both client1 and client2):


		 client1:1  MIT-MAGIC-COOKIE-1	0123456789abcdef0123456789abcdef
		 client1/unix:1	 MIT-MAGIC-COOKIE-1  0123456789abcdef0123456789abcdef



SEE ALSO

  Xdec(1)