Window managers and desktop environments

From Linux 101, The beginner's guide to all things Linux.

Jump to: navigation, search

Contents

[edit] The Basics

Think of a window manager as the frame of a picture, where an application runs. For example, the very top of an application where you can minimize, maximize, or close is your window manager. Features vary from one window manager to another. Some also provide menus for accessing applications and a task bar to access currently run applications.

Desktop environments, on the other hand, are more comprehensive than window managers. They contain a window manager of their own but are more featureful and resource intensive.

[edit] Window Managers

Window managers are a nice choice for old computers where RAM and CPU is limited. The less resources the window manager uses, the more is available for applications.

Common ones today include:

For more see the X Window Managers website.

[edit] Desktop Environments

Desktop Environments provide a rich collection of libraries and applications made to operate together. They contain their own window manager, but also have their own specific applications included.

The two most common ones today are GNOME and KDE. Xfce is also another popular one that exists as a "lightweight" alternative.

[edit] Window Managers vs. Desktop Environments

A desktop environment would probably include an application to manage files and browse the web, whereas a person using a window manager would use an application not included to manage their files or surf the web. Since all applications are developed for the same desktop environment, they typically blend in better with the workspace and are held to the same guidelines and release schedules.

[edit] GNOME

GNOME (pronounced Guh-nome), or the GNU Network Object Model Environment (try saying that 10 times fast!), is a desktop environment based on the GTK+ widget toolkit. Basically, it uses the GTK+ library to draw everything on the screen. The GNOME philosophy is one of simplicity--sometimes at a sacrifice to features. The GNOME developers work very hard to stick to the HIG, or Human Interface Guidelines, to insure everything works as one.

GNOME is based on GTK+, which is written in C, and so naturally follows. Even so, it is developed in an object oriented way. Bindings also exist for C++, Python, Java, and more. Even if you have no knowledge or desire to learn C, there are plenty of langauges to choose from if you wish to use the GNOME libraries in your program. GTK+ and the GNOME libraries are licensed under the LGPL, meaning you can write commercial programs that link against the libraries without having to release the source for your program.

[edit] KDE

KDE, or the K Desktop Environment, is based on the Qt library. It, like GTK+, is a widget toolkit. It is responsible for drawing what we see on the screen. KDE has a very different philosophy from GNOME. KDE believes in configurability and features over simplicity.

KDE is based on Qt, which is written in C++, so KDE naturally follows. Bindings are available for numerous langauges including Python and Java. While the KDE libraries are licensed under the LGPL, Qt is licensed under the GPL. This means that to write closed source applications you must purchase a Qt license. GPL applications can freely use the Qt library. You may want to read the section on Licenses to gain a further understanding.

[edit] GNOME or KDE?

Do you like to tinker, play around with things, customize every last detail of your computer? If so, KDE might be for you.

Do you prefer a simple interface with only the most needed aspects to be configurable? If so, GNOME might be for you.

If you don't know, and even if you answered yes to one of those questions, it never hurts to try the other one out!

[edit] Xfce

Xfce is based on the GTK+ library, like GNOME, but is considered to be more "lightweight" than it. Xfce originally stood for "XForms Common Environment" but it no longer utilizes XForms and as such the name is currently considered to stand for nothing, hence the lack of capitalization. Xfce's default file manager is Thunar and its Window Manager is Xfwm, the first Window Manager to integrate a compositing manager, although it is somewhat light on features and has not seen much remarkable development since stabilizing.

Personal tools