We've taken you through a tour of Window Managers in Linux, and now it's time to show you the Window Manager's bigger brother: the desktop environment, or DE for short. With a sea of choices out there, we can see where Linux newbies might feel a bit overwhelmed. Catch us after the break and we'll show you some of our favorites, along with a few honorable mentions.
First things first: a desktop environment is an implementation of a graphical user interface commonly mimicking a physical desktop. Think about your grade school desktop on your computer screen, with folders, binders and notepaper and you'll get the idea. A desktop environment also encompasses a slew of other tools to assist you in graphical computing. These include, but are not limited to:
- A file manager.
- A web browser.
- A window manager.
Another important tidbit of information here is that a DE utilizes a widget toolkit, which provides a set of controls that display information to the user, like a window box. There are two big ones here, GTK (The Gimp Toolkit) and Qt, which is technically more than just a widget toolkit, but that's another article.
Second thing you need to know: a window manager is an implementation of a graphical user interface with a primary goal of managing the location and positioning of application windows on your screen. Plain and simple.
A window manager is not a desktop environment, and a desktop environment is not a window manager. However, a desktop environment does contain a window manager in its suite.
Why use a desktop environment over a window manager?
This is a fundamental question that even IBM's Watson would have trouble answering. Certainly it depends on the user's preference, but there are some specific questions you can ask yourself to help you decide:
1) Are you new to Linux and open source operating systems in general?
2) Do you prefer a menu-driven style of GUI?
3) Do you like desktop icons?
4) Do you prefer using the mouse to navigate your computer no matter what?
If you answered "yes" to three or more of the questions above, you'll more than likely prefer a Desktop Environment over a standalone Window Manager.
So many choices, but what's the fuss?
Desktop environments in Linux (and other open source operating systems for that matter) span a diverse spectrum of styles and options. There are flame wars being waged daily over which DE is best and which DE is the worst. The point here is to remember the beauty of open source; you have the power to choose your environment. Users spend endless hours customizing the look and feel of their desktop environments (and Window Managers) and tend to get pretty passionate. We're going to cover three of the most popular DE's out there, along with touching on some honorable mentions to help you get this all sorted out and get you kickstarted in a direction to choose your own path.
KDE 4.9, also known as the K desktop environment, has been around since 1996. It's gone through quite a few facelifts to get to its current state, version 4.9. This particular DE just so happens to be one of the most popular environments out there, and rightfully so. KDE boasts a healthy set of bundled applications that it provides out of the box:
- K3b -- A full-featured CD/DVD authoring application.
- Konqueror -- File and web browsers, though it doesn't quite pass the Acid test.
- digiKam -- An image editor and organizer that supports uploading albums to Flickr, Facebook, etc.
- Calligra -- A full office suite.
- Games -- Yup, KDE comes with quite a few fun arcade games that provide a bit more entertainment than your average Minesweeper. (This writer is rather fond of KBreakout.)
Caveat emptor here: depending on your Linux distribution, KDE may be packaged with a different number of applications -- sometimes less, sometimes more.
As you can see above, stock KDE isn't much to look at. However, the KDE system settings menu allows you to make some nice tweaks to your environment.
After a few quick modifications, you can get a nice-looking environment set up in no time. If you take a few minutes to play around with the system settings and throw in some desktop widgets, you can come up with a pretty decent-looking environment, like the one below.
KDE sports a familiar menu-driven task bar reminiscent of a certain popular OS.
You can customize which applications appear in the "Favorites" section of the menu for quick access to your most-used applications.
The desktop area supports the placement of widgets. There are several that come pre-installed, offering some useful info like weather forecasts, CPU utilization, social media updates and upcoming calendar events, among other things. You'll find even more online through sites like kde-look.org.
These widgets are not to be confused with the widget toolkit we talked about earlier, which in KDE's case, uses Qt by default.
On our somewhat aging Linux box, a triple-core AMD Phenom 8650 with 4GB of memory, KDE 4.9 feels fairly snappy and caused very little lag when we moved windows around with desktop effects turned on.
All in all, KDE is a full-featured DE that provides a decent amount of modern amenities to your graphical computing environment.
- Easy to master if you're already familiar with menu-driven user interfaces.
- Easy to customize.
- Widgets are a nice addition and can provide useful information at a glance.
- KDE contains just about everything you need to be fully functional with your computer out of the box.
- KDE may not perform as well as a lighter-weight DE or standalone window manager on a lower-powered machine or a machine without a decent GPU. To mitigate this, you can try turning off some of the desktop effects.
- When you play around with themes your Desktop, you may notice some applications don't inherit your chosen settings. More than likely this is due to the application being built using a different widget toolkit, like GTK as opposed to Qt. This is unfortunately one of those things, however there are ways to fix this, such as GTK-theme-switch.
For more info, check out KDE's homepage.
GNOME, like its nemesis KDE, has gone through a plethora of design changes over the years. Not quite as old as KDE, the GNOME Desktop Environment has been around since 1999. GNOME was spawned as a direct alternative to KDE in part due to the fact that KDE was built on the aforementioned proprietary Qt toolkit. Proprietary is a bad word in the open source community, and the fact that KDE is based on Qt has spawned some heated debate. However, even with the somewhat recent release of GNOME 3.6, some controversy still looms over the fundamental design shift from GNOME 2 to GNOME 3. See how tough choosing a DE can be? It's like picking sides in a war over which Zelda game is best.
GNOME is built on the GTK+ toolkit, a fully open source widget toolkit and comes with just about everything you need to fully use your computer. Some of the included applications in GNOME are:
- Brasero -- A CD/DVD Authoring app.
- Empathy -- A Chat app supporting multiple protocols.
- Sound Juicer -- A music "ripping" application.
- Epiphany -- A web browser.
- Nautilus -- A file manager.
The same warning applies here as with KDE; depending on your distro, you may have more or less packaged with GNOME 3.
As you can see, GNOME also isn't very fancy at first blush, except here there's not much you can do to change it other than swapping the background for another image. However, we recommend you add some flare via something like gdesklets and official GNOME Shell Extensions.
GNOME provides users with a top-of-screen, icon-centric, application menu to navigate their programs. It does not utilize desktop icons or even widgets out of the box. To access individual files you utilize the default file manager, Nautilus.
The menu is okay, we suppose, but we find the lack of available customizations disturbing. You're unable to add / remove icons at will directly from the menu. You have to either manually modify the configuration files or use a third-party tool.
The system settings menu for GNOME is rather limited as well, however we like the fact that you can add "online accounts" like Gmail and Facebook. This is a pretty slick feature that really belongs in all modern GUIs. This provides a nice streamlined inclusion of your Gmail calendar and Facebook Chat.
In brief, the performance here is something of a mixed bag. On the one hand, the application menu can sometimes feel a bit sluggish. However, we used multiple applications at once and had no real delay moving windows around.
- Dead-simple to use. The activities menu in particular is pretty straightforward.
- Inclusion of online accounts and email.
- The menu is fairly streamlined and looks pretty thanks to the categories.
- Application menu supports favorites, for quick access to your favorite apps. This is really a must these days. If you're clicking more than twice to open up a web browser, there's a problem.
- Very few customization options.
- You're forced to use your computer in a certain way.
- Can feel a bit restrictive.
- May not perform as well on older hardware.
For more info, check out GNOME's homepage.
XFCE, version 4.10, is a nifty little desktop environment. It's meant to be fast and super-lightweight while still looking pretty. XFCE is very modular, so your mileage may vary depending on which components you choose to make use of. It also varies per distribution like the previously mentioned DE's. We'll be using a full-fledged XFCE installation below with all modules installed.
XFCE is based on the GTK widget toolkit, like GNOME, and boasts the ability to run with 40MB of memory. Yup, that's 40 megabytes. XFCE is technically just as old as KDE, having been started in 1996. Though what you see now is much different than what XFCE was in the '90's.
XFCE provides an ample supply of utilities to get around your computer including, but not limited to:
- Mousepad -- A text editor.
- Orage -- A calendar application.
- Xfburn -- A CD/DVD authoring application.
The stock XFCE environment is a decent setup with not only a mouse-driven application menu at the top of the screen, but also an OS X-like dock bar at the bottom.
Everything you see in XFCE is fully customizable, from dock positions to what icons are present. With a few quick changes, you can get a sleek-looking environment setup.
The top task bar allows you to add "items," which are basically mini-applets similar to KDE's widgets. These applets provide different types of information like local weather info and battery status. There are also action items to add that perform a task when you click them. A few examples here are:
- Screenshot -- To take a screenshot.
- Brightness Plugin -- To adjust LCD brightness.
- SmartBookmark -- To quickly access your favorite bookmarks right from the menu bar.
The dual dock and application menus are a perfect mix of quick access to favorites and full access to all applications. The fact that the dock is present at all times gives you one less step to access your favorite applications.
XFCE is very snappy, with no delays in doing anything that we've experienced. This is one high-performing Desktop Environment even on low-powered machines.
- Very lightweight -- XFCE will run fine on older computers.
- Provides a decent feature set without too much bloat.
- Has an application menu and a dock bar.
- Highly customizable, including support for themes.
- We couldn't find anything wrong with XFCE really. It does exactly what it's supposed to do while providing the user enough freedom to adjust things around. And it does all this while exhibiting excellent performance.
For more info, check out XFCE's homepage.
OK, it's time for some honorable mentions. Since we can't cover every Desktop Environment under the sun, we'll list a few more for you to check out on your own with a little bit of description. These are in no particular order:
- Unity -- These days, Unity is just about as popular as the above Desktop Environments. As the default DE for Ubuntu, it's simple to use, customizable and pretty solid. To check it out give the Ubuntu Live CD a try.
- LXDE -- LXDE is the default DE of the Raspberry Pi distro, Raspbian. It's even more lightweight than XFCE and is very snappy.
- Cinnamon -- A fork of GNOME 3, which is essentially when a group of developers copy the source code of a project, then customize it themselves. Picture a fork literally and you should get the idea. Cinnamon tries to maintain the tradition of GNOME 2, while utilizing some of the good features of the newer GNOME 3 Shell. Let's face it, a lot of people, including Linus Torvalds himself, were unhappy with GNOME 3 and Cinnamon is one of many results of GNOME 3's existence.
- MATE -- A fork of GNOME 2. You won't see many similarities to GNOME 3 here. MATE provides a traditional GNOME 2-like environment.
For the purposes of this article we sampled just a few desktop environments, and suffice to say, none of them is perfect. Fortunately, at least, with Linux you have the luxury of customizing your space based on your workflow or personal preferences. Each of the DEs mentioned here provide some means of doing just that. We hope this entices you to get out there and explore your options -- you won't really know what works for you until you try a few.