Introduction to UNIX - Part 3: The GUI
Graphical User Interfaces in UNIXIt is important to recognize that in UNIX the GUI is separate from the operating system itself. This is unlike Windows or MacOS9 and earlier which won't run without the GUI (or at the very least are extremely crippled if you do so). The GUI on UNIX is a separate layer that sits on top of the core operating system. In principle, you can uninstall the GUI and still have a completely functional UNIX system sans any graphical programs.
The X Window SystemVersion 11 of something called the X Window System is the underlying graphics layer on all modern UNIX systems (Except for MacOSX where it is an optional add-on). "X Windows", or just "X11" or "X" as it is commonly called, provides the glue between the underlying operating system, graphical applications, and graphics hardware. There are many thousands of software applications written for the X window system.
X by itself is not a GUI. Rather, X provides the facilities that a GUI requires - namely the ability to accept input from devices like a mouse and keyboard, and the ability to draw graphical objects to a computer display. So, despite its name, the X Window System cannot draw "windows", at least not by the modern definition of "window". This is the job of another piece of software called the window manager. There are many different window managers available for X. Some of these are proprietary and will only run on a particular type of UNIX. Some of these are open and will run on any system that has X installed.
For the most part, the window manager is what defines the "look and feel" of an X-based Graphical User Interface. It provides features such as window frames and buttons, window titles, window resizing (as well as maximize and minimize features), icons, toolbars, desktop backgrounds/menus and many other user interface elements. Some window managers also ship with their own set of desktop applications like file browsers, mail clients and other common utilities.
Because the window manager is just a piece of software that sits on top of X, there may be several different GUIs to choose from on a given UNIX system. Not all systems come preinstalled with multiple window managers to choose from, but this is something to keep in mind. Linux systems, in particular, often have a number of different GUIs to choose from at the console login screen (or via some other mechanism once you've logged in).
The window manager has been a somewhat fragmented space across different UNIX platforms. Some groups have attempted to unify the look and feel of all UNIX desktops by creating window managers that are open standards but in the end nothing has emerged as a de-facto standard that is adopted uniformly across all platforms. Below is a list of some of the more prevalent window managers that you are likely to encounter.
A list of common window managers
Getting to Know XThe X Window System has some very unique and useful features. These things are provided by X itself and as such are common to all X window managers and all UNIX/X11 systems: