December 4, 2007

The Lightweight X11 Desktop Environment: A return to basics

Author: Bruce Byfield

The Lightweight X11 Desktop Environment (LXDE) resembles a classic Unix project -- it's partly constructed out of pre-existing programs, its emphasis is on speed, and its configuration requires taking time in a text editor. Even the relatively low quality of fonts on the desktop makes it feel like a vintage program. The result is a desktop environment that is short on innovation, but performs well on low-end machines, and blazingly fast on recent ones.

Rather than reinvent the desktop, LXDE relies by default on the window manager IceWM, the file manager PCManFM, and the image viewer GPicView. Each of these programs is known for speed, especially IceWM, which is frequently used by itself on low-end systems. However, you can also configure LXDE to use other window managers, if you choose.

Only three elements of LXDE are unique: LXPanel, LXSession, and LXMusic, the first and, so far, only utility for the desktop. These programs, according to the project's Web page, are not compliant with the standards released by, but are usable in any graphical environment, which gives you the chance to try LXPanel and LXMusic without installing the rest of LXDE.

An optional feature is the LXIce theme for IceWM, which comes in a bzipped file.

You can download all of LXDE's components from the project's site, either as source code or as .DEB packages for Debian and Ubuntu. However, unlike other recent programs, installing the packages is only the beginning for LXDE. That will hardly be surprising news to anyone familiar with IceWM, but LXDE adds additional configuration requirements of its own.

Configuring LXDE

To start with, if you are running GNOME, you will find that LXDE will automatically use its desktop, requiring you to move the Desktop folder from your home directory if you want a clean start. The first time you log in, you may also receive a notice that you need to create a file in your home directory called .gtkrc-2.0 that includes the line gtkicon-theme="theme name" in order to set a default icon theme.

For a graphical interface, LXDE relies heavily on configuration files. Before you use LXDE, you may want to edit IceWM's global settings in either /usr/local/share/icewm or /etc/X11/icewm (depending on where your distribution installs the directory). Alternatively, you can create a folder in your home directory modeled on the global setting folder with files for the menu, programs, and toolbar. However, if you do create preference files for the current user account, be prepared to spend some time researching settings.

Furthermore, if you want the LXIce theme, you need to extract the directory in the downloaded archive to /usr/share/icewm/themes. Then you must set IceWM to use the theme, either by creating a file in your home directory called /.icewm/theme with the line theme=LXDE/default.theme, or by setting the preferences from PCManFM, which manages the LXDE desktop in much the same way that Nautilus manages GNOME. Moreover, the first time you try to start a terminal from PCManFM, you will find that you need to define which of the terminals installed on your system to open by default.

At this point, you may start thinking that, for a graphical environment, LXDE is overly reliant on configuration files. Some of the roughness may be due to the fact that LXDE's components are all in .1 or .2 releases, but the reliance on IceWM suggests that manual editing is more LXDE's underlying philosophy than an indication of its early development stage. For those used to desktops like KDE or GNOME, the question may quickly become: Is LXDE worth the effort?

A matter of what's important

The answer depends on what you expect in a desktop. Like most other desktops, LXDE supports a panel, menu, and multiple workspaces. However, the degree of customization is limited. The panel, for instance, is unconfigurable from the default, and is difficult to edit from the config file without a sample or instructions. Similarly, while you can choose an image for wallpaper, LXDE simply displays it across the whole of the desktop, giving you no options to tile or center it.

Nor are there any major customizations. LXMusic simply plays music, making it a distinctly low-end alternative to a multi-featured program like Amarok. In much the same way, the features of PCManFM and GPicView are representative of their types of applications without boasting anything unique. And the most that the default LXPanel can muster in terms of originality is an icon to minimize or shade all the open windows on the desktop. To some extent, LXDE resembles one of the earlier versions of Xfce, before it struck its current balance between being lightweight and customizable.

For those who want their desktop ready to run on installation or full of new features, LXDE has little to offer. However, for those for whom speed is a virtue, the prospect is completely the reverse. The project page claims to have run LXDE on a 266MHz Pentium II with 192 megabytes of RAM with "moderate-fast" results, and in QEMU emulation on a 1.6GHz AMD Athlon with 128 megabytes of RAM with "fast" results. From its performance on a three-month-old computer of mine, I can easily believe the results. From my experiments, LXDE even seems to run GNOME and KDE programs faster than those desktops can.

In many senses, you can call LXDE a back-to-basics desktop. These days, that's an unusual approach; it will be interesting to see what the project does in subsequent releases.


  • Reviews
  • Graphical Environments