On the technical side, both my courses would involve only basic C programming. Which doesn't really translate into a hefty 'requirements' list. My desires were thus:
Vim (7.0 preferred)
An ANSI C compiler
And that's it, really. Which left my options wide open. Almost any 'heavy-weight' distro can be stripped down to these basics, and almost every lightweight distro comes with some version of Vim and gcc. So what's left?
Vision, that's what, attitude. Or something less concrete. An aura, a conviction, a desire to adhere to the Unix philosophy. Do one thing, and do it well. Something simple, yet functional. A thing of beauty, power and flexibility. Irrespective of any real meaning of the word - these are the sort of images that the word 'Zen' seems to conjure up, in the context of computing. So when contemplating which distribution I should try, the name 'Zenwalk Linux' slowly rolled from the back of my mind into active consideration.
Now I'd heard of Zenwalk before, but that is more or less where my familiarity ended. I had the vague idea that it was a light distribution good for older laptops. The Distrowatch summary indicated that it had vim 7.0 and gcc 3.4.6. Good enough for me! It also said that Zenwalk was formerly known Minislack, and, in fact, was Slackware based. That would make it the first time in two years that I have strayed from Debian based distributions.
But try before you buy, right? I downloaded the 2.8 iso from zenwalk.org and installed Qemu on my desktop. A little trial-and-erroring later, I had the Zenwalk installer running from the iso against a virtual hard drive.
I would not say the installer is impressive, but it won't trip you up, either. It is text based, but there is nothing to surprise anyone who has installed Linux before. It also includes a few nice touches, and it's fast. When not running on Qemu, anyway. The install CD asks you to log in as root and partition up your drive with cfdisk before manually running 'setup'. I'm not sure how well cfdisk can handle tricky things like shrinking partitions - but there's nothing stopping you from using a gParted liveCD, or a similar tool, to do the partitioning beforehand. In my case I was testing on a virtual HDD, so I quickly carved it up into a couple of chunks. One for swap, one for root.
The installer does not ask too many questions, or offer any choice of package management. Neither does it make too many assumptions. I particularly liked that it displayed descriptions of the packages it was installing. The Qemu install progressed quite slowly, so I had time to read most of them and get a good sense of what was going into the distro.
Of course all the usual installer questions are present. Keyboard layout, language, time zone, which partition to mount where, lilo in the MBR or on a floppy, and so forth. It also gives you a few more choices than some installers, asking which services you want at start-up, whether numlock should be turned on when you boot and which run-level you wish to start in. You can set a root password (optional but recommended by the installer), and create as many additional users and groups as you like. Interestingly, it decided that I might like XFS as my default file-system. I decided to let it.
Towards the end of the installation process it asks you to reboot. Then it runs ALSA configuration and prompts you to choose a run level to start in. I chose four (xdm), and restarted for the second time. It died in a mess, with errors telling me that /etc/innittab had been hosed.
I guessed that maybe something went wrong when the installer tried to set the run-level set the run level. Maybe it didn't like Qemu? But I wanted to get this thing going. I haven't mentioned it yet, but the lilo boot and splash screen are a thing of beauty. We see nothing more than a blue gradient, a silent progress bar, and the Zenwalk logo. That was all, but from the moment I first laid eyes on it I knew, I just knew, that this is what I wanted people to see if they peered over my shoulder while I was booting up in the lab.
After failing with Qemu, I decided to give VMWare Server a shot, keeping all install choices the same. I won't delve too deeply into the details here, save to mention that it installed about 15 minutes, as opposed to an hour or so under Qemu, but still suffered the same missing inittab entries after setting the run level in the installer.
Third time lucky? I reran the install again, this time selecting 'ext3' as the file system. Bingo. This time it installed flawlessly. I was in. But that was not the end of my virtual Zenwalk problems. I won't detail them here, however - as my end target was a laptop, not a virtual machine. There were some issues with package management, vmware tools and internet access that occupied me for a while, but suffice it to say that after poking around in config files for a day or so I was convinced I would be able to handle any curve balls Zenwalk might throw me on a real machine.
It was time to introduce Zenwalk to the Vaio.
Zenwalk and the Vaio
There is a laptop on my desk. It is a Sony Vaio V505AX. It has a Pentium 4-M 1.8ghz processor, 512MB of RAM, a 40GB HDD, and some sort of ATI Mobility Radeon card that ATI won't support under Linux. To this mix we add a Linksys WPC54G wireless card.
It is not mine. It belongs to my girlfriend, who consented to this experiment under the condition that I leave it in a state usable by her, as well. The laptop previously dual-booted between Windows XP and Ubuntu, but one OS had to go, and it was Ubuntu got the boot. As much as that pained me, reinstalling Windows on this laptop would be much more of a hassle than Ubuntu, if Zenwalk didn't work out. The manufacturer supplied CDs would only let us reinstall Windows by wiping the entire hard-drive.
So I installed right over the top of the pre-existing Ubuntu partitions, and was brave enough to stay with the default XFS. Unlike the emulated installs, it worked perfectly on the laptop. No inittab woes here. Maybe Zenwalk (or XFS?) is just allergic to virtual machines.
The install ran through in maybe 20, 30 minutes. Perhaps less - I wasn't actually watching. But that makes it one of the fastest non-liveCD installs I've seen. When it came time to configure the boot loader, I chose the 'Expert' LILO set up, because I wasn't sure how 'Simple' would treat Windows XP. 'Expert' was dead easy. At least for me, and anyone who knows how the /dev/[hs]d* naming scheme works. The installer detected both OS's perfectly, needing only confirmation and a name for each in order to add it to the config file. It also let me choose how long it would wait before booting.
The installer also asked if 'ati' was an okay driver for my video card, and I said it was. From experience, and very frustrating experience at that, I knew that the propriety ATI drivers will not work with this laptop. After one reboot my sound-card was detected and set-up. After a second reboot (not strictly necessary – but the installer asks for it), I was sitting at the xdm login screen.
The default desktop is Xfce4 with a blue background and a non-intrusive theme. The fonts were clean and smooth. The main panel small and grey, with only a couple of launchers and applets. It's all very sparse, simple and to the point. 'Less is more', and all that. Snappy, too. From xdm to the desktop takes only a couple of seconds. The xfce4 splash screen has been customised, but you barely have time to see it before the desktop loads.
Speaking of simplicity, package management follows a similar philosophy. The command 'netpkg' will let you search, add, remove, upgrade and reinstall the small selection of base and 'extra' Zenwalk packages provided online. Essentials like Openoffice, Gnome, KDE, are all in there, if you want them. Netpkg takes a limited but logical, and context sensitive, set of command line options. For example 'netpkg gnome' will search for all packages containing the word 'gnome' in their name. If a package is installed, you'll be asked if you want to reinstall it, or upgrade it (if an update exists). If it isn't installed, you'll be asked if you'd like to download and install it, or just download it.
If you don't specify any options, you get a menu - either text based or graphical depending on which environment you're in. It works well enough on the laptop (though I had troubles on while running on VMWare Server), but I really felt little inclination to install anything else. I installed a wallpapers package, and Open Office, just to test things out, and it worked fine. It's no aptitude, but it works - and Zenwalk's simpler repository doesn't really demand anything more at the moment.
In fact, compared with Debian, the online repository is rather small. But it will suit most people's needs just fine. If anything is missing, Slackware's 'pkgtool' is also available, allowing you to install Slackware packages too. Or go the Windows route, and use downloaded installers. For example, I could not find a Zenwalk package for Flash Player, but the installer from www.flash.com worked fine. Just run it as root, and point it to /usr/lib/firefox/ when it asks for your browser's installation directory.
Regarding hardware, the sound card was detected, as was the ethernet port. The modem wanted manual configuration, but I didn't bother as I have no use for one currently. The wireless card needed Ndiswrapper to work, which Zenwalk thoughtfully includes in the default install. While grabbing the Windows drivers needed I discovered that Zenwalk doesn't automount CDs. That was a little surprising - but you can right click on the CD icon in the file manager, and there is a mount/eject option there. USB devices are automounted as /mnt/usb. There is no 'eject' or 'unmount' option when you right click on USB devices in the file manager - but there is a 'sync' option, which I guess makes sure everything is properly written to the device before you just yank it out.
There was one 'major' thing that Zenwalk does not do, that the Big Players like Ubuntu and Fedora handle nicely. That is set up laptop doohickeys like hotkey support and a battery monitor. My laptop hotkeys worked on this Vaio 'out of the box' under Ubuntu. But not with Zenwalk. In fact, I had to reboot into Windows in order to change my screen brightness. But now that it's set, I don't need to mess with it, so it's really not a big deal for me. CPU scaling, or at least fan control, did appear to work - judging by the way the fan noise rises when the screen-saver comes on.
As for the software, we have Abiword and Gnumeric - which I do not imagine I will be using much. There won't be a whole lot of word processing to do during the average lab session. Evince is there for reading my course lecture notes, for which I am extremely grateful. I can live with xpdf. But I'd rather not, you know?
Firefox 1.5.04 is installed, with 1.5.06 available in the repositories. Thunderbird, Gaim, Gravman, Xine, and a few other bits and pieces like nmap (of all things) are also provided. There is a decent selection of themes and blue-ish wallpapers, with more available in the 'wallpapers' package. I approve of these choices. Lightweight, without being minimalist.
I haven't tried out any media playback - but I did see dvd libraries in the package list. I assume DVD playback can be enabled by netpkg-ing those, but I'll leave it to people without coding assignments to complete to experiment with that.
There also is a neat little program included called 'Wifi Radar'. It lets you assign different profiles to different wireless networks, and pick the one you want to connect to from a list. The kind of thing many Ubuntu users have been lamenting. And there it is, right there, installed by default in Zenwalk. Except that I couldn't get it working. It would scan and display local networks just fine, but would never connect to any. Taking a look at 'iwconfig' from the command line, none of the settings I entered in 'wifi radar' were being enabled. I could not even connect to wireless networks with no encryption. It may be a problem with my card, but I am proficient enough with wireless command line programs that I'd rather just use them than fiddle around trying to get Wifi Radar to work for me.
Having played with Zen previously in the virtual machines, I already knew exactly what I had to do to get my desktop looking like I wanted:
Run 'netpkg wallpapers' from the command line - then change to my new favourite wallpaper.
Right click on the the 'terminal' launcher on the panel and change the run command from 'xfterm4' to 'xfterm4 --geometry=110x40+200+40 --hide-borders'
Tweak my background and foreground colour for the terminal, and turn off the menu-bar for all terminals.
Download my customised '.vimrc' file (Vim settings) from my university account via SSH.
Follow the instruction in this post to turn on the composite manager in Xfce.
That's it. My desktop set up in about 50 minutes, from inserting the Install CD to the final tweak.
Two weeks later...
I've had Zenwalk on the laptop for two weeks now. I've spent some time, err, mediating. Thinking about this pleasant little distribution, and its role in the Linux ecosystem. To me, Zenwalk is like the Just Right breakfast cereal. Wait, no, that's not quite it. Zenwalk is like... a boutique Bed and Breakfast. Out in the country, with the crip mountain air and all. As opposed to Ubuntu, Suse and the like, which I visualise as five star resorts... with leaky taps in some of the rooms. (No distro is perfect. Yet.) When you stay at the Zenwalk, they'll make the your the bed and do the breakfast. Take some of the weight off your shoulders. But the rest of the meals are up to you. And no health spa. Still, if what you're after is something a little lighter, a return to some of the basics, a break from the automation of the modern desktop - Zenwalk could be exactly what you are looking for.