Ubuntu: making things easier

I’ve had my eye on the Beryl project for some time now. Problem is, I’m a loyal Slackware user, and it’s a royal pain in the rear getting it to work on the platform. Beryl isn’t the only problem child, either. I’ve never been able to get Gcdmaster working, and the less said about DVD authoring, the better.

Not that I have any illusions; Slackware isn’t designed to be easy, per se. Rather, it’s meant to be robust, stable and above all, fast. In those respects, it soars. It’s about the only distro I’d use to run a server, and if I need to run something that eats serious CPU cycles, it’s the way to go. It’s the closest distribution to actual Unix, and for an old-school geek like me, it fits like a glove.

The downside is that it takes alot of hacking and hand-editing to get certain things to work. For the most part, I’m fine with that. I like compiling programs from scratch, since it gives me a finely-grained element of control of the process, and that’s what Slackware is all about.


But as I learned trying to get Exaile running recently, that can be a real liability at times. Although the default install includes the important core software and there’s a great repository of 3rd-party packages, installing bleeding-edge stuff by hand can often lead to a frustrating scavenger-hunt for various dependencies, and I’ve ended up throwing my hands up in exasperation more than a few times before just giving up.

For example, I got a laptop last year: a nice HP Pavilion with integrated wireless and all the geegaws you’d expect. It took me a whole Saturday to get ipw2200 to work with the WAN, and getting decent acceleration on the i915 chip felt like the 8th labor of Hercules. It all involved alot of scripting, and even now, the drivers don’t always work as they should.

I know it’s not meant to be easy, but sometimes I just don’t want it to be this hard.

I had an old Suse install on an extra partition, so I decided to erase it and give Ubuntu a shot. It’s an upstart distribution based on old standby Debian that aims to streamline installation and administration.

I’m always a bit leery of distributions that aim to make things “easy,” not because I’m a masochist (that was a Halloween costume. I don’t wear it every day!), but because such distros generally smooth out the humps by removing choices from the user.

Think of it this way: the more choices you’re given, the more input you need to give. That means dealing with the command-line. Filtering these choices through a graphical abstraction (menus and such) means whittling away some of those choices and presenting the user with a limited set of predetermined “template” functions. You will always lose some degree of control in doing so.

(Neil Stephenson gives some good thoughts on the matter here.)

Anyhow, after hearing nothing but praise, I decided to try Ubuntu. I have to say, it’s been a nearly total breeze, and it’s quite a robust distro.

Of course, it should be, as it’s based on Debian. Debian has a huge userbase, and most bleeding-edge software is quickly packaged for it. It also has one of the best package-management tools in Apt. The core Debian system is generally just a bit older than most out there due to its Deb and Ian’s insistence on stability, but Ubuntu enhances this with a guaranteed 6-month cycle of updates.

Installation was a pretty hands-off affair, though the installer let me set up partitions by hand, which is something I always insist on anyhow. Feisty Fawn (I love their version naming scheme) comes with kernel 2.6.20-15 by default. I was a bit concerned when the installer didn’t pose any real choices, because this usually means the system is deciding for me (and that’s not always good).

However, Ubuntu came through with flying colors. This is the first time ever that a Linux distribution has gotten X configuration right on the first try without any input, and when in booted into Gnome, I was happily surprised to find that it had already detected and correctly configured both the wireless card and my touchpad. All the other hardware had also been properly set up.

Folks, this is the Holy #%*@ing Grail for Linux evangelism. I had to install Windows XP a year back, and I can tell you, it was nowhere near as easy and spot-on as this. This is the sort of thing that we need to push it into the true mainstream.

Ubuntu came with a pretty good software setup. My desktop runs an Nvidia card, the driver for which isn’t open-source, but downloading it through the automated Synaptic interface was easy and quick, and I had it running in seconds–again, without the need for any input on my part. No hand-coding the xorg.conf or trial/error with the server. Nice.

There were some odd omissions, most of which were easily rectified through Synaptic. Why they include the Flac libraries but not the command-line tools is beyond me, but that’s a minor and easily-fixed concern. Oh, and the packages that gave me so much trouble in Slackware? I had them all up and running in just a few clicks.

It’s worth noting that since this is based on Debian, some “borderline” programs like Lame, the dvdcss libs and the various win32 codecs are not included by default, but they are available as downloads from the “non free” repositories.

Synaptic (there’s also a simplified “Add/Remove” dialog) works in a similar manner to Suse’s YAST. The user is presented with lists and categories for browsing, and there’s a search option as well. Simply select the package, and the system downloads and installs it. Basically, there’s not an app I can think of that I wasn’t able to quickly find.

Synaptic at work

One odd but annoying choice was the decision to use gnome-screensaver instead of the old xscreensaver daemon. The new scheme isn’t customizable at all, which makes it nearly useless. I can understand the reasons behind it, as it integrates well with Gnome’s native power-management, but it’s still a bit of a bummer. Still, it was a relatively easy thing to fix, but it brings up a salient point. I’m used to doing this sort of thing, but it’s the only time I’ve had to resort to the command line in Ubuntu. I like using the command line whenever possible, but at no point has it been forced upon me here.

As far as bare-metal stuff goes, I was a bit surprised to find that gcc and the like are not included by default, but after a bit of reading, it makes some sense. Users aren’t expected to need to complile from scratch in Ubuntu. On the other hand, it’s available for those of us who want it, though I’ve not had need of it.

I’ve been running it for about a week now, and I can report that I’ve had no problems in terms of stability. It’s not quite as fast as Slackware, but nothing is. Still, performance is excellent, and even with the bells-and-whistles going in Gnome, it feels faster than Suse or Fedora. I was quickly able to mimic my Slack desktop:

Ubuntu on the desktop.

I won’t be giving up Slackware any time soon, but for the desktop, I’m quite pleased and impressed with Ubuntu. What’s more, this could very well be the right combination of power and usability that brings Linux to the masses. Let’s hope so.