14. Networking X11

This allows you to run X11 programs remotely, but still have the display shown locally.

The "application server" can be a different CPU type from the X11 terminal, as long as they both agree on the X11 protocol, and things like fonts.

The X11 terminal can be a 4 MB 386, without much of a disk, and it will still work, however most people use it as a way of working on multiple machines, from one workstation.

Netscape didn't work with this, but mosaic did. Probably fixed since then.

14.1 The X11 terminal is the server
14.2 xhost pigeon
14.3 TODO - xauth
14.4 export DISPLAY=trix:0.0 ; xterm &


The X11 terminal is the server

When people connect 100 terminals to a central machine, they usually call the central box the "server" and the terminals "clients".

However, with X11, the service is not what the central box can offer. The service is "X11" (the display and keyboard). When you run a program on the central host, it initialises and looks for an X11 display. It looks at $DISPLAY, and calls the X11-terminal asking for the X11-display service.

IE the X11-terminal is the X11 server, and the program is running on the client.

To prevent anyone using you terminal display and keyboard, your X11-terminal chooses who it will accept connections from, using either xhost or xauth.


xhost pigeon

This command tell the RUNNING X11 server to allow any user on pigeon to access this X11 desktop.

You need it, so that when you start programs on pigeon, the window will be displayed here. IE pigeon can use your display.

This is a security hole, because ANY user on pigeeon can access your desktop, including grabbing you keyboard hence reading your passwords. If this is a problem, look at xauth. However, on isolated LAN's with only one user on pigeon, you decide.

Pigeon must be in the local /etc/hosts file, and the authority expires when the X11 server exits (XF86_SVGA).


TODO - xauth

xhost is insecure, because ANY user at pigeon can get access to your DISPLAY. xauth is supposed to be better, but it's not a simple to setup. TCL/TK won't accept xhost, and demands xauth, so maybe I'll have a go one day.


export DISPLAY=trix:0.0 ; xterm &

First telnet to pigeon, then run these commands.

It selects the X11 display where xterm's window will be drawn. xterm is really running on pigeon, but it appears to be local.

Because you exported DISPLAY, any programs started from that xterm will also appear on trix, but be running on pigeon.