An important innovation that arose from the X Window project, in addition to providing a common interface, is the division of labor between clients and servers. A client in this model is an application program that is built around a window- based user interface. In order to display information, the client calls upon a server to do the operations that will actually display the windows, menus, etc. The advantage of this client/server model is that clients and servers do not have to run on the same machine. In most local networks, the server software runs on workstations. Many clients, for example editors, mail systems, calendars, and status displays, also run on workstations, but complex, compute-intensive applications can run on high performance machines. As long as the application software implements the X Window client protocol it can run by users from any system that is capable of being an X server.
The most straightforward way to run an X application on another machine in your local network is to use rlogin to connect to that machine. When you are logged in, you simply start the application. Previously we used Mathematica as an example of a service you might find on another computer in your network. One way to use Mathematica is to log in to the system where it is installed, and then type math (the Unix command that starts Mathematica). Text input and output will go in the shell window you used for the rlogin command. When you ask Mathematica to draw a window, e.g. for a plot command, the window will appear on your workstation because Mathematica (the client) asks your workstation (the server) to make a window for it.