...making Linux just a little more fun!

<-- prev | next -->

# Building A Lo-Fat Linux Desktop

By John Murray

### A Newbies Guide to a Less Lardy Linux

Note: When I wrote the first version of this article in 2001, I was using a 233mhz machine with 32megs of RAM. And while my current box has specs of about ten times those numbers, I mainly still use the same speedy applications covered in the story below...

### Introduction

I first started playing with Linux a few years ago, after reading several Introduction-To-Linux articles in computer magazines and on the web. In almost all of these articles, low hardware requirements are listed as one of Linux's advantages. Usually the authors then go on to show how easy it is to use Linux on the desktop with the GNOME or KDE desktop environments.

So I set up my machine to dual-boot Win95 and Linux, and experimented with several different distros. Initially I was disappointed with the performance of Linux, and it took me a while to discover the performance gains made possible by running leaner software. The fact that most of the newbie-oriented documentation emphasised GNOME/KDE while ignoring everything else only made things harder. That's what this page is all about - a newbie's guide to good, lightweight software that runs well on boxes that are less than state-of-the-art.

GNOME and KDE are good-looking, feature-packed environments that are as easy to use as the desktop on that other OS, but they aren't the best choice for an older machine - they can actually be quite sluggish unless you have some fairly recent hardware to run them. That doesn't mean you're stuck with a text-only console though, as it's easy to set up a nice looking Linux desktop that has plenty of speed on something like an early Pentium with 32megs of RAM, though 64megs is even better.

A speedy desktop is largely just a matter of using a window manager and applications that suit your hardware. And by the way, just because you don't use the KDE or GNOME desktop environments doesn't mean you shouldn't install them, or at least their core libraries. KDE and GNOME apps will run quite well under a lightweight window manager, so if you have the disk space, I recommend installing both. In my experience though, GNOME/GTK apps load appreciably quicker than the KDE equivalents. Listed below are some suggestions for the type of apps. that most people use everyday, all of which work nicely on my 233/64 box - and most of this stuff should be fine with just 32megs of RAM. Keep in mind that these suggestions are only my own personal preferences; they certainly aren't the only way to do things.

### The Selection Criteria

- Performance - It should be acceptably fast and stable on older hardware
- Graphical Interface - most newbies and non-geeks prefer this to the command line
- Functionality - It should do everything that normal users (whatever they are) expect of that type of app.
- Ease of Installation - It should be reasonably simple to install, without needing kernel recompilation and without too many obscure dependencies.
- Ease of Configuration - You shouldn't need to be a vi or scripting guru to knock it into shape
- Ease of Use - It should be reasonably easy to learn the usage.

### Where to Get Packages

You'll find a lot of this stuff is included on the installation cd's of most distro's. Wherever possible, I've provided a link to the projects homepage.

### The Window Manager

The choice of window manager can have a dramatic effect on system performance, and there are several good, lightweight WMs available, my favourite being IceWm . As well as having a small memory footprint, IceWm can be made to look quite good with wallpapers and themes . It also has that familiar Win95 layout with the corner start button, menus, toolbar and so on. There are certainly lighter WMs around, but for me IceWm provides a good balance of useful features and performance - and it is lighter on RAM than some other window managers with far fewer features. Don't assume that IceWm has to be plain or ugly - current versions can support XFT antialiasing, gradients and so on, and with a theme like Silver XP can be quite good-looking.

Configuring IceWm is extremely easy, and while there are graphical tools available for this, it's just as easy to edit its configuration files manually. The global configuration files are usually in /usr/X11R6/lib/X11/icewm/ and are named preferences , menu and toolbar . Make a hidden folder called .icewm in your home directory and copy these three files into it. Then it's just a matter of editing them to suit your own needs and tastes.

IceWm is included with many recent distros, and includes very good documentation in /usr/doc/icewm.

Xfce is another popular, fast window manager, though strictly speaking it's really a desktop environment. Worth a look if you want something with more bells and whistles - but I still prefer IceWm.

### The File Manager

I've tried plenty of graphical file managers, but I always come back to XWC (X Windows Commander) because of its speed, stability, and again for its familiar interface. XWC is a clone of the Win95 style Explorer that supports drag'n'drop to copy/move/symlink, file associations and so on. Although it lacks many of the features of say, Nautilus or Konqueror, its got everything I need, without the bloat. Like IceWm, it is very easy to configure using the built in options menu or by editing the ~/.foxrc/XWC file.

While I'd prefer something that doesn't look quite so Windows-like, XWC works very well and is quite speedy. It also includes a handy archiving tool, a media mounting tool and a rather ordinary front end to RPM. XWC can be used in two-panel mode, like all good file managers.

Work has recently resumed on XWC, mainly in an effort to support a greater variety of languages. A couple of file managers have evolved from XWC, namely XFE and Fox Commander, and although they are more modern looking, I still find XWC to be the best for stability and performance.

Another fast, good looking filer that is highly recommended is rox

### Terminal Emulators

Forget about the korpulent konsole, rxvt has a combination of features and speed that make it my favourite, plus you can customise its appearance if you are into that sort of thing. An even lighter alternative is aterm.

### Text Editors

While XWC comes with its own (very) basic editor, I much prefer Nedit . Nedit is fairly small, is fast and has lots of useful features built in, including: syntax highlighting, search and replace, macro support, shell access and much more. The built in help is very good as well. I know some people get passionate about their editors ( especially the vi crowd ), but if you want a good WYSIWYG style editor, Nedit is very nice indeed.

Another editor that I like to have available is Nano, an exceptionally light, basic app. that will be instantly familiar to Pine/Pico users. Unlike Nedit, Nano will run from a console as well as an X-terminal, and the value of this will be appreciated by anyone who's misconfigured their XF86-Config file to the point that X won't start ;)

### Internet Stuff

Linux users now have a choice of quality browsers that match or beat the performance of those on other platforms, though some are a little resource hungry. These range from basic (but speedy) browsers like Dillo and Links-Graphic to the ones based on a stripped down Mozilla, such as Galeon and Firefox.

At the lighter end of the range, links-graphic is hard to beat. Speedy, and with a small footprint, it is surprisingly capable, and can handle frames and tables as well as javascript. Its interface is a little different to most other graphical browsers, but quite good once you get used to it. Dillo is another one worth trying. Dillo is extremely fast, and quite good looking as well. Still under development, it doesn't yet handle frames, java or javascript, so you probably won't be able to do your online banking with it. It's brilliant for reading local html files (like helpfiles and /usr/doc/html/ stuff).

Opera is a very popular browser that fits somewhere between the superlight apps like links-graphic or Dillo, and the heavy duty Mozilla based browsers. The free-download version of Opera includes banner advertising, though it's not really intrusive. It performs well, and supports most popular plugins.

If you have 64meg or more, you might want to try one of the Mozilla based browsers. Galeon and Firefox are two very good browsers based on the Mozilla engine. Unlike Mozilla, Galeon and Firefox are web browsers only, making them significantly more usable on slower machines, though they will still be slowish to start on an old machine. They are exceptionally capable and stable, and support most plugins.

As for email, I like Sylpheed. Sylpheed is very fast, and has a nice clear interface. It is also a basic newsreader. There is also a related mail client named SylpheedClaws that extends the capabilities of Sylpheed via the use of plugins and enables things like HTML and so on.

If you'd like a more fully featured news client, so you might want to try Pan, a GTK news app. capable of handling binary attachments.

I know there are several graphical ftp clients, and I did play briefly with gFTP (which ran fine), but I can't really recommend anything else as I still prefer the command-line ncftp.

### Image Viewers

I use xli as my default image viewer. It's quick, and I like the way I can directly scroll big images with the mouse; qiv (Quick Image Viewer) is nice as well. For simple manipulations xv works well and requires little memory, though the interface is showing its age.

### Music and Video

The hugely popular XMMS is a WinAmp clone that can play mp3, ogg-vorbis, wav and cdr files etc. It also supports skins, including WinAmp skins. As for video mpegs, I use mtvp as the default player. It's a free player that's part of the mtv package and works very well on lower end machines. If you view lots of videos in different formats, MPlayer plays nearly all of them and is surprisingly quick on older boxes. The officially supported version is only available as source, though binary packages are available as well. MPlayer can even make use of MS Windows dlls to play Windows media files.

There are also plenty of graphical front ends around for cd recording software. I have played around with the very popular xcdroast , but mainly I still use command line tools like cdrecord, mpg123, bladeenc etc. Again, let me know if you have recommendations.

### Office Type Stuff

### Word Processing

Abiword is GNOME's word processor, and is notable for its speed and light memory usage. It is also lighter on features than say OpenOffice-Writer or KWrite, but for some this simplicity may be appealing. At present Abiword seems to be able to open the less complex MS-Word documents without problems, but chokes on .doc files with complicated formatting.

### TextMaker

TextMaker is a commercial product, and while I haven't tried it personally, it does receive glowing reviews. Both speed and .doc file compatibility are said to be very good, so this should be a good choice for older hardware. If you think this sounds appealing, and you don't mind paying for software, this might be for you. There is a 30 day trial version available from the TextMaker website.

### Wordperfect

The last available version (version 9, part of WordPerfect Office2000) was actually just the Windows version running under a built-in version of Wine. While this version had a reputation for instability and other problems, an older, Linux native version (Wordperfect8) still enjoys some popularity - some still consider it as the best Linux word processor available. WP8 is stable, fast and full featured, and light on memory usage. The Download Personal Edition is still available, though its age dictates that some older libraries also need to be installed in order to get it working on newer distros - more info here.

KWord is the KDE project's word processor, and it looks and works very well, however it also has limited compatability with MS .doc files at present.

If MSWord compatability is critical, you'll really have no choice but to run OpenOffice.org or StarOffice. These suites are big and extremely slow to load, though recent versions are much improved in this regard. Even so, firing them up on a box with only 32megs of ram may take up to a minute... Once loaded though, they are stable and run fine. They seem to be able to handle nearly any .doc format file much better than any of the others, so even if you choose to use a different word processor for your regular work, it may pay to install Star/Open Office so you can open those difficult .doc files that your usual WP has trouble with.

For those who don't require any MS Word compatability, Netscape (or Mozilla) Composer can do a pretty good job of producing printed documents. While it's not really a word processor, it can do tables, embed images and links as well as spell check. Plus the html output is readable on just about anything. Keep Composer in mind if you just want to write the occasional letter without installing a full-blown WP program.

### Spreadsheets

Gnumeric should probably be your first choice here; it's a mature app. that seems to handle Excel files exceptionally well without hogging resources. KSpread , like KWord, also runs well enough but doesn't completely work with Microsoft formats just yet.

### Performance

The table below shows the approximate startup times for some of the software mentioned above. These times were measured on a 233 mHz AMD with 64meg of RAM and Linux 2.2, using the highly unscientific method of clicking on the button and then counting the delay using the toolbar clock. Of course, a calendar might be more appropriate for timing Star/Open Office...The figures are obviously only rough approximations in view of the measurement technique, but they do give a good indication of just how responsive an old Linux box can be.

Program | First Startup | Subsequent Starts
XWindowsCommander | 1 sec | 0.5 sec
Nedit | 2 secs | 1.5 sec
Netscape 4.77 | 9 secs | 4 secs
Dillo | 1 sec | 0.5 sec
Sylpheed | 1.5 sec | 1 sec
xli (XLoadImage) | <1 sec | 0.5 sec
XMMS | 3 sec | 2.5 sec
mtvp | 1 sec | 0.5 sec
Gnumeric | 6 secs | 4 secs
AbiWord | 2.5 secs | 2 secs

### Miscellaneous

Screen Savers are probably more of a nicety than a necessity. Xscreensaver works very well with lightweight window managers and is easy to set up. It can run a randomly picked screensaver after a user-set period, and continue to change it at pre-set intervals. Run `xscreensaver-demo` to set the preferences, or see the man pages for more details. The easiest way to start xscreensaver automatically at login is by adding the`xscreensaver &` command to your window manager's startup script, eg. /usr/X11R6/bin/icewm.

Unnecessary Services or daemons can slow your machine down and lengthen bootup times. Default installations often run all sorts of servers and other stuff that you don't need. As well as using resources, these things can increase your security risk.

### Screenshots

Here are some screenshots of some of the things mentioned above.

### Links

Some sites that might be useful:

LoFat Part 2 - A guide to the post install tune-up
The Linux Terminal Server Project - a great way to use those old boxes as thin clients

Comments, corrections and suggestions are welcome. Send them to:

Last modified August 15, 2004

A more-or-less complete listing of the Linux-related stuff that I've written can be found at my homepage.

John is a part-time geek from Orange, Australia. He has been using Linux for four years and has written several Linux related articles.

Copyright © 2004, John Murray. Released under the Open Publication license

Published in Issue 106 of Linux Gazette, September 2004

<-- prev | next -->