xremote homepage

What is xremote?

xremote is a simple tool that lets you grab the mouse and keyboard of another machine and control them with your local mouse and keyboard. It creates a form of remote control of other machines.

You do need to be able to see the remote screen in order to know what you are doing. While the remote machine is being controlled all local mouse-clicks or keyboard presses are discarded, i.e. not seen by the local applications. So every mouseaction or keyboard klick ends up on the remote display.

License

xremote is released under the GNU General Public License (GPL).

Usage

Start the application and give as a parameter the name of the remote display.

        % xremote bar:0.0

When the application starts it asks you to press a key on the keyboard. This key is then used as a 'quit' key and the application will exit when the key is pressed the next time. The key must be selectable by the user, as common keys such as Escape might be needed by some applications for some purpose (emacs, vi) on the remote machine. Using this feature the user can select a key that will not be needed while using the remote system, such as F10. This behaviur can be overridden by entering the keycode using the commandline parameter -k (see below).

While the application runs all mouse events (clicks, releases, movement) and all keyboard events (press, release) are directly forwarded to the remote machine.

The local machine must of course have access to the display of the remote machine, otherwise xremote will not be able to connect to the remote xserver. Use xhost for that purpose. If we assume that the user will execute xremote from the host foo then this command can be issued on bar:

        % xhost +foo

Trace files

Traces are a way to record what is being done in a trace file. Mouse and keyboard actions are written to a file (as given using the -t option), and can later be automatically executed. This makes it possible to prerecord actions when the windows etc. on the controlled display are in known positions.

Executing traces will send all mouse movements as they were once executed, including all keyboard presses and releases. When executing a trace xremote is not interactive in any way, it just grabs the keyboard and mouse of the remote server and starts reading commands from the trace file and sends them to the remote server. When the trace file is executed xremote exits.

Options

xremote supports some commandline options:

-h shows a simple help message.

-v shows the program version.

-d delay specifies a delay in milliseconds used when sending events to the remote display. The value should be a integer number. Decrease if the system feels sluggish and slow to respond. Default: 10ms.

-k keycode specifies the keycode to the key to be used for quitting the application. If this parameter is given then xremote will not ask you to press the wanted key. This parameter makes it easier to script xremote.

-s factor specifies a scalefactor used to scale all coordinates before sending them to the remote display. This option is useful if the remote display has a different resolution than the local display. For a remote display of twice the resolution the value 2.0 can be used. The value can be a floating point number. Default: 1.0.

-t filename specifies that a trace file should be generated into filename. A trace can later be executed automatically using the parameter -x. The filename is required and has no default.

-x filename specifies that a prerecorded trace (recorded with -tshould be executed from the file filename. When executing a trace xremote is not interactive in any way, it just grabs the keyboard and mouse of the remote server and starts reading commands from filename which are sent to the remote server. When the trace file is executed xremote exits. The filename is required and has no default.

Download

The latest version is 2.0. Download as:

Older versions:

Installation

xremote should be easy to compile and install if you are using the tar.gz. Just issue the following commands to configure, compile and install it:

        % ./configure
        % make
        % make install

The application is installed in bindir and a man-page in mandir. Both can be given to ./configure. See

        % ./configure --help

for a summary of the options. If you want to use the RPM:s you only have to issue the following:

        % rpm -ivh xremote-2.0-1.i386.rpm

or alternatively for a straight install from the net:

        % rpm -ivh http://www.infa.abo.fi/~chakie/xremote/xremote-2.0-1.i386.rpm

To first rebuild xremote:

       % rpm --rebuild xremote-2.0-1.src.rpm
       % rpm -ivh /usr/src/redhat/RPMS/i386/xremote-2.0-1.i386.rpm

The destination directory where the rebuilt RPM ends up can be different on your system.

Credits

Credits go to Eugene Anikin, Stea Greene and Dobin Rutishauser for fixes and ideas.

About the author

xremote was written as a test February 2000 by Jan Ekholm. You can reach me at chakie@infa.abo.fi.

The homepage for xremote is at www.infa.abo.fi/~chakie/xremote/


Copyright (C) 2000,2001 Jan Ekholm
Last modified: June 25 2001 16:58:30.