I can just about spell "X". So I thought I'd go to Virginia Hetrick's "X for Idiots" class in search of little words and big pictures.
X is not a GUI, contrary to popular belief (or at least mine). It is simply a terminal, but one which specifically supports low-level graphics. X terminals can do raster graphics, vector graphics, clipping, and other functions. It requires the addition of a proper toolkit to X to get the GUI that people generally associate with high end Unix systems.
X terminals can be hard wired, or they can operate as emulators on desktop computers. The code that runs on the desktop is called the X server, and the code that runs on the host computer is called an X client. The mindset is a little different here; your application program is the client, and it calls the X code at the terminal to perform a server function. I guess it makes sense.
The server code is tightly written, about 50 KB total, and Virginia says it can't be improved upon much.