Free Agent: A Nimble Linux Desktop
One of the things that makes a desktop Linux system so nifty is its almost limitless configurability. As Linux converts and regular readers of this column know, just one of the things a Linux user gets to choose is what sort of interface they will see when their machine starts up. The two major desktop environments are KDE and Gnome, and if I had to describe each one in a nutshell, I'd do so like this:
- KDE was born in Europe, where the bulk of its development continues. Its approach more or less mimics Windows: In its default setup, a panel that runs along the bottom of the screen contains a start menu at its left edge, a taskbar and application launchers in the middle, and a system tray and clock toward the right. The KDE Control Center presents enough tweakable options to keep a geek busy for days, perhaps weeks. File management and Web browsing are both handled by Konqueror, which is both powerful and familiar for folks migrating from Windows.
<br /><br />
- Gnome got its start in the Americas, and development remains centered here. In its default configuration, Gnome resembles the classic Mac OS (I'm talking about the days before OS X here). There's a menu bar atop the screen from which applications are launched; a clock and other applets often live in this bar, too. A simple taskbar and system tray grace the bottom of the screen. The Gnome Settings dialog boxes don't offer very many options for an interface junkie to play with: Since its 2.0 release, Gnome has strictly followed a mantra of "simpler is better." Nautilus, the Gnome file manager, does not usually handle Web browsing chores, and it defaults to a "spatial" metaphor that many Windows converts dislike.
The Gnome versus KDE choice is just that--a choice. I've been up front about my own personal bias: I find Gnome more pleasing to the eye and more intuitive to use, especially for folks who don't "get" computers to begin with. But like I said, this is just my opinion. There are at least three companies out there--Linspire, Lycoris, and Xandros--that think KDE is better suited to Linux newcomers; their distributions don't offer the Gnome desktop at all.
If there's a problem with either of these desktop environments, it's this: They're big. There's a lot of code involved in presenting the user a cohesive, full-featured interface that includes all the bells and whistles we've come to expect. So KDE and Gnome take up a whole lot of space on your hard disk, and they consume a lot of memory when they crank themselves up. You won't notice their bulk on a speedy new machine; but on an older device like my trusty IBM Thinkpad, you might start thinking "bloatware" to yourself when you notice that it takes more than 10 seconds of hideous disk thrashing for your desktop to appear after you've logged in.
The Third Way: Xfce
In this context, I present this month's topic: an alternative desktop environment called Xfce. This interface has been in active development for many years; it's now up to version 4.2; and it's both attractive and lightweight, making it ideal for older machines. It also sports some extremely geeky features that power users will definitely enjoy, but that might make it a poor choice for neophytes. Let me first take you on a tour, and then I'll explain how you can hook yourself up with Xfce if you're already running Linux.
Xfce's logo is a spry little mouse (the rodent, not the peripheral), and if you've ever seen such a critter skitter across your kitchen floor, you know the sort of speed this is meant to call to mind. I mentioned the miserable startup time for Gnome on my Thinkpad--well over 10 seconds. In comparison, Xfce is up and running within about 2 seconds on the same machine. Click the screen shot to the right for a look at the desktop. Confounding all your expectations, there's a taskbar across the top of the screen. System tray icons appear at the extreme right. Along the bottom of the screen is a panel containing application launchers, a virtual desktop switcher, lock and logout buttons, and a clock.
You'll notice two things missing: desktop icons and a start menu. This is by design. Xfce does not support icons on the desktop at all, so if you're like me and are used to keeping your works-in-progress there, you're going to have to find a new place to stash things. (Your home directory will probably do just fine.) As for the start menu, you get something akin to that when you right-click anywhere on the empty desktop.
If you can't get over not having a start menu, you can add one. Xfce is very configurable. Its "Settings Manager" allows you to futz around with the taskbar, Xfce Panel, and desktop menus--and a whole lot more. Where KDE overwhelms you with options (many of which you'd never, ever touch) and Gnome comes up a bit short (leaving some power users exasperated), Xfce seems to be just about right.
Then there's Xfce's file manager, Xffm. This is one strange and powerful beast. It has two panes: The one on the left is a simple list view, while the right provides details such as file sizes, dates, and so forth. You can drill down through your files in either pane; they're not tied together like the left and right panes in Windows Explorer. A set of three icons in the top-right corner of an Xffm window control which panes are showing (left, right, or both); these icons, unfortunately, look so much like CD controls that I have to wonder what the developers were thinking.
In addition to these three icons there are two toolbars: one horizontal, one vertical. I'm not sure what the functional distinction between these two is supposed to be--both of them contain a Print button, for example. Other buttons spawn typical commands: Cut, Copy, Paste, Run, Rename, Remove, and so on. Then there are some atypical buttons: Touch (a Unix-ism that means "update this file's last-modified date"), Symlink (another Unix-ism, somewhat akin to a Windows Shortcut), and Scramble (encrypt a file). Context menus provide access to additional commands, including CD burning.
The best thing about Xffm is its built-in Samba support, which makes connecting to a Windows network a snap. Xffm prompts you for your Windows user name and password as necessary to access network devices--something Gnome's file manager, Nautilus, often fails to do. Indeed, when I plugged my Thinkpad into the network at PC World HQ, Xffm could browse the network, but Nautilus, as always, could not.
I've neglected to mention that Xffm is fast. In fact, that's the thing that you really notice about every last Xfce component: It's all blindingly fast. Granted, drop-down menus and minimizing windows and such aren't animated; there's a distinct lack of eye candy here. Xfce keeps things very simple, stupid, letting your system remain nimble and lively, even if its hardware may be getting on in years.
Xfce Installation: Good Intentions, Mixed Results
A few Linux distributions ship with Xfce as an option, but none include the latest version as of yet. So you'll need to head to the Xfce site if you're interested in giving version 4.2 a spin. At the site, you'll find binary packages for some distributions. If your distribution isn't one of them, you're not out of luck; you just get to be a guinea pig.
I've mentioned previously that Linux is devoid of Setup.exe files for software installation. In nearly all cases, when you want to install new software on a Linux machine, you have a couple of options. You can feed a binary package (think of this as a Zip file with installation information bundled in) to your distribution's package manager. This is the easy method--easier, even, than following a Setup.exe wizard. The alternative is to compile the software from its source code, which is definitely not easy.
Xfce offers a new approach for folks who would otherwise have to compile from source code. The graphical installer available at the Xfce site is meant to behave just like a Setup.exe wizard; but behind the scenes, it's actually doing a complete compile-and-install. That sounds like a really great idea; too bad it's such a pain that only a seasoned Linux user is likely to get it up and running.
I first tried loading Xfce on my Mandrake machine. Binary packages were available for my version of Mandrake, so I just installed them and was off to the races. Then I turned to my test machine, which is currently running Novell Linux Desktop. No binary packages were available for NLD, so I downloaded the Xfce graphical installer.
The installer refused to run, complaining about missing system components. It took some trial and error to figure out exactly which Novell Linux packages needed to be installed before Xfce's installer would run. After about 20 minutes of messing around with the package management tool in YaST (NLD's system configuration tool), I finally got the Xfce installer to launch--at which point it complained about still more missing system components. I was able to install all the missing bits from binary packages on the Novell installation CDs, with the exception of a component called Dbh--this I had to download, compile, and install manually. Then and only then did the graphical installer actually do its thing. The thing-doing took a good half hour. Remember, this installer is not just copying files to their proper places: It is generating those files in the first place by compiling source code into binary code.
When the installation was complete, I logged out of my Gnome session and logged back in, this time selecting Xfce from the "Sessions" selector on the Novell log-in screen. I got a cryptic error about file permissions. I tried logging in as root, and that worked. So the graphical installer left things in a state where only root had access to Xfce. This problem is probably easy to solve, but if I'd taken the time to troubleshoot, you wouldn't be reading Free Agent on time this month. (Life would be so much better without deadlines.)
The bottom line is this: Xfce's graphical installer is a nice attempt at a universal installer, which is something you just don't see in Linux. Alas, the attempt falls short, due to the sheer amount of variation between the various distributions. The Xfce installer knows it cannot run when certain system components are missing, but it cannot know what package your distribution gets those components from, so it cannot install that package for you, or even tell you to go do it yourself. The installer knows when it has compiled everything and placed all its files in their proper places, but it cannot know for certain that everything is tweaked just right to work with your distribution; you could still hit trouble when you first try to log in, as I did.
So if you want to give Xfce a try, look for binary packages built for your Linux distribution, and give the graphical installer a go only if you have to. Send me your success stories, tales of woe, and thoughts on Xfce. And before I go, a special thanks to all the readers who've been writing in to tell me about their own experiences with Free Software. Keep those e-mails coming!