xmove(1)

NAME
xmove - pseudoserver to support mobile X11 clients

SYNOPSIS
xmove [ -server [server_name]:port ] [ -port listen_port ] ] [ -interface listen_interface ]

DESCRIPTION
xmove starts a pseudoserver which allows its X11 clients to be relocated from one display to another. Upon startup it will create a listening port from which it accepts new client connections. All such clients will be displayed on the default server, until moved elsewhere. Several clients may connect through a single xmove, thus requiring only one per machine.

xmove will assume logical default values for both the default listening port, default interface and the default server. Take as an example a typical machine named chestnut, with a standard X11 server named chestnut:0.

The default server is obtained from the environment variable DISPLAY at start-up time, which would normally be set to chestnut:0, as in our example. This server is the display to which all new connections will be initially sent. The default server should never be set to another xmove.

The default listening port is 1. In our example, this would mean clients should be sent to chestnut:1 instead of chestnut:0 if you wish them to be run through xmove.

The default is to listen on all interfaces of the machine, so local clients can use both localhost:1 and chestnut:1. xmove can be restricted to only listen on one specific interface.

TYPICAL USAGE
Assuming that the environment variable DISPLAY contains the name of your default server, no options need to be set.

xmove will listen for new connections at localhost:1, where localhost is the machine on which xmove is being run.

xmove displays messages to stdout and stderr as it runs, including information when a client is moved and whenever the X11 server sends an error to a client.

To manipulate clients running on an xmove, see xmovectrl.

SECURITY
xmove supports both host-level security, implemented with xhost, and MIT-MAGIC-COOKIE-1, implemented with xauth. A new client will only be permitted access through xmove if it could have been started on the default server directly. A client can be moved to a new server if that new server either permits the host on which xmove is running via xhost, or if the user moving the client has access to the proper cookie entry for the new server.

OPTIONS

-server
    Use the specified server as the default server to which all clients are to be initially displayed.

-port
    Use the specified port as the default port through which all clients should connect to xmove. Users must specify a DISPLAY of localhost:n, where localhost is the name of the machine on which xmove was executed, and n is the specified port. The port must be a number from 1 to 9.

-interface
    Clients can only connect to xmove through the specified interface. Users must specify a DISPLAY of name:n, where name is a name of that perticular interface on the machine on which xmove was executed. Without this option, xmove will accept connections to all interfaces on the machine.

MULTI-HEADED DISPLAYS
xmove supports displays that have multiple screens. When moving a client it is possible to specify the screen on the destination machine. When starting a client through an xmove with a multi-headed default server, it is possible to specify the screen on which the client should appear, so long as both screens have the same characteristics (ie. both 1-bit, or both 8-bit color, etc.) If the screens are different, it is necessary to start the client on screen 0 and then move to the desired screen.

X TERMINALS
    In order to use xmove with an X terminal you can run xmove on another workstation, and specify the X terminal as the default server. If multiple people wish to run xmove on the same workstation for multiple X terminals, each xmove must have its own listening port.

ENVIRONMENT

The environment variable XMOVE_ATOMMAP_LIBPATH can be set to the directory where xmove's support libraries are located. This will override the directory set at compile time.

SEE ALSO
xmovectrl(1), X11(7), xhost(1), xauth(1)

BUGS
This is a fairly untested product. Without attempting to frighten off potential users, it is recommended that all applications intended to be used with xmove first be tested in an xmove environment. This includes attempting to move the application to a new server.

xmove does not work in all environments nor with all programs. Although xmove does support moving clients between displays with different characteristics, there are limitations. Most notably, a client started on a 1-bit black-and-white display can only be moved to other 1-bit displays

xmove requires font compatibility between displays. Thus, if your client makes use of a certain font, that font must be available on all displays to which your client is moved.

Bug reports and other problems may be sent to ethan@cs.columbia.edu.

Questions regarding xmove, its capabilities, limitations and future possibilities may be sent to that email address, or posted to comp.windows.x.

NOTES
Always remember that not all of your applications need to use xmove. If some of your clients prove incompatible with xmove, simply run them directly to the desired server.

AUTHORS
Ethan Solomita, Columbia University

Peter Skopp, Columbia University

Ari Shamash, Columbia University

This work was supported by Professor Dan Duchamp of Columbia University and by Dick Sillman and Jim Kempf of Sun Microsystems, Inc.

xmove is based upon xmon, which was written by Greg McFarlane, OTC, Australia.

xmon was based upon xscope, written by James L. Peterson, MCC.