Alternatives to KDE and GNOME on Linux systems
Before anything, this article is for those using KDE and GNOME and start feeling the need for more, or something else. This is not a trolling article (we hate that), nor is a rant against the two DEs. We respect the freedom of choice, and the Open Source world is all about freedom of choice. With this article we only want to show you what other options you have, the pluses and the minuses, with no bias whatsoever. We'll go less than technical with this article, and we hope we'll widen your perspective and help you use something that's really fit for your needs. All you need is a working Linux machine and the minimal knowledge of knowing how to install software on it, plus the use of an editor of choice. Since your DE/WM is something you work with every day, it's more important to your productivity than it could appear at first look. You may have to learn some new commands, but if you feel it's right for you and it makes you more efficient, it will be worth it. Plus your system will run faster, since KDE and GNOME are full of features for everyone, but that comes with a cost. Before we start, let's get some terms clear. If you will have some questions after reading this article please try our new LinuxCareer Forum.
You've heard for sure the terms DE (Desktop Environment) and WM (Window Manager) and you might have wondered what the difference is. A desktop environment, like KDE for example, offers a complete desktop solution for the user: a file manager, a control panel, maybe a browser, everything you would need from a desktop. A window manager, on the other hand, offers just the basics, as the name implies: the ability to move/resize windows, an application launcher, maybe a minimalist panel with a clock and a task manager (plus maybe other customizable items, that may vary), leaving it to you to customize it through text files (no control panel) and install your basic desktop tools like the file manager or the browser. In the end, it's all about choice, so if you're more comfortable with all-in-one solutions, use them. If you're the tinkering type but don't know where to start, this article is here to help you. It depends on what you do with the computer, what kind of user you are and the underlying hardware.
2. The alternatives
XFCE is a desktop environment based on GTK that's more lightweight than GNOME, 2.x or 3.x, but retains almost the same functionality. It runs of Linux, Solaris and the BSDs, although the latest release, 4.8, has some issues with the latter, not that's it doesn't work on BSD, but it lacks some features. Many people use it, especially since the release of GNOME 3.x or Ubuntu's Unity, and every distribution offers it (well, as far as we know). Fedora offers a XFCE spin, OpenSUSE has an unofficial XFCE edition, Canonical offers Xubuntu (nice polish, by the way) and lots of others give the user the chance to install it from DVD or network, or offer a group (Fedora) or a metapackage, like Debian, for instance. In short, XFCE can be seen as a good compromise between features and speed. I, for one, have been using XFCE for years on my main machine and I can't remember when I had to edit a text file to change a setting.
As seen above, XFCE, being a DE, offers a file manager, a complete control panel and various plugins for showing weather, taking notes or changing the keyboard layout. It also offers a basic idea of window compositing, with transparency and shadowing, and you don't need some proprietary video driver for that. If I managed to get compositing to work with a 8-Meg Savage video card on my old Thinkpad, I guess this says a lot.
Since XFCE is GTK-based, you can install GNOME themes that you like and they will appear in the Appearance menu. You can also download themes that are not offered by your distribution and unpack them in ~/.themes. XFCE is recommendable for an older computer, but that doesn't mean you can't use it on modern hardware, as it offers pretty much what you need from a slimmed-down desktop.
Unlike XFCE, Fluxbox is a (stacking) window manager, and a minimal one, at that. On a Fedora 16 system, the total download size for Fluxbox is a whopping one megabyte, and Fedora installs some fonts as dependencies. It's based on Openbox (it's a fork actually), it's small, configurable and fast. You can find Fluxbox in some distros/editions that have an edition based on it, like Fluxbuntu or Salix Fluxbox, or installable on any Linux distro, BSD or Solaris.
Here you see a default-themed Fluxbox on the aforementioned Fedora system running Midnight Commander in mrxvt and Firefox in the background.
Next, we'll see in brief how to configure Fluxbox to your taste. Right-clicking on the desktop will give you the menu, and, depending on the distribution, you may want to generate it to reflect the software you have installed. For that, go to Fluxbox Menu=>Tools=>Regen Menu. You can assign a key combo for the menu by editing the keys file in .fluxbox and using RootMenu as the command assigned. If you need a background, you will need a helper application, like Eterm, which provides Esetroot to set your wallpaper. Fluxbox is well documented and also has a wiki, so you'll find plenty of info on how to set it up. Editing the startup file enables you to start applications like conky for system monitoring. You can find lots of themes, quite good-looking, for Fluxbox with a simple Google search. We recommend this site, but it's not the only one. The configuration files are well-commented and easy to use, so don't be afraid to customize. You'll get a beautiful, yet lightweight environment.
This is probably the most lightweight desktop environment and because of this it became very popular (especially since it started late, in 2006), although at the moment the project is having manpower problems. The name comes from Lightweight X11 Desktop Environment, before you ask. LXDE is also Openbox-based, and you can run it on any Linux or BSD (or any POSIX-compliant system, for that matter). Fedora offers a LXDE spin, the Lubuntu project is increasingly popular and many lightweight distros prefer LXDE for what it offers as compared to how much it weighs.
As you can see, it's a desktop environment in all respects. It's also pretty customizable by using Menu=>Preferences or by editing some files in ~/.config. Don't worry, the syntax is organized and easy to read. From personal experience, I can tell you that I used at some former workplace LXDE as my main work environment and never felt the need for anything else. The file manager is small, but gives you what you need, the themes are pleasant and the menu is easy to navigate. If you're coming from a KDE background, you might feel at home.
If you thought Fluxbox is small, how about Ratpoison? The RPM for it has 172 kilobytes, so you better expect minimalism at it's best. It runs, as far as we've checked, on Linux and BSD, but it should also work on Solaris as well. It is a tiling window manager, aimed, as the name says, to excluding the mouse when it comes to window management. It doesn't have window decorations or a panel, but it offers stability and speed at the cost of a rather steep learning curve. However, once you have mastered and configured Ratpoison, you'll never want to use anything else. That being the case, a screenshot wouldn't have much to show, so we chose to show you the help menu, accessible with Ctrl+t and ?.
As you can see, C-t (C stands for Ctrl) is the command key here. To me it seemed, every time I used Ratpoison, that it's a WM created for Emacs users. When I heard about StumpWM, which is the succesor, and that it's written in Common LISP, i knew it was created for Emacs users. Joking aside, if you're used to a terminal multiplexer like screen or tmux and enjoy working with it, you'll work wonders with Ratpoison. It's well documented and if you have the patience to use it, it'll probably grow on you and make you more efficient. Create a file named .ratpoisonrc in your home directory and start customizing. After all, that's most of the fun, isn't it? For example, I didn't know how to exit Ratpoison, so I started searching Google. I found that I have to bind a key to use with C-t, then (optionally) save the preference in .ratpoisonrc, then execute the command. So what I did was:
C-t : => To be able to enter a Ratpoison-specific command
bind q quit => Create the keybinding, usable with C-t q
Before logging out, I wanted to make the change permanent, by inserting the bind command above in .ratpoisonrc. Voila!
This trip had to be a short one, because there are so many interesting window managers out there, it would take too much space to write about them all. You may want to take a look at Enlightenment, Window Maker, wmii, twm, or simply use this list if you aren't afraid of trying something new and fun. If you're already using something other than KDE or GNOME, share it with us!