September 25, 2002

Building the lo-fat Linux desktop

- By John Murray -

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. Later versions especially 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.

So a speedy desktop is largely just a matter of using a window manager
and applications that suits 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. KDE and Gnome apps will run quite well under a lightweight
window manager, so if you have the disk space, I recommend installing both.
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.

The ease of use bit was simple to test - my wife and kids share my computer
but are definitely not geeks. If they were able to use a newly installed
program without swearing at it or calling for assistance it was deemed
to have passed the ease-of-use test :-)


Where to Get Packages

You'll find a lot of this stuff is included on the installation cd's of
most distro's, or you can follow the links. Wherever possible, these point
to the project's homepage, or else to rpmfind's download site. If you're
using something other than a RedHat style distro, you may have to backtrack
a bit from the rpmfind sites to get the right version.


The Window Manager

There are several good, lightweight window managers 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.

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.

Another lightweight WM that is very popular is xfce
, an exceptionally good looking and fast window manager that is worth a
look.


The File Manager

Of the file managers I have tried I prefer XWC
(X Windows Commander) because of its speed and again for its familiar interface.
XWC is a clone of the Win95 style Explorer that supports drag'n'drop and
file associations etc. 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 pretty speedy. One thing to
watch out for is the fact that XWC will always open at the last location
it was used. If you last used XWC to browse a removable media (like /mnt/cdrom
for example), and you are using supermount , there can be a delay
starting XWC if there is no device currently mounted. XWC requires the
fox
libraries.

It appears XWC is no longer actively maintained, and is only available
in RPM format. Its successor, foXcommander
, is similar and is part of the foXdesktop project. It is available
as source.

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


Text Editors

While XWC comes with its own basic editor, I much prefer Nedit
. Nedit is fairly small, fast and has lot's 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.


Internet Stuff

Manually configuring PPP is a pain, especially compared to kppp
. Setting up kppp can be done in seconds, and this app. alone makes installing
KDE worthwhile.

Hopefully, Linux users will soon have browsers that beat the performance
of those on other platforms. In the meantime,
Netscape
4.7x is probably the best all-round graphical browser
for use on a 32meg machine. While it can be a bit wobbly at times, it handles
java/javascript reasonably well, and also works with the more common plug-ins.
You'll need to click on Edit > Preferences to play with the font
settings (and set your fonts to override the document-specified font) to
make it look good. If you have 64meg or more, you might want to try Mozilla
or one of its descendants ( Galeon
seems popular). These sometimes have more features and are more stable
than Netscape 4.7x, but are probably no faster. Don't let the vomitous
Netscape 6.0 put you off trying later versions like 6.1 or 6.2 that are
generally very good, stable browsers, if a bit big and slow. Lots of people
like opera , though its
interface takes some getting used to. I've been using it a lot lately,
and it has been quite fast and stable.

There is also a browser called Dillo
that is worth installing. 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). I use Opera for internet work, and Dillo for local files.

 

As for email, Netscape and Mozilla both have reasonable email clients
built in, though it's a pain waiting for them to load just to read your
email. A lot of people recommended Sylpheed
, and it is now what I use. Sylpheed is very fast, and has a nice
clear interface. It is also a basic newsreader. Netscape 4.7x's newsreader
is pretty ordinary, so you might want to try Pan
, a Gnome news app. capable of handling binary attachments.

Another useful utility is tnef. It was designed
to unpack those annoying "ms-tnef" MIME attachments that are commonly sent
from Outlook and Exchange mail servers. Although it's a command line tool,
it's easy to use and works well.

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.


Graphics Apps

I use xli
(formerly xloadimage) as my default image viewer. It's quick, and I like
the way I can directly scroll big images with the mouse, though ee
(Electric Eyes) is nice as well. Both ee and
xv
allow browsing through thumbnails of images, as well as simple manipulations.
While the GIMP couldn't really be described
as lightweight, its feature set make it a must on any Linux desktop, and
it runs OK on a 32meg box.


Music and Video

XMMS is a very popular WinAmp clone
that can play mp3,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. XAnim
plays .mov and .avi files, among other things, but isn't very good at mpegs.
And if you are reading this, you probably don't have enough computing horsepower
to play DVD's. Lots of people have recommended MPlayer
to me, and it really is an impressive piece of work. It plays many different
formats well, and is quite quick. The only disadvantage is that is must
be compiled from source, and this might discourage some newbies from trying
it, though on my box at least, it built easily.

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-There are plenty to choose from here. If
all you need is a basic word processor, go with AbiWord
. While it can import simple .doc files OK, it is limited to producing
basic documents that don't contain tables etc. Despite the limitations,
AbiWord is a fast and useful program. KWord
is the KDE project's word processor, and it looks and works very well,
however it has limited compatability with MS .doc files at present. I use
ApplixWords
, see the section on Office Suites for more. And Corel's WordPerfect seems
to have disappeared from the face of the earth... While it's not really
a word processor, Netscape Composer can do a pretty good job of
producing printed documents. It can do tables, embed images and links as
well as spell check. Plus the html output is readable on just about anything,
though obviously importing .doc files is out of the question. Keep Composer
in mind if you just want to write the occasional letter without installing
a full-blown WP program.

Spreadsheets-It's hard to recommend a particular spreadsheet
as different user's needs vary so widely. While I use the ApplixWare
spreadsheet, Gnumeric
is another fairly mature app. that meets my admittedly modest needs easily,
and seems to handle Excel files well. KSpread
, like KWord, also runs well enough but doesn't completely work with Microsoft
formats just yet. Read the section below for more...

Office Suites- These usually include a word processor,
spreadsheet, presentation builder, graphics/drawing tools etc. Despite
the fact that it's a non-free, commercial app. ApplixWare
gets my vote as favourite office suite. Native to Linux, Applix runs well,
and has more than enough features to meet my needs. Both the word processor
and the spreadsheet seem to handle most MSOffice formats, and the documentation
is very good. Worth paying for in my opinion.

The KOffice suite is a good looking
KDE2 suite that is only let down by its incompatability with MSOffice files,
however for some people this won't be a problem, and hopefully this issue
will be soon overcome by the KOffice developers.

StarOffice is probably
the most popular Linux suite, but frankly I can't stand it. I especially
dislike the monolithic desktop design, and even on a powerful machine it
takes forever to load. However it does have lots of features, it's free
for personal use, and MSOffice compatability is very good, so if
you have heavy-duty requirements, you might be stuck with it. Upcoming
versions, as well as close relative OpenOffice
, do away with the irritating integral desktop, but don't seem to be any
quicker.


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
ApplixWords 6 secs 4 secs
AbiWord 2.5 secs 2 secs

Miscellaneous

Terminal Emulators- 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.

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 runs a randomly picked screensaver after a user-set
period, and continues 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.

TrueType Fonts are no longer a big deal to set up. Some distros
(such as Mandrake 7.2 and later) include a tool for utilising TrueType
fonts, even those installed on a Windows partition. This can make a big
difference to the appearance to of apps; Netscape in particular. Mandrake's
tool is called Drakfont, and is extremely easy to use.

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. You can use a graphical tool like
tksysv
, or you can manually yank the unneeded stuff (usually from /etc/rc.d/rc5.d
), but be sure to make a backup first.