02/12/2012

For the past eight weeks or so, I’ve been spending a little time here and there working on a complete rebuild of my desktop Linux system. Many years ago, I created my own personal version of Linux called “Jinux” (catchy, I know) because one of my clients wanted a server that only ran the bare minimum software necessary to provide certain services, and was basically “lean and mean”. Jinux became a pretty handy thing to have, so when I started my web hosting business I used it on my own servers. I had used Red Hat Linux and experimented with a few others, but I found that in all cases, those distributions included many hundreds of software packages, sometimes even into the thousands. It was a lot to maintain, and even a high-end server (at the time) seemed to always be sluggish because of all the things running. Jinux solved that with a software suite of just under 200 packages– and I knew what every one was and why it was there, versus a thousand packages of which 800 were a mystery.

Anyway, Jinux has been great for ten years and I continue to use it for all of the servers I build and maintain (now numbering around 70). But a server environment is very different from a desktop; the main difference is the use of a graphical interface and accompanying windowing system, so I’m not spending all of my time working in plain text on the command line. Obviously web development doesn’t get very far without, say, a web browser.

I’ve been using Kubuntu for many years now, and I’ve generally been happy with it. The package management is a breeze and it’s always been very stable. I’ve used many window managers in my career, starting with CDE and moving into WindowMaker, eventually landing in KDE. KDE is amazing and has a lot of powerful ways to integrate applications and data. Version 3 was rock-solid stable and became a critical part of my everyday work. A few years ago the KDE team decided to rewrite the entire window manager from the foundations, and KDE 4 was born. Unfortunately it was a mess… things broke out of the box, and it was missing a lot of the functionality KDE 3 users like me had grown accustomed to over the years. I didn’t think it was the end of the world, though: I continued using KDE 3 in an older version of Kubuntu, and life went on. Over time, though, that version of Kubuntu became obsolete and unsupported. I had no choice but to switch to KDE 4.

So I took a deep breath and did it. I downloaded the latest version of Kubuntu, installed it, and converted all of my email, address books, calendars, to-do lists, sticky notes, and everything else from KDE 3 to KDE 4 (which uses a completely different underlying data storage mechanism). I found that KDE 4 mostly worked, but every day there were little things that annoyed me. My shortcut keys didn’t always work. Things I could do in KDE 3 could no longer be done in KDE 4. My desktop background randomly broke. The taskbar refused to stay on the left of my screen, reverting back to the bottom of the screen every day when I logged in. There were a lot of “eye candy” effects like fading windows and animations and glossy transparency and whatnot which tended to slow down the system.

In the end, the annoyances just got to be too much. Since I’m a certified Linux geek, I figured it was time to go back to the foundations. Beginning in late December I worked on compiling (from raw source code) all of the software packages I’d need for a full desktop system. That started with the X windowing system, moved into KDE, and then all of the other things you come to expect in everyday computer use: an office suite, email program, instant-messaging client, web browser, image viewer, graphic editor, scanner software, and on and on. Every time I thought of something I had to find the source code, download and configure it, and then install and test it. I’d check it off my list and move on.

The beauty of this is I can use KDE 3 again. Even though it’s not supported by any of the major Linux distributions, I can get the last version (there won’t ever be an update to the 3.x series) and compile it to work with all of the latest versions of everything else. So night after night, for an hour here or a half-hour there, I’d work on another package until I had everything I needed. Finally, this weekend I decided I had enough. Sure, there are still some things I’m missing, but I have all of the key software packages I’ll need for my daily work. So I took the plunge and wiped my main desktop computer to install Jinux on it.

A few things didn’t work quite right, but I spent Saturday afternoon fiddling with them until they did. And when all was said and done, I had my dual-monitor setup with all of the stuff I’ll need.

It was like coming home to see an old friend you’ve missed for a few years. Welcome back, KDE 3. Welcome back, stability and stuff that just works.