Big Bubbles (no troubles)

What sucks, who sucks and you suck

Desktop Obsolescence

Much like Chris Siebenmann, I find I need a new Linux PC for home use. I don’t say this lightly. My current system has been with me since around 1999, has had at least three motherboards and has run approximately every other release of what is now called Fedora since Red Hat Linux 6.2. In the end, that’s what is killing it.

How usable is desktop Linux? You can judge by the way that seemingly every UNIX hacker ran out and bought a Macbook as soon as MacOS was able to offer a command line shell. And the worst part is, that happened while it was still nominally usable by UNIX hackers. With today’s system of GNOME, KDE, dbus, udev, systemd, PackageKit, PolicyKit and KitKat, usability has shrunk to:

  • Newbies and imbeciles, for whom Linux is mostly neither more nor less usable than Windows 7, whose opacity it closely resembles.
  • Developers of the aforementioned projects, who at least have a fighting chance of understanding how it works.

Let me back up: when I started using desktop Linux, it consisted of Linux itself, which was basically a supercharged UNIX with a lot of added value (packages), and a thin layer of X11 (XFree86) sat lightly on top to give you windows, most of which carried command line shells. As a concession to reduce typing and be able to manipulate windows on top of other windows, you’d probably run a window manager - ideally as minimal a one as possible. I chose OLVWM, because I’d migrated from a Sun world and I needed the extra screen estate of virtual desktops, and because its menu configuration file format was easy to update. Want to mount a removeable drive? Find the device name and type the mount command. Need to set up a printer? Edit /etc/printcap. With vi. (Yes, I’m the guy who installed a vi clone on the only Mac he ever owned, and a csh clone on his Amiga.) I used “modern” desktop apps for convenience - it isn’t much fun to burn a CD on the command line, or adjust audio volumes numerically - but these were discrete programs that could be run simply by typing “gmix” or “cdrtoaster”. And we didn’t have “themes” - we had X resources.

That’s still all I need now (I migrated to Fluxbox as a window manager, principally because it was marginally slicker and supported docking apps, but I still keep my browser in a dedicated virtual desktop). But the likes of GNOME have encroached upon my pure Linux experience and infiltrated it with a million hooks to “help” it boot quicker to the login manager, manage media, prompt to install updates, manipulate device permissions and, most ironically of all, prevent you running remote X applications. This is great if your one goal is “user experience parity with Windows”, but I find I am now left as incapable of fixing issues with my desktop as I am with my car engine.

I ranted on Twitter about this already: “At least when we added X11, we didn’t break the command line”. Imagine that you only use the command line, and that mainly to run vi and LaTeX (well OK, don’t imagine it, just look at me). And then the Ruby programmers come along, and they use the command line too but only to run irb and various clever Ruby scripts. But they’re going to “enhance” the shell so it’s optimised for Ruby developers - maybe something like TermKit. Which is all fine and dandy, but suddenly your general shell use cases are broken; they fail in odd ways, your LaTeX command sometimes runs LibreOffice instead and Vi now only writes files to a dedicated ‘Text’ directory. Worse, you have no clue how to modify and revert this behaviour because when you look at the documentation (which isn’t in the man page anymore), it’s just a heap of Ruby function headers. Yeah, you’d be pissed. Which is pretty much what the desktop guys are doing to the rest of Linux. It’s no longer possible to just ignore the added cruft and get on with running Fluxbox and rxvt, because the underlying system interacts with those in subtle ways, and yet you still need to interact with it to mount drives and run daemons. Even people who just want to operate Linux servers find themselves wondering what Avahi or HAL is and whether disabling them will break some required higher level functionality (oh wait, forget HAL, that’s history, we thought of a better new thing that we’ll document…some day). This isn’t a big problem right now with RHEL 5, and it’s only slightly more of a problem with RHEL 6 - but look at the Fedora 17 feature list and think about how RHEL 7 will work.

Right now on my PC, manipulating a widget in a Qt application causes my X session to die (the X server crashes). Yeah that’s right: using an application brings down The Whole Kahuna. It’s not purely KDE, because it happens in Bibble too. It’s not just one type of widget, because scroll bars in k3b make it crash, but they work fine in Bibble where enabling a plugin makes it crash. I can use ktorrent to download files, but I can’t check their progress because that involves clicking on it. It’s not my profile, because I can crash it from the KDM login dialogue by trying to select another user or type into the user field. And I can’t avoid using Qt because of my reliance on the aforementioned Bibble/AftershowPro, which is what triggered this whole debacle because I only booted it up to edit one sodding image. (Once I had my NAS online and didn’t need the PC up as a file server all the time, I started using suspend-to-RAM to lower the startup time; that broke with Fedora 15 and systemd too.)

It’s probably just a bad update; I see the Qt packages in Fedora 15 were updated about a month ago (since when, many other dependent packages were also updated so rolling back is not a straightforward proposition). Right now, I can’t see anyone else within Google reporting similar issues, so it might just be me. It could be a bad interaction with my ancient NVidia card, or my ancient and possibly corrupted hard drive, or my much-abused motherboard (the kicking of which has increased in severity and frequency over the last two years), which has recently developed a tendency to randomly reboot anyway, particularly when a second SATA drive is attached. Although that might just be a bad drive (so I don’t run a mirrored root drive now). It could be the accumulated crud of many, many Fedora upgrades over thirteen years and the subsequent bodges and patch-ups to keep them going. Or it could just be that desktop environments suck, and even if it isn’t that in this case, maybe they do anyway.

Let’s face it, this box is sick. Terminally. I’m lucky it still boots and runs long enough to take a backup. Fortunately, my personal files migrated to my home NAS last year, so complete failure is no longer such a terrifying prospect. In fact, I’ve begun to anticipate it as a way to finally force me to perform a fresh install. (I even tried doing a fresh install of Fedora 16 to a spare drive this weekend, but the system wouldn’t stay up long enough to get through the install dialogue.)

Bugger this. Ordered: one AMD FX4100 motherboard bundle with 4GB RAM and integrated, NOT-NVidia graphics. I have a redundant PC whose aging Sempron mobo will shortly be evicted, and a spare 30GB SSD that ought to be sufficient for a root disk. Heck, I’ll even go 64 bit with the OS, kids - right here, right now.

But it burns me up that I have to perform a fresh install just to see if current desktop Linux works as advertised or whether it’s actually a pile of poo. And if it does work, for how much longer and through how many upgrades?

Alternatives

Why don’t I buy a Mac: Because I could barely afford one, let alone the cost of replacing all the (mostly free) software I use, and because I trust Apple’s upgrade path even less than the Fedora project. Otherwise, tempting.

Why not a laptop: Because a 768px height screen is laughably narrow, because I still have a SCSI film scanner (where SCSI is now effectively obsolete at the low end) and because I don’t need the portability for editing images.

Why not an Intel i5: Because it’s twice the price and I can’t justify it for the limited use I make of this system (ONE SODDING IMAGE! GGRRR!!!).

Why not 8 or 16GB RAM: Because 4GB is cheap and still a step-up from 2GB.

Why not use Ubuntu…? Because from reports, they’ve had just as many issues as Fedora (*cough* Unity).

…Or Linux Mint, or Arch Linux, or…? Because I don’t want an OS that requires a fresh install every time (really, upgrading is not uncrackable, Solaris solved it years ago), but I do want an OS with a widely and generally supported packaging format. And because I don’t want to throw away over ten years of Red Hat experience.

Why not just toss it through the window and live like Thoreau: Really tempting. Not quite that fed up yet.