Linux / UNIX systems are based around the X Window System. To avoid confustion, we need to clear distinquish between login managers, window managers, and graphical desktops. Each plays a role in creating the desktop environment. While they may be the same, I separate login managers from windows managers.
Login Managers
You don’t need a graphical login manager to have a graphical desktop. For example, your system may automatically boot to run level 3 (the default text-mode run level for most distributions of Linux, for Debian and derivates it is run level 2). Once you login via the console window, you can enter the command startx to start a graphical desktop. If you only occassionally need a graphical environment, this approach is fine. If you always always work in the graphical environment, and are booting to run level 5 (default graphical run-level for most distributions of Linux, for Debian and derivatives it is run level 2), you need a graphical login manager. The most common login managers for Linux are:
- GDM (GNOME Display Manager)
- KDM (KDE Display Manager)
- XDM (X Windows System Display Manager)
- Entrance (for those who really like to role their own)
- SLiM (Simple Login Manager, which is very configurable, but does not support remote login)
- Enter (Another lightweight login manager)
- Orthos (Very lightweight roll your own login manager)
On most dributions of Linux, the /etc/X11/default-display-manager file contains the path to the display manager. The login display manager starts the login session, and starts the graphical session.
Window Managers
A window manager controls the appearance of windows, and provides the interface through which users interact with window. Window managers provide the look and feel of the graphical environment. In Linux, you get to choose the window manager that best fills your needs. Since this blog is about low cost computing, the impact of the window manager on system resources is of primary concern. Window managers follow one of the following design approaches:
- Compositing window managers first renders individual windows in separate buffers, and then creates a composite window in a screen buffer. This approach provides for visual effects such as shadows and translucency. The price paid for composit window managers is a higher use of resources.
- Stacking window managers order windows in a Z-order. When window overlap, the window with the higher order overlaps a lower order window. Stacking window managers consume less resources, but do not allow for special effects.
- Tiling window managers organize windows in mutually non-overlapping frames. Compositing or stacking window manager may provide tiled window manager options.
- Virtual Window managers use virtual screens that are then mapped to the physical screen. The virtual window manager allows for screen resolutions that are greater than that of the actual screen.
Wikipedia’s Comparison of X Window managers article provides a good list of the features offered by each window manager. The most popular windows managers use in Linux are:
- Metacity is the default window manager for GNOME. It is written in C and uses the GTK+ graphical widget toolkit for it user components.
- Kwin is the default window manager for KDE. With the switch to compositing support, KDE 4.1 supports visual effects similar to Compiz. Kwin is written in C++ and uses the Qt graphical widget toolkit.
- Compiz was an early compositing window manager that used 3D graphics. Compiz is written in C and uses the OpenGL extensions. While Compiz broke new ground in visual graphic effects, it also only works with graphic cards that support the AIGLX (Accelerated Indirect GLX) hardware specification.
- Xfwm is the default window manager for Xfce and is written in a mixture of C and C++. It’s use of the GTK+ graphical widget toolkit make it compatible with many GNOME application.
- Enlightenment window manager was the default window manager for GNOME prior to Metacity. Enlightment can run as a graphical shell, without the need for a desktop environment.
- Fluxbox has its roots in the Blackbox window manager. It is a lightweight window manager. It is an alternative for those who have older machines, and can even run on machines without a mouse. It is definitely different.
- Openbox is a small and fast window manager that is the default window manager for LXDE. Is is highly configurable and can also be used as the window manager for GNOME or KDE. Since it is a stacking window manager, it does not support any special visual effects. Openbos does offer a Composite extension.
- IceWM is another stacking window manager, which supports both KDE and GNOME. It is a lightweight window manager that emphasize speed, and not getting in the user’s way.
Desktop Environments
The desktop environment extends the window manager by providing applications (such as file manager, terminal emulator), wallpapers, screen savers. The desktop environment provides the look and feel. The most common desktop environement in Linux are:
Each of these provide their own set of applications. The nice part is that if I like Thunbar as a file manager, I can use it instead of Nautlius. Of these four, only Xfce and LXDE do not have a graphical login manager. GDM is a common default. The login manager than needs to know the window manager that must be started and the graphical environment to use. Login managers and window managers normally provide documentation for supporting the various desktop environements.


0 comments ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment