software blog

Irregular journal of my tinkering with software, chiefly under Debian GNU/Linux

Florian Cramer,

Ubuntu installation experience

Fri Nov 4 15:22:22 2005

Migrated a friend's computer from a classical Debian installation (w/ KDE) to Ubuntu 5.10 (w/ Gnome) today, mainly because she is not a Unix expert and greatly profitted from a system she can largely configure and administrate over the desktop GUI. With its tight integration of the Gnome system tools, Project Utopia stack (i.e. udev + hal + gnome-volume-manager to automatically detect and desktop-mount removable media and external hardware), and great self-written configuration tools- like the system update notifier and "Add Application", a new simplified APT frontend -, Ubuntu is an impressive achievement. I am writing this as somebody who is otherwise a hardcore commandline anti-desktop user himself.

And, finally, Ubuntu is unbeatable because of its solid Debian foundation and userland, being the first desktop user-oriented GNU/Linux distribution that doesn't compromise on its technical foundation and, last not least, is truly free and doesn't force users into commercial upgrade threadmills.

However, Ubuntu isn't perfect yet. Some of this imperfection is attributable to Gnome and the dubious quality of its framework and underlying code. Responsiveness is very poor - on a notebook with a 2 GHz AMD Athlon CPU -, with the hour glass running even if you open a small system accessory tool. Nautilus crashed on me when I tried to copy 12 GB of backed-up data back into the home directory of the new installation. Of course, the job completed without any glitches when I resumed it on the commandline with rsync. (Why the hell does Nautilus, as it seems, implement its own file manipulation routines instead of just forking off a cp process?) And while Gnome 2.12 finally has a menu editor, moving things within the menu is completely non-intuitive. I falsely assumed it would work via drag-and-drop within the menu itself. Either Gnome or Ubuntu created a hard drive icon for /dev/hda1 - a pointer to the raw device file, not the mount point. From Nautilus, I couldn't create a desktop icon for the home directory, allegedly because of missing permissions. However, "ln -s /home/foo /home/foo/Desktop" on the commandline was no problem at all and did the trick. "Add applications" doesn't find/list a whole number of packages that are actually within the configured apt repositories, among them some quite common ones such as Inkscape and Scribus. Getting mp3 and DVD/CSS playback to work would be a black art for any non-Debian-expert. Probably as a safety/fallback measure, DMA is deactivated by default on all internal drives. Editing /etc/defaults/hdparm fixes that easily, but again, one would expect a simple desktop dialog for this task from a distribution like Ubuntu. A non-expert would have given up here, all the more someone who would try to figure out why DVD playback was jerky.

For some mysterious reason, DVD playback with both mplayer and totem (with xine backend) resulted in a blurry image with jitter noise, as if one was watching a decrepit VHS tape. Kaffeine, using the same xine backend as totem, managed to play back DVDs well. Don't ask me why. Could this is be an issue with DMA access or the Nvidia xorg driver? In any case, I eventually gave up on trying the tell Gnome to open DVDs with kaffeine instead of totem by default. Neither could I find some filetype/application configuration tool, nor did the hal entries for the DVD device or the totem entries in gconf-editor provide any clue. Seems as if I am stuck with the classical Gnome issue that expert configuration is bordering to a black art.

So my long-term hope still is that desktop-friendly, system-level Linux functionality will continue to make KDE- and Gnome-middleware specific features obsolete. With the inclusion of FUSE in Kernel 2.14, kioslaves and gnome-vfs have become obsolete IMHO, or at least shouldn't be more than GUI wrappers around FUSE. Despite its hideous XML configuration files, ivman (or some similar tool) on top of HAL, udev and pmount should obsolete gnome-device-manager and KDE automounting. Once all this stuff has been moved into generic, system-wide interfaces, desktops will finally be able to be simply desktops, and not redundant operating system middleware for their own API ghettos. Through simple leverage of generic functionality, XFCE - I hope - will offer everything that Gnome offers, without additional code. XFCE's new Thunar file manager looks very good already in its early beta stage, and unlike Nautilus (and pretty much the rest of Gnome), it doesn't simulate simplicity through internal complexity.

Ah, and of course I ditched Beagle from my home computer after it continued to render it unresponsive.

Desktop search engines

Fri Nov 4 15:22:22 2005

Google-like full text index access to one's home directory remains an issue under free operating systems. Updatedb/[s]locate provides only indexed file name search, "grep -r" through several gigabytes isn't great either. In former times, I struggled with glimpse (slow, non-free) and swish++/swish-e (totally broken usability) and pretty much gave up on the issue.

Today, I gave estraier (from Debian unstable) a shot, but didn't find it usable either because it only offers a web cgi, and no command line tool, for search queries. Then I finally gave up my resistance and installed Beagle, the well-known Mono-based Gnome search backend which, fortunately, can be used independently from Gnome and via a set of commandline tools. The beagle demon - and with it the Mono runtime - running for several hours on my PIII/1GHz, indexing ca. 50 GB of data in my home directory. My impressions so far:

- Indexing speed is subjectively slow, perhaps because the program is written for .NET/Mono.

- It spits out all kinds of error messages in the process. Several dependencies (the evolution libraries libedataserver, libebook, libecal) were missing after the Debian package installation.

- "beagle-query" works, also during indexing, but offer neither regular expressions, nor wildcards . This sucks big time. It also spits out matching files as URIs (i.e. "file:///home/foo/bar"). While this can be fixed with a wrapper script, it sucks, too.

- The software is clearly beta. I keep getting error messages such as "inotify_add_watch: no space left on device" - 25 GB are free according to df - "Maximum watch limit hit. Try adjusting /proc/sys/fs/inotify/max_user_watches."

Despite the flaws, the program is clearly useful until someone will implement something better (hopefully in C, with regex searches...), so I will keep it around.