At my new job, development is done on Linux workstations. In many ways this is great, as I enjoy the power of Unix. Unfortunately, the experience has not nearly been as smooth as I would have hoped… I have used Linux on and off for the past 9 years, starting with a very early, floppy disk-based SUSE distribution (they were already popular back in Germany at the time) with a crappy (compared to today’s standards) installer. Back in college, I did some C++ / OpenGL programming on Linux as part of my thesis. This was convenient because it allowed me to develop at home on Linux and then run the application on the university computer lab’s Solaris and SGI workstations. Back in those days, most Linux deployments used a simple window manager like fwvm, and complete desktops like KDE or Gnome were just starting to come out and not ready for prime time. I was always impressed by how much more responsive Linux was, and how much faster it seemed because of this, even though my system at the time was a lousy Pentium-100. The multitasking was great, switching between virtual desktops was virtually instantaneous, etc.
Today, desktops like Gnome and KDE have become the standard. At work, we use Redhat Enterprise Linux 3.0, which defaults to Gnome. Overall, the Gnome desktop is pretty decent, with Windows-like functionality including a start menu, task bar, file manager, etc. Unfortunately, it is extremely sluggish, even on my 3Ghz dual processor machine. I tend to have Ximian Evolution open on one virtual desktop, Eclipse on another one, as well as a few terminal windows and Firefox browsers. Switching between virtual desktops is no longer instantaneous. Even on the same virtual desktop, bringing a window into the foreground often takes several seconds. Needless to say, this destroys a lot of the productivity gains that a Unix environment would otherwise yield.
I am not sure if the culprit is Gnome, or if it is Firefox or Eclipse. I know that Eclipse is not exactly lean, so I am not all that surprised that it behaves a little sluggishly. But the overall desktop should be a lot more responsive. And as nice as Gnome looks, I actually don’t use all that many features. For example, I rarely use the Nautilus file manager. I guess this is because I was used to doing all file management from the shell in Linux, and old habits die hard. I think I’ll try switching to a lean window manager without the full desktop support that Gnome or KDE offer. If this fixes my performance issues, this is a price I’d be willing to pay. In the past, I’ve had good experiences with <a href=”http://fluxbox.sourceforge.net/>Fluxbox</a>, which I have successfully used on an ancient laptop that couldn’t quite handle Gnome.
On top of my performance issues, I’ve hit a few other snags. Most of these are related to software installation and updates. My system came with Ximian Evolution 1.4, which I wanted to upgrade to 2.0 to take advantage of some of the new features in this release. In theory, upgrades should be straightforward now that packages are managed using RPM. Unfortunately, that’s not quite the case. In case of Evolution, I ran into many unresolved dependencies, and after chasing and installing or upgrading one missing package after the other, I eventually gave up after wasting several hours.
A similar thing happened today when I tried to install Bluetooth support on my machine. Even though it is already included in my kernel, installing the user space applications (Gnome Bluetooth) proved to be a painful experience. I was eventually able to install the binary RPM, but the application still gives me an error message when I try to start it. I also tried to compile the source distribution, without success. “./configure” completes fine (at least after I installed several missing packages), but “make” craps out with an error message. Again, I have wasted several hours on this.
If I add up the time that I wasted trying to configure Linux, I have cost my company a fair amount of money. Probably enough to pay for a Windows license… If licensing fees are the only reason to choose Linux over Windows, I am not sure the payoff is really worth it. Therefore, I am still very spectical about Linux as a Windows replacement. I am very confident in Linux as a server operating system, and I think it is great for hardcore users who don’t mind fiddling with their system. But I think we’re a long way from widespread adoption of Linux as an enterprise desktop system.