Much like everything else in the Unix and Linux world, there is a lot of choice when it comes to user interfaces. This can be both a blessing and a curse. Choice means it's possible to find a better fit, but making that choice can difficult and time consuming. Here we'll cut through the clutter and provide an overview of different options for desktop environments and window managers.

Window Manager vs. Desktop Environment

The first thing you’ll want to decide is whether you want a traditional, full-blown window environment or just a window manager.

Under the X Window System, which most Linux and other Unix systems use, the graphics system is very modular. X is not a graphical user interface in itself, but it handles the actual placement of the pixels. All it knows about is where the windows are and where the mouse is and whether the buttons are being pressed. It doesn’t even draw the decorations around the windows. Try killing your window manager sometime. The windows will still be there, but you won’t be able to move them. The window manager is what handles the movement and draws those pretty borders around your windows.

A desktop environment includes a window manager, but it also provides some other goodies, like a file manager (similar to the Windows Explorer for the Mac Finder) and other small applications.

If you want a more minimalist approach to your interface, you can just stick with a window manager. The advantage to this approach is that you get to mix and match all the various options for your utilities, helping you get exactly the desktop you want.

Desktop Environments

GNOME
GNOME is one of the major desktops in the Linux world. It started under the auspices of Richard Stallman’s GNU project due to a controversy over the licensing of the Qt toolkit that KDE used. The license was proprietary at the time, even though KDE was open source. Qt has since been open sourced, but there is still a rivalry going on between GNOME and Qt. One of the major changes in GNOME 3 has been the GNOME Shell, which superficially resembles Ubuntu’s Unity interface. Like Unity, it’s engendered some controversy, but hey, one of the pastimes of Linux users is fighting with each other over which is the best program!

KDE
KDE is the other major desktop environment of choice in the Unix and Linux world. It’s polished, but still maintains more of a traditional desktop look and feel, in contrast to both Gnome 3 and Unity. It’s a very slick interface, but whether you like it is still just a matter of taste.

Xfce
If the other choices are too heavyweight for your taste but you still want a desktop environment, then Xfce might be a good fit for you. It runs great on slower, older systems but it features optional graphical-like compositing.

LXDE
If you want an even more lightweight solution, you’ll want to check out LXDE. It’s intended for low-spec computers like netbooks and for people using mobile devices, so it uses less memory and less power.

Unity
Unity might be a nice name, but not for what it did to the Ubuntu community. Although Canonical tried to make an even more user-friendly version of its Linux distribution, it alienated some prominent Linux developers for its alleged "dumbing down" of the desktop and for its apparently buggy quality. (Read more about Linux distributions in Linux Distros: Which One's Best?)

However, version 11.04 of Ubuntu introduced some exciting new features, such as the ability to search through menus. Just hit "Alt" and a search box will pop up, letting you find menu options quickly.

Window Managers

Window managers, as mentioned previously, are a slimmed down alternative to desktop environments. They generally come in one of two flavors: stacking and tiled. Stacking refers to the method you’re used to, where windows are displayed overlapping each other. Tiling, as the name suggests, arranges windows to attempt to maximize screen use. (The first version of Windows worked this way because Apple held the patent on stacking windows.) Some technical users like system administrators and programmers swear by tiling, believing it to be more efficient that stacking window managers.

Openbox
Openbox is a popular window manager because all it really does is manage windows. Instead of something like the taskbar in Windows, you get a menu that comes up when you right-click on the desktop. It’s configurable through a text file (something you’re going to have to grapple with in the Unix world sooner or later) or through a GUI program called obconf.

Fluxbox
Fluxbox is similar to Openbox in that it's very configurable and minimalistic, but it has an interesting twist. You can group windows into tabs, similar to tabbed browsing.This lets you group windows easily.

Enlightenment
If you want an attractive window manager that won’t use up a lot of resources, then you might want to seek Enlightenment. Yes, this is a tech site, not one dealing with spirituality. Enlightenment is a slick window manager which, ironically, was considered something of a resource hog when it debuted in the late '90s, but it runs great on older hardware.

The DR17 version (the latest at time of writing) is intended to be a full-fledged desktop environment. You can download a preview release, but don’t hold your breath for the full version. It’s been in development for over 10 years, although it’s apparently quite usable as it is.

Fvwm
This highly configurable window manager has been around for years. It’s clearly one of the most Unixy of the bunch. Therefore, it’s not as user-friendly, but an expert can make some amazingly beautiful customizations, as the screenshots on the home page show.

Tiling Window Managers

Xmonad
This tiling manager is written in Haskell, one of the programming languages sparring with Lisp as the favorite of serious academic computer science eggheads (and "the best computer language of all time"). It aims to be a stable, crash-free manager.

wmii
Wmii is more minimalist, attempting to adhere to the traditional Unix philosophy. It’s configured via commands on the Unix command line. An interesting feature is its ability to tag windows for easy management.

Awesome
Awesome aims to be a highly configurable window manager. It’s configured via a Lua script and is small and extensible.

dwm
Dwm is a cousin to wmii. You have to be a real hard-core techie to configure this one, though. The only configuration file is its own source code!

Ratpoison
As the name suggests, ratpoison is an attempt to let power users manipulate windows without the use of the mouse. In fact, it’s a goal of all of these window managers. Why? Think of their audience. They’re aimed mainly at programmers. These are people who don’t want to take their hands off the home row very much.

Of course, this only scratches the surface. Wikipedia has a list of desktop environments and window managers, and you might want to check out this page as well. Try one. Try several! Whether you're a new or experienced user, you’ll have plenty to keep you busy.