An up-to-date overview of free software and its makers

Projects on the Move

Martin Loschwitz

Free software covers such a diverse range of applications that it can be hard to find the perfect tool. In this column, we pick the best of the bunch. This month you'll learn about XFce 4.2, the PC in the PC, QBuildkde, and the latest news on the Sarge Release.

Of course it is important to organize big events like Linux World to keep Linux competitive in the desktop market, but it is far more important to organize smaller meetings of Linux user groups locally. The recent popularity of Linux user groups shows, more than anything else, that Linux is an extremely interesting proposition for home users. It also shows that there is an information gap about Linux. And that's why I would like to appeal to Linux user groups not just to think about your personal needs, but to offer practical help to anyone interested in Linux.

XFce Improved

If you happen to see a desktop computer with Linux nowadays, it typically has KDE or Gnome installed as the GUI. Many distributors use the former as the standard desktop. After all, KDE does make Linux more accessible to newbies, while giving power users a variety of features and applications. Some people think that the seemingly infinite depths of KDE are over the top and just make the desktop too slow. Although KDE runs on older hardware, there are far quicker alternatives for slower machines.

One of these alternatives is XFce (see Figure 1). The Xfce desktop environment started life as a simple clone of the commercial CDE desktop (Common Desktop Environment). XFce had trouble shaking off this image up until version 4.0, but things changed when the XFce updated to a shiny new GTK-2 design. With the release of version 4.0, XFce lost its monolithic feel and started to offer a modular approach, allowing users to install the modules they needed when they needed them. New programs were soon introduced: a fairly useful file manager, a kicker, and even a configuration tool all of its own.

Version 4.2, a new major release, is coming soon. One of the significant changes with version 4.2 is improved support for Xinerama, the Xfree86 multiple-head extension. XFce 4.2 uses the full range of Xinerama features. It additionally supports kiosk mode, which makes the desktop perfect for systems where users change continually but settings have to stay.

The Xfce4 panel, which is also popular with users of other desktops, now supports scaling, whereas it used to occupy the whole width of the desktop. XFwm4, the XFce window manager, now supports the Free Desktop Group standards [1], and there are a few new themes and icons.

PNG images add color gradient support for menus, making it possible to add shadows. And there have been a few improvements to the MCS Manager configuration system: for example, you can now enable font aliasing directly in the manager.

One of the biggest changes is the XFce4 Session program, which gives the desktop its own session manager. XFce4 Session is compatible with KDE and Gnome, and it also supports Xinerama. And if you are unhappy with the appearance of XFce4 Session, you can use a theme to change it.

If you do not have state-of-the-art hardware but do not want to do without a GUI, it may well be worth your while investigating the latest version of this alternative to KDE.

PCs within PCs

Users often wish to isolate part of a system to prevent access to the main system from the isolated area. This practice protects the main system if someone breaks into the isolated subsystem.

Chroot is the oldest and most simple approach. Administrators simply need to emulate a Linux system with the required files below a specific directory level. Chroot tricks any programs launched in this directory tree into thinking they are running below the system root directory. Processes can only access the files in this environment.

But chroot has disadvantages. For example, the programs in the chroot jail share the computer's resources with the main system. If a program misbehaves, it can take the whole system down. Additionally, experienced attackers may be able to break out of the chroot jail and break into the main system.

Vmware, which emulates a PC, has been around for years. The Vmware server allows users to set up multiple environments using different and isolated systems on the same hardware. Unfortunately, the source code is closed, which is often the case with commercial products. And the price has brought tears to many an admin's eyes.

Figure 1: Version 4.2 represents a new stage in the development of the XFce desktop environment.

New and Cheap

VServer [2] is free software. VServer comprises two components: a kernel patch and the VServer utils, which handle the userspace tasks. Each VServer can be launched separately. As each VServer has its own init process, it can launch services with their own IP addresses. VServer and the processes it uses will terminate cleanly, together with the VServer utils. Additionally, the recent versions of VServer can impose restrictions on the resources a server is allowed to use. But just like chroot, the virtual servers use the host system's kernel.

User Mode Linux (UML) [3] adopts a different approach, although it also runs a system within a system. UML loads a kernel of its own in the host operating userspace. In contrast to VServer, UML has its own file system, which you can either create yourself from an image file or download from the UML homepage. Again, the basic configuration includes a kernel patch, without which the whole suite will not run. This said, some distributions, including Suse, already have the patch integrated in their standard kernel. UML provides granular control over the hardware that a guest system is allowed to access. In contrast to VServer, UML can emulate hardware that the host system does not have. Unfortunately, there are some distributions that will not run within a UML environment, whereas VServer will run almost any Linux host.

New Approaches

Xen [4] taps into the kernel at an even lower level. Instead of booting a normal Linux kernel, it boots a special Xen image, assigning numbers to every system on the computer (including the host system and all its virtual clients) and addressing them as logical entities - so-called virtual domains. Another special feature of Xen is that it emulates an idealized PC in the guest domains, rather than attempting to emulate the full range of hardware. The virtual domains load the Xen-optimized kernel, which only has the minimal selection of drivers it needs to run. This is evidenced by the dmesg output after booting, which contains a mere 50 lines. This said, each virtual domain still reacts like a full-featured computer.

These projects make me feel optimistic that there will be an alternative to VMware in production environments some day. But if you are looking for a virtual system on your own box, chroot may be just what you need. And don't forget that setting up UML, Vserver, or Xen will take a lot more effort.

Building KDE

If you want to build a major project like KDE from scratch, you are in trouble. KDE includes a mass of individual modules with complex interdependencies that mean getting the build order just right.

If you intend to use the individual configure scripts to do that, you can look forward to a lot of hard work. Additionally, each new KDE release means repeating the whole procedure. In other words, a more generic solution is a good thing. QBuildkde [5] (Figure 2) makes it easier for users to build KDE from the source code. It gives users a front-end for the KDE CVS, adding functionality to initiate a build after checking out from CVS.

The interface is simple and intuitive. When you launch QBuildkde for the first time, a configuration dialog appears, prompting you to create a basic setup. In most cases, you should be fine with the defaults. A list of CVS modules that the tool can handle is then shown in the main window. The list includes the KDE-QT QT-Copy branch, but it also contains the basic KDE packets. To compile a module, users simply need to check the module name in the list and press the starter button.

Figure 2: QBuildkde helps users build KDE directly from the source code in the CVS repository.

A client-server communication interface was introduced in version 6.1. In other words, you can run QBuildkde on a re-mote computer and check the progress via a Tel- net session. Incidentally, QBuildkde is not the only program that aims to make it easier for users to compile KDE. Konstruct [6] has the same aim.

Figure 3: The Debian Installer homepage shows the latest changes to the installation system.

Sarge, Sarge, and Sarge Again

I have lost count of the number of times that Projects on the Move has brought you the latest news from the Debian GNU/Linux Sarge camp. A new release of the well-known distribution is becoming more imperative day by day - after all, the last stable release is anything but state-of-the-art. Debian Woody is over two years old. The new release was announced for mid-September but didn't happen. And if you ask about the Sarge release date now, you just get the same old answers: it will be released when it's finished. In other words, there is still plenty of time to take a look at the biggest construction sites.

The most ambitious project included in Sarge is the new Debian Installer, which is designed to make boot floppies a thing of the past. Obviously, work is not progressing as quickly as Release Assistant Steve Langasek hoped back in August. An official first version of the Installer has not been forthcoming, but at least the pre-release and RC versions support installation tasks now.

Each new version, and they seem to crop up continually, adds new functions. The first pre-release version of Release Candidate 2 now has a new option for scaling NTFS filesystems during the install. And it has improved LVM (Logical Volume Manager) support, meaning that the Debian Installer can be configured to boot from a LVM unit.

More major and minor changes have been introduced to add stability to the project. The person in charge of the new Installer, Joey Hess, was cautiously optimistic in the course of the last couple of weeks. Judging by this, the Installer would seem to be getting closer to a stable release - very slowly, but surely.

New Team Members

The Debian Release Team includes a new member, Andreas Barth, who joins Colin Watson and Steve Langasek. Meanwhile, back at the main distribution, there is lots of hot news. The base and standard sections have been frozen, but the team has not set a date for freezing the remainder of the distro. And Debian will not release a package unless it has been frozen for a while to allow critical errors to be removed. At least the list of critical errors has continued to dwindle; another sign that points toward an imminent Sarge release.

Steve Langasek currently sees a completely different factor causing more delays. Debian first builds any packages that make their way into the archive manually before passing them on to the so-called buildds, or autobuilders, which automatically compile the package for a specific architecture without bothering the package maintainer. The maintainer simply needs to add a GPG signature to the package to allow secure retrieval from the archive system.

This system typically works fine for the unstable section, but testing is a different matter altogether. There is currently a lack of autobuilders that could build security updates for Sarge. As things stand, the members of the Security Team need to manually build security updates for each individual architecture first. This manual build process is extremely time-consuming for larger packages and not a long-term option. Until a solution is forthcoming, says Steve Langasek, there can be no real progress towards a release. And the lack of security support means that users should avoid running Sarge on their own systems.

That's all folks...

... for this month at least, but we do have one request before we go: If you can recommend a program that you would like to see featured in Projects on the Move, why not mail me your suggestion [7]?

Info

[1] Freedesktop.org project: http://www.freedesktop.org

[2] Linux VServer project: http://www.linux-vserver.org

[3] User Mode Linux homepage: http://user-mode-linux.sourceforge.net

[4] Xen, a PC Emulator: http://xen.sourceforge.net

[5] Qbuildkde website: http://www.sf.net/projects/qbuildkde/

[6] Konstruct website: http://developer.kde.org/build/konstruct/

[7] Tips and suggestions: projects@linux-magazine.com

The Author

Martin Loschwitz is from a small German town called Niederkrüchten and a developer for Debian GNU/Linux. Martin's leisure time is mainly pre-occupied with activities in the Debian or GNU community.