An X server is a program in the X Window System that runs on local machines (i.e., the computers used directly by users) and handles all access to the graphics cards, display screens and input devices (typically a keyboard and mouse) on those computers for the GUIs (graphical user interfaces). The X Window System, often referred to merely as X, is a complete, cross-platform and free client-server system for managing GUIs on single computers and on networks of computers. The client-server model is an architecture (i.e., network design) that divides the work between two separate but linked applications, referred to as clients and servers.
In the typical client/server relationship, the client application runs on the local machine and the server application can run on either the local machine or a remote machine (i.e., any other computer on the network). In X, however. this relationship is inverted in that each local machine contains X server software and can access X client programs that run either on the same machine or on a remote machine. This has the advantage of eliminating the need for the application programs to be aware of the details of the graphics cards, monitors and other hardware, thereby simplifying the development of such programs and facilitating their servicing of multiple users on the network simultaneously.
Any application program that runs in a GUI provided by X, which is virtually every GUI used on Linux and other Unix-like operating systems, is an X client. Thus OpenOffice, Apache, gedit, gFTP, the GIMP, rCalc and Xpdf are all X clients when used on such operating systems.
A major feature of X is network transparency, which means that any X client can run either on the local machine or on a remote machine without any obvious difference to the user in most cases. This offers several important advantages, including greater ease of use for ordinary users and simplified administration.
Created December 28, 2005.