I hadn’t had any trouble with either of my laptops recently, so I decided to mess around with my desktop instead by installing Foresight Linux on it (to replace Xubuntu). I had first heard about it because I’d heard good things about its package manager Conary, and then because it was being shipped with the Shuttle KPC. Surely, if it was being shipped with an inexpensive mass-market machine like that, it should be pretty easy to use, right? Wrong. Oh, the install worked great. The initial boot was complicated by the way I already had GRUB set up, but I got through it. It brought me up to a reasonably functional desktop environment, at full resolution (which is only 1280×1024) and with full networking (for a common-as-dirt Ethernet chip), which is actually pretty decent.

Then I started to play with stuff, and that’s where I began to see how user-unfriendly Foresight can be. The Emerald Theme Manager (part of Beryl) seemed to be installed, so I figured I’d try some eye candy. No go. Various forum posts seemed to indicate that I needed to install something called fusion-icon to get access to that stuff (along with many complaints about the partial nature of the Beryl/Emerald/Compiz/whatever distribution in Foresight) so I started my first venture into Foresight package management. It seemed like they had wrapped Conary in something called PackageKit, so I gave that a try. Well, PackageKit is bleeping useless. As Seopher explains better than I can be bothered to, it is of little to no use in finding the package you need, so if you don’t know exactly what it’s named you’re out of luck. PackageKit is slow, the interfaces are all lousy, and it has plenty of other shortcomings as well. My unfavorite is that some commands must be run as root, and some must not be, with no real rhyme or reason to it; some of the non-root commands are far more destructive than the root ones. I managed to persuade it to install fusion-icon and the correct video driver, then resolved to use Conary directly from then on. Voila! I had all sorts of silly eye candy, which I’ll probably never use or think about again, but it was an interesting exercise.

My next great disappointment came when I tried to import some settings from my old Xubuntu setup, and xrdb complained about cpp being absent. How can the C preprocessor be missing? Well, it turns out that the system ships with no compiler, which is just inexcusable for a Linux system. Unhappy about having to install the compiler in the first place, I was doubly unhappy to find out that Conary isn’t all it’s cracked up to be either. It happily told me that gcc was already installed, but there was still no compiler actually there. After some digging around, I discovered that I had to install gcc:runtime to get an actual compiler. That’s insane, but it gets worse. Having lost faith in the ability of the Foresight developers to do something reasonable that would result in a working system, I decided to try compiling a “hello world” program. It failed, due to header files missing. After even more digging (“conary rq –path” seems to be the most useful incantation they provide) I installed gcc:devel so that I could compile and run a simple program. That’s two more steps and a lot more digging than should have been necessary. Overall, this business of packages and components and “troves” and package names that sometimes look semi-reasonable and other times look like they’ve had a bunch of line noise tacked on the end all seems rather arbitrary, inconsistent, and obfuscatory. Maybe “gcc-objc;4.1.2-11-0.1;x86;/conary.rpath.com@rpl:devel//2-qa/1204703034.211:4.1.2-11-0.1,1#x86|5#use:~!bootstrap:~!cross:~!gcc.core” has some use or value to rPath developers, but it’s just a silly-looking mess to anyone else. (Yes, I got that from pkcon rather than conary, but who the heck cares? How you layer your software should be your problem, not the user’s.)

It’s a good thing I don’t care much about sound on this machine, because that doesn’t work either and I’m sure I could have another whole rant about that if I did care. In the end, all I can say that the single word that comes to mind for Foresight Linux is immature. Despite all the claims of being oriented toward ease of use, it’s just not ready for general use even among Linux experts.