|
NAMEdxpc - Differential X Protocol CompressorRELEASE3.9.1SYNOPSISdxpc [common] [client | server] [connect][common] options are:
[client] options (valid for CLIENT process) are:
[server] options (valid for SERVER process) are:
[connect] options are:
DESCRIPTIONdxpc is an X protocol compressor designed to improve the speed of X11 applications run over low-bandwidth links (such as dialup PPP connections).dxpc must be run at both ends of a low-bandwidth link. On the host where the real X server is, dxpc runs in "Server Proxy" mode. On the host at the other end of the link, dxpc runs in "Client Proxy" mode. The Client Proxy dxpc must be started first. When the Server Proxy dxpc is started, it connects to the Client Proxy. (Note that versions of dxpc before 3.3.1 used the opposite convention.) If either of the two communicating dxpc instances is subsequently terminated, the other one automatically shuts down. The Client Proxy mimics an X server. X client applications connect to the Client Proxy using display "unix:8" (or "<hostname>:8"; dxpc supports both UNIX domain and TCP sockets). The Client Proxy receives X requests from the application, compresses them, and sends them to the Server Proxy. The Server Proxy uncompresses the requests and sends them to the real X server. Similarly, the Server Proxy receives X events, replies, and errors from the real X server. It compresses these messages and sends them to the Client Proxy, which uncompresses them and sends them to the client application. The compression performance of dxpc depends upon the types of X applications being run. For many applications, dxpc achieves between 3:1 and 6:1 compression of the X protocol traffic. MODESdxpc has two modes; the connection mode, which is either listening or connecting; and the X mode, which is either client or server.The listening process waits for a connecting process to initiate the TCP connection between the two processes. The listening process must always be started first. The connecting process initiates the connection to the listening process. dxpc will run as the connecting process if a hostname argument is supplied (see connect options, above). Otherwise it will run as the listening process. The server process is typically located on the same machine as the real X server, and is responsible for displaying the output of applications. The client process is typically located on the same machine as the X applications, and is responsible for forwarding the output of those applications to the server process. By default, dxpc runs as the client process if it is the listening process (due to the lack of a hostname argument) and the server process if it is the connecting process, but the -w switch reverses this. For example, the command dxpc myhost.work.com starts dxpc as the connecting process (because a host name is supplied) and the server process (because it is the connecting process and -w is not supplied). The command dxpc -w starts dxpc as the listening process (because no hostname is supplied) and the server process (because it is the listening process, and -w reverses the usual logic). Options
EXAMPLESAssume that you're running a real X server on the console of a local workstation called homepc, and that you want to run some X applications on a remote system called workserver and have them display on the console of the local system.On workserver, run $ export DISPLAY=homepc:0 $ dxpc -f $ export DISPLAY=unix:8 On homepc, run $ export DISPLAY=unix:0 $ dxpc -f workserver Now on workserver, $ xterm& $ xemacs& etc... DXPC AND XAUTHIf you use X authorization, with a .Xauthority file on the workstation where your real X server runs, you'll need to set up a .Xauthority file on the host where the ClientProxy runs. One way to do this is:Copy your ~/.Xauthority file from the host where the real X server runs to the host where the Client Proxy runs. Run xauth listto see the authorization keys. There should be one for your real X display. It will look something like this: <hostname>/unix:0 MIT-MAGIC-COOKIE-1 <hex string>On the host where the Client Proxy is located, add a new entry to the .Xauthority file with the display name of the fake X server (the DISPLAY where the Client Proxy is listening) and all of the other values from the entry for the real X display. The xauth "add" command can be used, like this: xauth add <hostname>/unix:8 MIT-MAGIC-COOKIE-1 <hex string>where <hostname> is the name of the host where the Client Proxy is running and <hex string> has the same value as the <hex string> obtained for the real X display in step 2. Once you do this, you should be able to run X clients through dxpc successfully. TROUBLESHOOTINGSome windows don't appear. This can happen if the -ba option is used, and a client program (such as GNU Emacs version 20.3) does not request backing store and thus assumes that Expose events imply that the window has been mapped. Use -bw, or leave out the -b option altogether.No windows appear. This can happen if you are using a newer version of dxpc with an older one, from before the client and server roles were changed. A connection can be established between them, but both sides believe themselves to be the client side, or both sides believe themselves to be the server side. Make sure you're using the same version of dxpc at both ends of the connection. AUTHORBrian PaneMAINTAINERKevin Vigor (kevin@vigor.nu)ACKNOWLEDGMENTSdxpc has adopted many good ideas from the HBX and FHBX systems (http://www.cs.dartmouth.edu/~jmd/decs/DECSpage.html).Thanks to all of the users of dxpc who have contributed feedback and suggestions. SEE ALSOxauth(1), README file from dxpc distribution
Visit the GSP FreeBSD Man Page Interface. |