Introduction to UNIX - Part 3: The GUI


Back to Part 2 Up to the Index Continue to Part 4


Graphical User Interfaces in UNIX

It 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 System

Version 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.


Window Managers

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

Name Description Availability
twm The Tab Window Manager. It is the default window manager that ships with the X Window System. Very simple. This is available on all UNIX/X implementations.
mwm The Motif Window Manager. At one time this was fairly ubiquitous. It is based on the Motif toolkit. Many modern commercial window managers are deriviatives of mwm. This is available for all UNIX/X implementations. Requires Motif.
4dwm The IRIS 4d window manager. This is the default window manager for Silicon Graphics (SGI) systems. It is based on mwm and Motif. This is SGI proprietary software and therefore is only available for SGI systems. There has been an attempt to create an open source lookalike called 5dwm.
CDE The Common Desktop Environment - CDE is an open standard that has had some commercial success. Parts of CDE grew out of mwm and is based on Motif. CDE ships, or has shipped, with Sun, HP, Compaq and IBM workstations. CDE is available from commercial sources for other operating systems such as Linux.
KDE The K Desktop Environment. KDE is an open source desktop environment for UNIX workstations. It ships as the default window manager on some Linux distributions KDE is open source and can in principle be used on any UNIX/X11 system. Due to its open source roots, KDE is primarily used on free UNIX operating systems such as Linux and FreeBSD.
Gnome Gnome is an open source desktop environment for UNIX workstations. It competes directly with KDE. It ships as the default window manager on some Linux distributions Like KDE, Gnome is open source and can be used on any UNIX/X11 system. Due to its open source roots, Gnome has up to now been primarily used on free UNIX operating systems. Sun has recently announced that Gnome will ship on Solaris as the default operating environment.


Getting to Know X

The 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:


Back to Part 2 Up to the Index Continue to Part 4