Why do ducks have webbed feet? To stamp out fires.
Why do elephants have flat feet? To stamp out burning ducks.

Zenwalk 4.0

Monday 11th December 2006

Categories: Reviews, GNU/Linux, FLOSS

Poking Around

So, Zenwalk works reasonably well in the default configuration, but it always has done in my experience. My major annoyance has always been netpkg, or rather the relative weakness of the GUI. Recently, netpkg has undergone a major revamp, and finally takes a graphical approach more suited to its task. Rather than having to choose radio buttons and hit OK as though you didn't have a mouse, you now have a list of packages in the main pane, with the installation list on the right. Using the menus, you choose which packages you want to view: all of them, the updated packages, the new packages, or the downgraded packages.

I must say that this version is a major improvement, and long overdue. Of course, that's not to say it is perfect. It is more than usable, but there are still things that I might like to see.

Firstly, I have a gripe with choosing mirrors. There are no clues to tell you what the different mirrors are - you simply have to infer this from the address of the mirror. Additionally, you can only choose a single mirror at a time. This may not seem too bad, but if you just want to have all your packages updated with just a couple of clicks, and you have packages from more than one mirror, it can slow you down. The ability to have more than one mirror at a time would reduce complexity, and help keep track of packages.

Secondly, when you hit the Install button, netpkg finds and install dependencies without asking you. Although it is a reasonable assumption that you'd want the dependencies of the packages you've chosen, a quick verification with the user would not go amiss.

The feedback given to the user in netpkg is still not fantastic. When looking at the package list, there is little information - you get the crucial pieces, such as a short description, the current version and the updated version, but you don't get told any of the dependencies until it starts installing them. It also gives no indication of how big any files are. If the installation of any package fails, you don't get told about it - for some reason, all packages from a certain mirror were corrupted, and therefore didn't install. netpkg on the command line tells you this, but the GUI version tells you (falsely) that it has been installed successfully.

When the dialog telling you how the installation is processing pops up, you get told what's going on at that moment, but not what's already happened nor what it is liable to happen in the future. This dialog has a close button, but netpkg still seems to do things in the background when you hit this button - when I hit this button, the ability to hit Install or to add packages to the install list was removed. Whether they would have come back once netpkg had finished doing things in the background (assuming it was still going) I don't know since I gave up after a few minutes (there was no network or CPU activity to speak of by that point). In other words, I was left not knowing what netpkg was actually doing - something that should never happen. Looking at the list of packages afterwards, it would seem that netpkg just carries on installing the package.

One final minor criticism is the lack of an Upgrade All button - having to add all of the packages into the install list is tedious, not to mention the fact that you're liable to miss one since the main pane gives no indication of whether packages have been selected to be installed/upgraded.

Although that sounds terribly negative, I should reiterate at this point that I think netpkg has taken a massive step forward, and is a reasonable package manager. It just has a long way to go to match the standards set by Synaptic.

Moving on to other utilities, and they are still plagued by the problems of the netpkg of old. Rather than taking the usual approach to the GUI, they instead treat you as though you don't have a mouse, making them clumsy to navigate. For example, OK doesn't mean that you want to accept the options on the screen - it means that you want to access the currently selected entry in the menu.

As another example, to change my IP address using Networkconfig, I would first need to select eth0 in the menu, and hit OK. Then, I must select IP address on the new menu, and hit OK. This brings up a box in which I can enter the new IP, and then hit OK again. To then exit, I have to hit Back, followed by Exit on the main menu. This seems to me to be rather long-winded. This does not affect the smaller utilities, such as Localeconfig and Keyboardconfig, since they are essentially big lists which you can choose a single option from. The larger utilities, on the other hand, suffer from this unintuitive design - this also includes the Userconfig utility.

Of course, these utilities are also a strength - they make it very straightforward to change certain options, such as your locale and keyboard layout, or even your network, even if the design means it takes longer than it should do. Not mentioned already are Serviceconfig and Videoconfig, the purposes of which are fairly self-explanatory. Videoconfig could do with a couple more options, such as list of possible video drivers or the ability to change the resolution in xorg.conf.

Sharing files still seems to be unnessarily hard - the Samba server is not installed by default, meaning you'll need to a visit to netpkg and go through the usual pain to get file sharing working. If you want to know, this means enabling samba in Serviceconfig, uncommenting the line for swat in /etc/inetd.conf, and then getting swat running by using the command service restart inetd. Then, from localhost:901 you can set up the shares at will. If you ask me, this process could be made much easier for the unfamiliar user.

CUPS is not active by default, so to get printers working you'll either have to select it during installation or enable in serviceconfig. After that, when I plugged in my HP printer, it was automatically detected and installed - no configuration necessary! It was just plug and print.

For me, web servers are still a pain to set up, and I've yet to get one working. I've followed the Howto for Apache, PHP and MySQL, which gets Apache and MySQL working. It also appears to get PHP working, but it refuses to talk to MySQL - after turning error messages on, I get messages similar to:

Fatal error: call to undefined function mysql_connect() in [file] on line [line]

The right lines seem to present in php.ini, and I've spend some time just fiddling with options. I'm none too keen on spending any more time pondering over it - firstly Zenwalk is focused on the desktop, and secondly, other distributions make it so much easier to set web servers up. Compared to some of the commands that need issuing in Zenwalk, such as mysql_install_db, Debian is a doddle - just install the relevant packages, and things should just work!

Conclusion

So, is Zenwalk 4.0 a major improvement over 3.0? The answer is no. Although I'm aware of the various changes that have occurred beneath the skin, such as the X.org transition, this makes little difference to the end user. From a desktop user's point of view, the only major changes to have occurred that I can spot are the removal of LinNeighborhood, which is disappointing, and a decent improvement to netpkg. I am still not impressed by the way in which shares are accessed or created, and the sometimes clumsy interface of the configuration tools. However, some thought has been put into Zenwalk in various areas, and that also shows through.

Although this article might appear to be rather negative, good points are generally briefer to express than negative points - as a result, you might get the wrong impression. Zenwalk is a good distribution. Unfortunately, Zenwalk has failed to take a major step forward, and so for the third time I must use much the same conclusion: Zenwalk is fast and nippy, and works well by default. However, the installation could be made more user-friendly, as could some parts of the distribution once you get onto the desktop, such as sharing. Netpkg has had major improvements, but it still has some way to go. It may not be ideal for the inexperienced, but I hope Zenwalk can build on its success thus far - then we might just see something fantastic.

Useful Links