Book: LPI Linux Certification in a Nutshell
Section: Chapter 18.  X (Topic 2.10)



18.1 An Overview of X

X is implemented using a client/server model. X servers and clients can be located on the same computer or separated across a network, so that computation is handled separately from display rendering. While X servers manage hardware, they do not define the look of the display and they offer no utilities to manipulate clients. The X server is responsible for rendering various shapes and colors on screen. Examples of X Servers include:

  • Software from XFree86, which controls your Linux PC's video card.

  • XFree86 software on a separate networked system, displaying output from a program running on your system.

  • Other networked Unix systems running their own X server software.

  • X implementations for other operating systems, such as Microsoft Windows.

  • An X Terminal, which is a hardware device with no computational ability of its own, built solely for display purposes.

X clients are user programs, such as spreadsheets or CAD tools, which display graphical output. Examples of X clients are:

  • A browser, such as Netscape Navigator.

  • A mail program, such as Evolution or Kmail.

  • Office applications, such as StarOffice, Gnumeric, or AbiWord.

  • A terminal emulator, such as xterm, running within an X window.

A special client program called a window manager is responsible for these functions and provides windows, window sizing, open and close buttons, and so forth. The window manager controls the other clients running under an X server. Multiple window managers are available for XFree86, allowing you to choose an interface style that suits your needs and personal taste.

A few complete graphical desktop environments are also available. These packages can include a window manager and additional applications that work together to create a complete, unified working environment. Most Linux distributions ship with either the KDE or GNOME, or both, along with a number of standalone window managers. There is no standard window manager or environment for Linux -- the selection is entirely up to the user.