I have been using Ubuntu Linux as my primary operating system at home for about six months now and I love how everything usually work out of the box. There is a downside to the fully automated setup however, and not just in terms of complexity. While I can learn how to use Linux with Ubuntu, it is quite difficult to learn how the system really works underneath the covers. To this end, I have migrated my home machine over to Arch Linux in order to expose myself to more of the configuration details and learn how to construct a working desktop environment from the base operating system and package manager.

My first impression was one of power and simplicity. Despite the installer’s bad advice on partition layout and sizes (for a standalone machine anyway), I was able to get the system set up in a few hours after figuring out which packages were secretly required and how to deal with the wireless network – often a tricky point with Linux systems. Having to configure my own init script and set up a desktop environment myself has been hugely educational. Arch has a way of making fairly complex concepts relatively simple by choosing the the simplest technical solutions where possible and providing an extensive Wiki full of advice and instructions on how to do most common setup and configuration tasks.

The package management system is implemented by a tool called pacman. All supported software is easy to get hold of with this tool, but the AUR user repository is cumbersome to use without a pacman wrapper. I used yaourt for this, simplifying my package management process to a single tool with a consistent, simple syntax. Nice!

Having used Gnome for years while preferring many of KDE’s basic applications (Kate, Dolphin, Okular…), I decided to set up a full KDE environment and see how far it has come in recent years. On the whole, I’m quite impressed with it, although there are some notable problems. Virtual desktop navigation isn’t as good, for one and Kompare stupidly reverses desired patches rather than saving the correct output. There’s always the command line and third party tools, though so no harm done. Sometimes the GUI tools make things easier to deal with, like wireless networking, and anything related to X11 configuration. I am especially enjoying the netbook style desktop application launcher, even though I don’t have a netbook or touch enabled computer.

The only other problem I’ve had is a bug in LLVM’s library, which is using experimental C++0x that isn’t working in the clang compiler. Fortunately, there is a patch to make it compatible with the existing C++ standard. While Kompare is stupid with patch files, the good old GNU patch program works like a charm.

I have enjoyed playing with Arch Linux over the last few days and will continue to use it instead of Ubuntu for the foreseeable future. What it lacks in automated polish, it makes up for in opportunities to learn and technical simplicity. That sounds like fun to me.