XROUTE(1)

NAME
xroute - route X packets through a gateway

SYNOPSIS
xroute [-n numclients] [-d gdisp] host[:display]

DESCRIPTION
Xroute was written to solve the problem of getting an X application to work over a gateway that will not route packets directly between "internal" and "external" hosts. The X server listens on port 6000 + d for requests made to display d. For example, "xterm -display zoof:2" sends packets to port 6002 on zoof, data destined for zoof:3 goes to port 6003, etc. By acting as a pipe between an X port on the gateway machine and an X port on the local machine, xroute provides a way for internal hosts to X off of external hosts, and vice versa.

EXAMPLE
Let's say that I wanted to run xrn from a foo.bar.edu, a host on the outside, pass it through the gateway, and display it on concorde, my machine. First, I would pick an arbitrary display number to set my remote DISPLAY variable: foo.bar.edu% setenv DISPLAY gateway.biz.com:2 Then, I would xhost (or add the corresponding line to .Xauthority) BOTH the gateway and the external machine. (This is necessary due to where the X packets look like they're coming from). concorde% xhost gateway.biz.com foo.bar.edu If I couldn't resolve foo.bar.edu by name locally, I'd have to use nslookup on the gateway, snarf the IP address, and xhost the IP address. We now set up the route between concorde and foo.bar.edu: gateway% xroute -d 2 concorde:0 With the route in place, I can now run xrn: foo.bar.edu% xrn And automagically, it pops up on concorde:0. (Alternatively, I could have not specified the -d argument, and would set my DISPLAY on foo.bar.edu according to the number that xroute printed) Note that the reverse is just as easily possible. If I want to display an X application from concorde to foo.bar.edu, I would set up the proper xhosting on foo.bar.edu, and would run xroute -d 2 foo.bar.edu:0 on the gateway.

OPTIONS

specifies the port number (6000 + gdisp) on the gateway to act as the proxy "X
    server". When omitted, xroute picks the lowest port available >= 6000, and prints the corresponding display number.

specifies the number of X clients you wish to route through the gateway to
    your system. It defaults to 1. The main program exits after numclients clients have established connections.

If a host is not specified, it defaults to the DISPLAY environment variable. If no display number is specified in the host, it defaults to 0.

AUTHOR
Kartik Subbarao <subbarao@fc.hp.com>

COMMENTS
Routing X packets the standard way outperforms xroute. Nevertheless, this program is very useful when, due to security concerns or other factors, arbitrary packets cannot be routed between internal and external machines. Enhancements, questions, comments, etc. are welcome.