You can customize nearly every last inch of your Linux installation to fit your liking, and it starts with choosing the right desktop environment. Whether you're a Linux beginner or you're just looking for a new interface, here's an overview of how desktop environments work and how to pick the right one for you.
Windows and Mac OS X come with pretty specific graphical interfaces (you know, the windows, the skin, the system toolbars, etc.) that aren't really built for customization. With Linux, you can fully customize not only how your desktop looks, but even its functionality, and the settings available in its preferences. If you're a beginning Linux user, you may have heard of popular desktop environments like GNOME, KDE, XFCE, Openbox, or others—but what do they all mean? Here, we'll discuss what desktop environments are, and how to try new ones out on your existing Linux installation.
What Are Window Managers and Desktop Environments?
While Windows and Mac OS X were designed around a GUI and, for the most part, are fixed to that specific GUI, Linux's GUI is completely separate from the operating system itself. It's split up into a few different parts: atop the command-line operating system is the X window system, which is what draws the GUI onto your screen. On top of that is what's called your window manager, which allows you to (surprise, surprise) manage the windows on your screen: move them around, drag and drop files, scroll up and down, and so on.
You can get a usable GUI with just a window manager, though it's fairly minimal. You usually won't have any panels, taskbars, or a ton of menus to work with, so there's a bit of a learning curve. It may work for low-powered machines, but more often, people use a window manager coupled with a desktop environment, which lets you choose between different taskbars or docks, customize the appearance of your system, and tweak settings through the GUI. Popular examples of desktop environments are GNOME (which comes bundled with a window manager called Metacity, though many others are available) and KDE (which comes with its own, KDE-specific KWin window manager).
Seem overwhelming? It's definitely a different experience than Windows and Mac OS X provide, where you just install the OS and go. What's really cool, though, is that because there are so many different desktop environments, you can fully customize your experience by finding the right one for you. That is, if you have, say, an older machine, you can run a window manager by itself, or find a less less resource-intensive desktop environment. On the other hand, if you want a window manager that gives you lots of eye candy or configurable options, you can do that too.
Note: While window managers and desktop environments are separate things, the purpose of this article is to show you the versatility you have in choosing your Linux desktop, which includes using both desktop environments and window managers on their own. To make this explainer easy to understand though, I'll be using the term "desktop environment" to mean desktop environment coupled with a window manager, or a window manager on its own.
Installing and Running a Desktop Environment
Desktop environments are separate from the operating system itself, so you have a lot of choices beyond what comes with your Linux distro. Here's what you need to know about experimenting with desktop environments.
Running Desktop Environments
The cool thing about desktop environments is that you can install more than one on the same machine, and pick which one you want to use each time you log in. Many of your settings will stick between different window managers (specifically, the ones built in to applications and the ones you've set at the command-line or config file level), while others will be reset (namely the ones related to managing your desktop, like window appearance or keyboard shortcuts).
Each desktop environment comes with a few essential programs of its own, too, so if you install more than one on the same machine, you'll notice that you have a few extras in your menu. GNOME, for example, uses Nautilus as its default file browser, while KDE uses Dolphin—so if you have both GNOME and KDE on your system, you'll see both file browsers in your menu, no matter which environment you're currently running. Furthermore, each desktop environment has its own apps that you can download from your distro's package manager: things like IM clients, mail clients, BitTorrent applications, and other things.
While you can generally use an app in any environment, most people choose to use apps specifically tailored to the environment they're using, because they'll have tighter integration with the desktop. For example, GNOME users prefer to use Pidgin as their IM client, while KDE users tend to use Kopete. That said, certain apps—Firefox, Chrome, and the GIMP come to mind—are designed with the GTK toolkit (upon which GNOME and XFCE are based), but are often used across other desktop environments, simply because they're the best at what they do. In the end, it's up to you—again, the biggest advantage of the way desktop environments work is that you can completely customize how you use your system.
Installing Desktop Environments
Certain Linux distributions come with default desktop environments. OpenSUSE, for example, uses KDE as its default desktop environment. Others, like my personal favorite Arch Linux, let you pick which desktop environment you want to use when you install it. Ubuntu's a bit special: while the default version is based on GNOME, it also has branded versions for other desktop environments, like Kubuntu (which uses KDE) and Xubuntu (which uses XFCE).
If you're running a distribution other than Ubuntu, you can just install another desktop environment using your package manager (e.g. by running pacman -S kde
in Arch). The next time you log out, you'll be able to log into another desktop menu from a dropdown menu on the login window.
If you're running something like Ubuntu, which has a few different "branded" desktop environments available, there are a few different ways to try one out. Say you're running the default, GNOME-based version of Ubuntu, and you want to try out KDE. You can either install Kubuntu and get the Ubuntu-branded version of KDE (with a bunch of extra apps installed, like an IM client and a mail client), or you can just install KDE. Generally, I'd recommend installing the Ubuntu-branded versions in these cases, since they come with a bunch of apps designed specifically for that desktop environment and, like I said, you generally want to use apps that integrate well with your desktop.
What Desktop Environments Are Out There?
GNOME
GNOME is the most popular Linux desktop environment, and the one that most Ubuntu users are probably familiar with. It's fairly low on system resources and very simple to use, so it's great for new users of Linux—especially those that aren't super tech-savvy. Of course, that doesn't mean advanced users won't love GNOME. It has quite a few advanced settings that let you configure the environment to your liking. While I'm reluctant to compare its interface to other operating systems, since it's fairly unique, I'd have to say its combination of a menu bar at the top and the taskbar at the bottom make the interface slightly more Mac-like than Windows-like (especially if you're using Ubuntu's new Unity interface). Coupled with the popular Compiz window manager, you can add some pretty nice eye candy as well.
KDE
KDE is a bit more resource-heavy than GNOME, as well as a bit more complex. Instead of aiming to create an easy-to-use interface, it's more about always evolving and adding lots of functionality, whether it be for beginners or more hardcore geeks. It's probably the best looking environment around, and it has a very cool widget-based desktop built in to the environment. Its menus are set up very much like Windows, with one main menu located in the bottom left corner of the taskbar from which you launch apps and view settings. KDE actually has a ton of different configuration options available from this menu, but it's pretty hard to navigate, even if you're comfortable with computers and Linux in general (especially when the settings are part of the desktop widgets, which also manage everything you see in the taskbar). There are just so many different preference panes and settings that it can take awhile to figure out where the settings you want to tweak are located. It also has a few characteristics that will confuse new users—like the fact that dragging and dropping files always results in it asking you whether you'd like to move a file or copy a file—that you can't seem to change. If you're an advanced user looking for a lot of configuration options, KDE is a great choice—just know that there will be a learning curve, even if you're fairly tech-savvy.
XFCE
XFCE is designed to be very lightweight, without sacrificing usability. It's actually very similar to GNOME, so new users probably won't have too much trouble getting around. It isn't the prettiest, but if you have an old computer (or a low-powered machine like a netbook), this will make it run faster than any other operating system will (or than GNOME or KDE will, for that matter).
Window Managers
These are the three most popular desktop environments, but you have a lot of options available to you, including installing a window manager without a desktop environment. Installing a window manager on its own (like the popular Enlightenment, Fluxbox, or AwesomeWM window managers) will definitely be a different experience than using a full desktop environment. They often lack taskbars, panels, and obvious menus, so there's a pretty serious learning curve, but they're definitely the most lightweight way to add a GUI to your Linux machine. They're great for super low-powered machines, servers, or in other niche situations where you don't need a full desktop environment (I, for example, use Fluxbox on my home theater PC, since I need a window manager tolaunch video games from XBMC). It's not a route I'd recommend to most people for their main computer, but it's worth a mention for those looking for something completely different.
This is just the tip of the iceberg as far as what's out there and what you can do with different desktop environments, but we hope it's inspired you to branch out a bit and take a look at your other options. It's all about your personal preference (and the hardware you're running), so don't be afraid to experiment! If you've got a favorite window manager or desktop environment, be sure to tell us about it in the comments.