Sunday, September 18, 2005

Ubuntu - Humanity to Others

So, I warned you that you'd have to deal with the odd geek-oriented post from time to time, didn't I? Well, it's time.

As I briefly mentioned in a previous post, my desktop PC died right before my trip to New York. There was a bad storm, the power briefly cut out, causing the machine to reboot, and it never came back up after that. Basically, it would just hang at different points during the boot. Rather than spend ages picking through that 6-year-old kludge clone, trying to determine which parts were fried, I decided to just cut my losses and move on.

So, I grabbed Mythy (my MythTV-based homebrew PVR), deciding that it would make a nice, new(er) desktop. This leaves me without a PVR or DVD player for now, but that can be remedied in the future. I bought a new, bigger hard drive, and set about installing an operating system.

Of course, that operating system would be a GNU/Linux distribution. I've been using Debian for over 5 years now (and other distributions for at least a couple before that), and I have grown utterly accustomed to understanding how the system works, to running for months without rebooting, and to having every kind of application I could ever want at my fingertips, for free.

But lately, I've been hearing so much about Ubuntu that I decided I'd give it a try this time. Ubuntu is a Debian-derived distribution that's meant to be more user-friendly. Not that it's the first, mind you. Other Debian-based distributions, like Xandros, Linspire, and Mepis, have tried to fill this niche, but they've never been hugely popular. In my opinion, their focus hasn't been correct. They've been too concerned with prettifying the desktop and supplying do-it-all configuration tools, and, in the process, have sacrificed the distributed cohesion that is embodied in Debian's elegant architecture.

I've believed, for quite some time now, that Debian would most benefit from having someone smooth over it's long release cycle, and that's exactly what Ubuntu does: every six months, it provides a stable release containing a subset of packages from Debian Unstable that have been frozen and tested. Some new software has been added to Ubuntu before making it into Debian, like the X.Org implementation of the X Window System. As the system has matured, there has been increasing divergence from Debian, which has been the subject of much controversy and of some efforts to address the issue. Hopefully, the two projects' developers will be able to keep the differences to a minimum. That would surely benefit all.

So, the big question: how is it?


The install is slick, simple, and complete. It autodetects hardware, it suggests a partitioning scheme (and provides remarkable control if you want to tweak it yourself, even handling LVM configurations), it asks a minimum of questions, and it's fast. There's no flashy GUI, as Debian-Installer is used to provide all this nice functionality, with a simple, character-mode interface. I strongly believe that just the video mode has no effect on the ease or difficulty of an installation. It's the information presented and the questions asked that make a difference.

Ubuntu installs a much larger base set of packages than Debian, in order to provide a complete desktop out of the box. However, for security's sake, it doesn't install any servers. The desktop is a slick, well configured GNOME 2.10 (KDE fans would probably prefer Kubuntu).

For the most part, things just work, with no additional effort. My sound card, a Sound Blaster Audigy2, was detected and ALSA was configured appropriately. I was briefly stymied by the fact that it defaulted to optical output, leaving my little old analog speakers silent. A bit of Googling led me to look through the mixer settings until I found the right switch.

On plugging in my camera for the first time, it was automatically mounted, with an icon appearing on my desktop for it, and a dialog popped up asking if I wanted to import the photos into my photo album.

Unfortunately, there was a problem with the initial graphics configuration. It rightly detected that I have an NVIDIA graphics adapter, and so it configured X to use the open source nv driver. That failed to give me a resolution above 640x480, which isn't so much fun. Had it simply opted for the vesa driver, things would have worked fine. Fortunately, Ubuntu packages the proprietary nvidia driver, so properly fixing the situation was easy.

I think that these kinds of problems are inevitable when you're trying to support the huge collection of random PC hardware that's out there. Fortunately, Ubuntu's not just a pretty face. It's pretty under the hood, too: consistent and relatively easy to understand. So, when things do go wrong, it's much easier to fix than most other "user-friendly" distributions.

Ubuntu's rapidly growing user community has been contributing excellent documentation, too. The Unofficial Ubuntu Guide is simply brilliant: it helped me out with my X driver problem, and also showed me the simplest ways to install all those handy proprietary programs and plug-ins like Java 5.0, Flash, and Acrobat Reader. It even covered the often tricky issue of multimedia codecs and DVD playback.

By default, apt, the Debian package management tool, is well configured. The sources.list contains entries for local mirrors of the two supported Ubuntu repositories (Main and Restricted) and, importantly, the coresponding security repositories. A third Ubuntu repository, Universe, includes almost every package from Debian Unstable that isn't officially supported in Ubuntu, rebuilt to have all of the right dependencies for the distribution. It can be addded to the mix simply by uncommenting two clearly marked lines. I also found that it was easy to automatically build packages right out of Debian, myself.

There's one other particular quirk in Ubuntu that has received a fair amunt of attention: root login is disabled. Instead, sudo is used to allow the first user to execute commands as root, using only his own password for authentication. This approach works very well. The user doesn't have to remember a second password, and is strongly discouraged from using root unnecessarily. This compares very favourably to Linspire's Windows-like approach, in which the root account is used for everything. It's still smooth and unobtrusive, with all the GUI administrative tools that require root priviledges using gksudo to autheneticate on launch. Still, I quickly found myself missing su, as I occasionally want to run multiple commands as root, with proper command compleition. In such cases, "sudo -s -H" does the trick, and be aliased to "su".

So far, my day-to-day use has been uneventful (that's a good thing). I've been using applications like Firefox, Evolution, GAIM, Rhythmbox and GnuCash without any problems.

Ubuntu is an African word meaning "humanity to others" or "I am what I am because of who we all are." It's a beautiful sentiment and an apt name for such a community-driven free software project.


Anonymous said...

To prove that I can comment on non-CanIdol things, I am liking your Ubuntu exposition. Not that I have any intention of devoting precious time right now to rebuiding my PC, but when I *do*, I'll try to remember this post.

But you are now living without a PVR? During premiere season? And no DVDs either! So, what, you have to watch live TV? That is teh crazy.

I had this amazing list of things to accomplish this weekend, but instead I watched twelve episodes of Veronica Mars.


oskyldig said...

Ubuntu is hawt. Two boxes in the house with em!