Desktop Environments and Window Managers
The configuration of an XFree86 server is useless until accessed by an X
client that will use it to display a program using the hardware
controlled by the X server. X clients are programs designed to take
advantage of the X server's hardware, usually to provide interactivity
with a user.
You do not have to run a complicated window manager in conjunction with
a particular desktop environment to use X client applications. Assuming
that you are not already in an X environment and do not have an
.xinitrc file in your home directory, type the
xinit command to start X with a basic terminal window
(the default xterm application). You will see that
this basic environment utilizes your keyboard, mouse, video card, and
monitor with the XFree86 server, using the server's hardware
preferences. Type exit at the
xterm prompt to leave this basic X environment.
Of course, most computer users require more features and utility from
their GUI. Developers have added layers of features to create highly
developed and interactive environments that utilize the full power of
the XFree86 server. These layers break into two fundamental groups based
on their purpose.
Window Managers
Window managers are X client programs that
control the way other X clients are positioned, resized, or
moved. Window managers can also provide titlebars to windows, keyboard
focus by keyboard or mouse, and user-specified key and mouse button
bindings. Window managers work with a collection of different X
clients, wrapping around the program, making it look a certain way and
appear on the screen in a particular place.
Four window managers are included with Red Hat Linux 8.0:
twm — The minimalist Tab
Window Manager, which provides the most basic toolset
of any of the window managers.
mwm — The default window manager for
the GNOME desktop environment, mwm stands for
Metacity Window Manager. It is a simple and efficient window
manager which supports custom themes.
sawfish — This full featured window manager for
was was the default until the release of Red Hat Linux 8.0. It can
be used either with or without the GNOME desktop environment.
wmaker —
WindowMaker is a full-featured GNU window
manager designed to emulate the look and feel of the NEXTSTEP
environment.
These window managers can be run as individual X clients to gain a
better sense of their differences. Type the xinit
<path-to-window-manager>
command, where
<path-to-window-manager>
is the location of the window manager binary file. The binary file can
be found by typing which
<window-manager-name> or by
looking for the name of the window manager in a
bin directory.
Desktop Environments
A desktop environment brings together assorted
X clients that can be run together using similar methods, utilizing
a common development environment.
Desktop environments are different from window managers, which only
control the appearance and placement of X client windows. Desktop
environments contain advanced features that allow X clients and other
running processes to communicate with one another. This allows all
applications written to work in that environment to commonly integrate
and be used in new ways, such as permitting drag-and-drop behavior
with text.
GNOME is the default desktop environment for Red Hat Linux, using the GTK2
base widget toolkit and miscellaneous other widgets that extend the
base functionality. KDE, another desktop environment, uses a different
toolkit called Qt. GNOME and KDE both contain advanced productivity
applications, such as word processors, spreadsheets, and control panel
devices that allow you to have complete control of the look-and-feel
of your user experience. Both environments can run standard X client
applications, and most KDE applications can run in GNOME, if the Qt
libraries are installed.
When you start X using the startx command, a
pre-specified desktop environment is utilized. To change the default
desktop environment used when X starts, open a terminal and type the
switchdesk command. This brings up a graphical
utility that allows you to select the desktop environment or window
manager to use the next time X starts.
Desktop environments utilize window managers to provide the
consistency in appearance between different applications. KDE contains
its own window manager, called kwm, specifically
for this functionality.
For information on the customization of the GNOME and KDE desktop
environments, see the Official Red Hat Linux Getting Started Guide.