Saturday, March 15, 2008

And now for something completely different...

Rhea is a 'constrained' system, primarily in its memory. It has only 512MB. In today's world that's nothing, unless you've got a pocket system along the lines of an iPhone. But the typical desktop system (and notebook too, for that matter) ships with between two and four gig of memory.

And that, from my perspective, is an incredible amount. For personal uses our operating systems and our applications shouldn't keep demanding ever greater amounts of resources every time there's a new release, such as faster processors and more memory just to perform the same tasks. And we've been performing the same tasks since we identified what we wanted to do in the late 1980's, especially in business. In PC gaming it seems to get worse a lot faster. We've grown so enamored over the rendering and the look of the game that we've forgotten plot, game-play, and just general enjoyment (but that's the subject for another rant).

With that mind-set I stumbled across "Building a highly functional desktop with lightweight software" on The author gave a very high-level overview of Fluxbox and other light-weight applications for running on a constrained system with 128MB of memory. And these were applications running with Ubuntu. Perfect, I thought. So I read the article and then attempted to install the applications, starting with Fluxbox. All of the following work was done in a separate account from my regular Gnome login.

When I say high-level, I mean high level. The article gave no indication of versions or any special steps. My system runs Ubuntu 7.10 and I installed Fluxbox 1.0.0 from the (universe) repository. I also installed fbpanel 4.9 from universe as well as IDesk version 0.7.5 from universe. I then stopped to test the Fluxbox desktop and make sure everything worked up to that point.

It's a good thing I did. Fluxbox is a bare-minimum desktop. It consists of a set of menus that can be selected from the desktop with the middle and right mouse buttons. There is a single tray across the bottom of the screen. That's it. It turned out that the version of Fluxbox installed from the 7.10 repositories did not install all the tools, and importantly did not create the desktop menus. I found all this out from "HOWTO: get a Fluxbox menu (and customization)" on the Ubuntu forums. The key to fixing the missing menus under Ubuntu 7.10 is to run (in either a terminal or virtual screen) "sudo update-menus". Once you've done this then when you log in using Fluxbox you'll have the menus you need.

I also installed IDesk and PCManFM. IDesk provides the ability to add icons to the desktop via very simple text-based files, while PCManFM provides a highly functional file browser that isn't Nautilus. From a shell I ran Nautilus after installing and fixing Fluxbox, and when it started it started up the Gnome background as well. PCManFM just starts. I've got one screen shot showing a number of applications running. From left to right, clockwise, you have Firefox, PCManFM, Gnome System Monitor 2.20.1, and Gnome Terminal 2.18.2. These are applications provided from the Ubuntu 7.10 repositories. I have three icons on the desktop via IDesk for PCManFM, Firefox, and Gnome Terminal.

There are some differences between my setup and the author's in the original article:
  • PCManFM uses the Tangerine icon set, not Tango.
  • I installed FBPanel and tested it, but in the end decided not to use it. It added nothing to the functionality of the desktop that Fluxbox base and IDesk didn't already provide.
  • I'm using Firefox simply because, in spite of its warts, it's IMHO the best all-around browser, especially with regards to properly rendering every website I go to (and I go to a lot).
  • The Fluxbox style I'm using is MerleyKay, which is not what the author chose.
Overall Fluxbox reminds me a lot of twm, except that I like Fluxbox with IDesk a lot more.

I going to give some very, very basic benchmarks comparing the two desktops running on rhea. Rhea is built around an Athlon XP 2500+ (1.8 GHz) processor with 512MB (333 MHz FSB) of memory on an nVidia nForce2 Ultra 400+ - based motherboard. Times were measured with a digital stopwatch. Here are my measurements taken from running full blown Gnome and Fluxbox running on rhea:

First login after reboot (sec)4.517
Startup after first login (sec)Nearly instantaneous10
Memory consumption after first login, with desktop and Gnome System monitor only (MB)80120
Memory consumption with shell, Firefox (three tabs), system monitor, and PCmanFM (mb)160230
Application startup1 sec or less3 sec or less

The statistics on memory consumption don't tell the full story. Memory consumption with Gnome tended to grow over time to the point that swap was hit. Memory consumption with Fluxbox stayed flat over time, and swap was never touched except when running 1080p film clips (Indiana Jones, Wall-E, and Iron Man) from Apple's trailer site.

Performing this experiment has been fun. I've learned a bit more about Ubuntu and a lot about Fluxbox. The Fluxbox environment makes a good final desktop for those who want to really strip a distribution down to its bare essentials. It isn't better than Gnome (or KDE) and it isn't worse. It's just different, and you have to both appreciate and accept its differences. In the end, no matter how much I grouse about the problems with Linux I still find it fun, powerful, fun, highly flexible, fun, and open. That's why I stick with it.


  1. You should have started Nautilus with the --no-desktop option. With it, no Gnome background in Fluxbox or any other *box

    An alternative to Fbpanel is Lxpanel. Also, you could try pypanel, a ultra-lightweight panel.

  2. Hi Bill,

    I glance at your blog every day - its a must for linux enthusiasts (IMHO) and for other things too. I must say that your latest posts have been very interesting. I am looking forward to your views on SuSE 11 when it is released as I was once a devoted user but gave up after 10.1. I have recently upgraded from MINT celena to Daryna and I am finally very happy. Rock on Bill and give those Labs a hug for me.



All comments are checked. Comment SPAM will be blocked and deleted.

Note: Only a member of this blog may post a comment.