Zenwalk 4.0
Monday 11th December 2006
It's no secret that I like Zenwalk - the lightweight attitude proves to be a refreshing change from many other distributions. However, thus far, I've been reluctant to recommend Zenwalk to users fairly new to Linux, or those that want things to just work. As the version number shows, Zenwalk has recently undergone some major changes - let's see what effect they have.
Installation
On installation, the effect is just about... zero. It is more or less the same as last time, which in turn was about the same as the time before that. That means that the installation can be a little intimidating to new users, but they should be able to work through most of it, especially if they bring up the Zenwalk manual.
Editing partitions is still done via cfdisk, which is accessible from within the installation. I still prefer GParted over cfdisk, although there are also some text-based partitioners that I would prefer - the one included in the Debian installer springs to mind.
CUPS is still disabled during setup - although this might be to reduce the number of unnecessary processes running, a quick question asking whether you want to have CUPS / printing on by default wouldn't go amiss (as opposed to CUPS just being another option on a long list of services that many users may well not understand).
The problem of swap space selection still remains. You get given a choice of what swap space partitions you wish to use on the installation, but deselecting one of the two I have on my machine made no difference - it still used both.
Logging In
Zenwalk remains as fast and nippy as ever - on the same machine, complete with an AMD Athlon 1.2GHZ and 384MB of RAM, I could not detect any real speed difference from Zenwalk 3.0.
Similarly, there are relatively few changes to the application list. XFCE still serves as the desktop environment, this time version 3.99.2 - the second release candidate. Despite the non-final status of XFCE, it was rock-solid for me. Other applications include:
- Firefox - web browser
- Thunderbird - e-mail client
- GAIM - instant messenger
- gxine - media player
- Bluefish - advanced editor
- Geany - programming IDE
- The GIMP - graphics editor
- Evince - document viewer
- Abiword - word processor
- Gnumeric - spreadsheet program
- gFTP - FTP program
- Mousepad - text editor
- vim - text editor
- tightvnc - VNC server and client
There are relatively few things to say about this list. All the programs are reasonably small, as they should be, and most people would be happy with those choices. Admittedly, I had to get use to vim the first time I used Zenwalk owing to the lack of nano, but a quick search on the Internet gets you going.
Notably absent from this release is LinNeighborhood, the beloved networking tool. Essentially, this allows you to browse the network, and mount any shares that you find. Although FuseSmbTool is the remaining alternative, and works by selecting a folder on which to mount the entire network. This has two major deficiencies from LinNeighborhood. Firstly, it always gives out an error messages on startup, namely about fusesmbtool.conf, and the default directory for putting the shares is not automatically created. Second, and far more important, is that FuseSmbTool makes it very difficult to access shares that require different usernames. You cannot set the username and password on a per machine and per share basis, unlike in LinNeighborhood, meaning that getting to those other shares requires you to unmount the entire network, type in the relevant username and password, and go to the share you want, making life unnecessarily tedious.
My other minor criticism of Zenwalk is that there is no easy place for a user to go to figure out how to access their network. In GNOME, you can go "Network Servers" in the "Places" menu, or "Network" in the "Go" menu of Nautilus. No such luck in Zenwalk.
Multimedia support in Zenwalk is provided by gxine and ffmpeg. This combination means that it played all the files I could find, including DivX, Real, Sorenson, Theora, WMV8, WMV9 and MPEG-4. The only minor problem I had was that when double-clicking some files, gxine opened but did not play the file - I had to go to the "Open" option in order to get it to play.
Plugging in my USB stick gets it mounted in /mnt/usbdisk, while CD-ROMs get an appropriately named directory in /mnt, depending on which CD drive you use. Both are mounted without any sort of visual notification, which can be either good or bad depending on your point of view. There are no icons created on the desktop, which I think I would prefer. Instead, they are just silently mounted in /mnt, which you can access via a link on the desktop called "Mountpoints". By right-clicking on the CD-ROM icons, you can easily eject them, but the only such option for USB sticks is to Sync them. Despite the name, this command will both sync and unmount the drive (i.e. Sync just seems to be a pseudonym for Unmount), although it will not eject it.
When using QEMU to test Zenwalk, the addition of a sound card proved to be no problem - it was fully working as soon as I logged in. In other words, there appears to be no configuration necessary.
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.