Set your computer free

Menu

Up Close and Personal with LXDE

Regular visitors to this site will know that Fluxbox is Trent’s and Patrick’s preferred window manager. I, too, am impressed with its speed and customizability, and its low overhead. Fluxbox’s biggest drawbacks are that customization is somewhat less intuitive and significantly more labor-intensive than the full-featured environments’, and that the interface as a whole is foreign and unintuitive to those whose only other computer experience has been Windows.

One challenge I faced with my laptop project was that not only did I need to make the laptops acceptably responsive, I also had to keep the learning curve as low as possible. Even with add-ons such as iDesk, the testers were less than comfortable with the Fluxbox solution. After evaluating several environments and window managers, the testers and I agreed that LXDE provided the best balance between responsiveness and usability for the non-technical user. To be sure, LXDE is nowhere near as responsive as Fluxbox, OpenBox or many of the other ultra-light managers, but it is also far more responsive than the other “tweener” window manager, XFCE In a real sense, LXDE is what XFCE aspires to be.

As with many things Linux, there is a healthy dose of good along with bad. There aren’t very many distros that use LXDE as the default interface (WattOS and Lubuntu come to mind, but neither is quite ready for prime time.) I ended up using a different distro (Linux Mint, im my particular case) and installing LXDE via apt-get. Unfortunately, putting a window manager other than the default in place means you have that much more setup to do in order to enable basic functionality.

Going under the hood

One of the most frustrating things about getting LXDE up and running is that so much of the documentation in their wiki is flat-out wrong. The startup and configuration files are not where the documentation said they would be (I don’t know what would happen if I manually created them there, but I shouldn’t have to, since I don’t know exactly what format they should have). The wiki says you should be able to look in $home_directory/.config/ or, failing that, in /usr/share/, but none of them have anything remotely resembling startup scripts. The LXDE wiki does reference an app called “lxsession-edit”, which is used to configure the interface and set up startup applications (such as network and hardware monitors.) This application has one utterly fatal flaw, however: it isn’t included in the LXDE package, and it isn’t available as a stand-alone via apt-get. This is an unacceptable shortcoming. Apparently, you have to download it directly from a developer page, and it’s still in version 0.1. Either make it part of the LXDE package or change your documentation, but you can’t write instructions for what’s not available without giving any other alternatives.

So how does one go about determining startup applications?
The autostart script is actually located in the blindingly obvious location /etc/xdg/lxsession/LXDE/autostart. Thanks to the extremely thorough documentation and in-line commenting (ha!), I was able to figure out that adding @application-name (for instance, @nm-applet) will launch the application on startup and leave it running. Lines can be commented out with a standard regulation octothorpe (“#” for the octothorpe-uninitiated.) What I don’t (yet) know is whether leaving the “@” off will cause the program to run and terminate on startup (for instance, if you want to reset alsaconfig.)

Desktop Dalliances

One of the primary advantages I found in LXDE is that it supports desktop icons (which is still one of the more troublesome aspects of many environments: getting drag-and-drop to the desktop and expecting a program to launch “just like that” generally still isn’t there yet.) Getting it to work right is more cumbersome than I’d like, but in my case, that’s a lesser concern. As long as I’m able to get working desktop icons for others to use, I’m in good shape.

In order to be able to launch apps from your desktop, you’ll need to drop a .desktop file in your Desktop directory (located in /home/$your_user/Desktop.) You must use the .desktop extension in order for this to work correctly. If you don’t have an existing file, you’ll need to create one. This is easily accomplished with a text editor of your choice. The name of the file does not matter, as long as it has the .desktop extension. For purposes of this writeup, we’ll assume I want an application called MyApp. I would probably name my file myapp.desktop. The contents of the file should look like this:
[Desktop Entry]
Encoding=UTF-8
Name=MyApp
Exec=/path/to/application/myapp %u
Icon=/path/to/icon.png
Terminal=false
Type=application
NoDisplay=true
StartupNotify=true
MimeType=application

(Hot tip: if you’re doing this for the first time, copy the above text and paste it into a text file, then use it as a template for future .desktop entries.)
Most of the above should be self-explanatory. Encoding should be consistent with the encoding actually used, and if the app runs in a terminal, you’ll obviously want to set “Terminal=true.” The application itself resides in the “Exec” line, and the line should end with “%u“. The most frustrating part is locating the icon for your application. Note that what actually appears on the desktop is what you provide under “Name”, not the name of the desktop file. So if I were to edit myapp.desktop so “Name=Fred”, then “Fred” would show up on the desktop to launch MyApp. Dealing with non-applications (such as text documents) is much more straight-forward: merely drop them in your Desktop folder, and you’re good to go.

Conclusions

By this point, some of you must be wondering why I’m sticking with LXDE in spite of being difficult to configure. The simple answer is that based on my experiences, LXDE’s shortcomings are primarily on the configurability side; once it’s set up, usability is pretty good. For my deployment environment, usability is critical, and I can handle configuration headaches. Compared to getting Windows XP configured properly (including services), LXDE isn’t that much worse (provided you don’t mind typing.) A big part of the hassle is dealing with permissions, since you’ll need to have root privileges to edit those files not found in your /home directory. At the end of the day, functionality for the end-user is key, and LXDE delivers on that aspect quite well. If you’re in an environment in which Gnome or KDE are simply too slow and a solution like fluxbox requires too much of a learning curve (or is simply too foreign-looking), LXDE offers a good blend of responsiveness and interface familiarity such that a neophyte can dive right in.

lxsession-edit – configure what application start up automatically in LXDE is a standalone package , or at least it is in Debian. There is also a install cd that let’s you choose xfce or lxde as the default desktop.

I installed the Openbox-LXDE-SLiM combination on a new Arch Linux install this past weekend. The target was my three-year-old Acer Aspire 3620 (intel celeron 1.6Ghz single cpu) with 1gb ram.

The Arch-LXDE documentation is very thorough — far better than most of the info on the LXDE site itsef. (Arch’s KDE 4.3.3 is also responsive on this machine, being installed on a “test” hd that I use for, well, testing.)

Overall, I’m impressed with how well LXDE and its default lightweight apps have worked and agree with your conclsions. (I’ve also installed Gimp, Stellarium, Inkscape, Firefox, Midori, Transmission, xine, Brasero, OpenOffice 3.1, clisp, sbcl and Aqualung for good measure.)

Anyone looking to squeeze more performance out of older hardware (as well as netbook fans) should definitely give LXDE a look.

Yet more highly desirable traits for desktop Linux (clean, familiar and simple) held back by the fact that LXDE is just a thin veneer sitting on top of the absolute drudgery of the CLI and manually configuring text files in order to customize it.

Even in KDE and Gnome creating shortcuts are a chore compared to Windows.

Lacking a comprehensively-complete GUI is probably the leading cause of Desktop Windows users not wanting to switch to Desktop Linux. Not because KDE lacked a stupid cashew in its earlier version, but because its GRAPHICAL user interface isn’t finished.

Yet more highly desirable traits for desktop Linux (clean, familiar and simple) held back by the fact that LXDE is just a thin veneer sitting on top of the absolute drudgery of the CLI and manually configuring text files in order to customize it.

Even in KDE and Gnome creating shortcuts are a chore compared to Windows.

I’ll stop you right there though. That’s just system bigotry, plain and simple. In KDE (pre-KDE4, anyway) and GNOME, creating desktop shortcuts and launchers is painless… not really any different from what Windows and even Mac users are used to.

LXDE is simply one still-being-heavily-worked-on desktop environment that has a ways to go before it’s ready for those kinds of comparisons.

But “Linux” is a kernel. Comparing “Linux” to Windows isn’t exactly fair, since “Windows” is an OS.

If you’re going to make comparisons, compare Linux-based operating systems to Windows. Like Ubuntu, or the aforementioned by someone PCLinuxOS, or Linux Mint.

I have to say, I’m excited about some of the stuff in the LXDE pipeline. If they can simplify the configuration issues and make it easy to create desktop icons without increasing overhead dramatically, LXDE could be a huge contender, particularly on older hardware.

I’ve been using the Mint KDE CE version for a while now, and just recently installed Helena (8). I was finally getting adjusted to the KDE4 desktop, something I was really having some difficulty doing (having come from KDE3 and, more recently, Xfce).

I added LXDE from the repositories, fired it up and was instantly hooked. I agree that it has some needs, but I have found it snappy and responsive on my three-year-old HP DV6000.

The configuration issues are a problem. I had to do a little digging to add an application launcher and icon the panel. Some kind of tool for that would be helpful. But originally having come from a Slackware world for many years, you learn to deal with the need to do stuff by hand sometimes.

I’m impressed and hoping for more. Now, perhaps I can volunteer on fixing that wiki…

I “solved” the drag&drop and shortcut_creating problem by installing nautilus-elementary in place of pcmanfm to handle files and desktop icons. I needed to comment out @pcmanfm in /etc/xdg/lxsession/LXDE/autostart and add @nautilus -n. Although some say nautilus is heavy and slow I found to my surprise that I se no difference in speed on the asus eee pc netbook which is pretty weak, and I ‘ve got much better desktop as pcmanfm’s desktop handling sucks.

About the Linux Critic

I'm a professional troubleshooter (a.k.a. IT Guy) and I've been using Linux as my main desktop OS for over a decade, at home as well as at work (even though I've worked predominately in Windows shops).

Professionally I work for an IT services company, supporting mostly Windows servers and desktops belonging to our clients and end users.

Personally, I'm a writer, a gamer, and a musician, and I'm also a movie buff. I still love technology though, and I'm always tinkering with computers on my home network.

I'm more technical than the "average user" by quite a ways, but I like to think that there's no reason why Linux and Free/Open Source Software can't find a home on the average user's desktop as a part of their everyday computing life.

I love to play around with technology, and I love to talk about it, so stick around and let me know what you're thinking.

DISCLAIMER: The posts I write and publish on this blog are my own opinions and the opinions of those who contribute to The Linux Critic, and in no way reflect the opinions or official positions of my employer or any of the employers of my contributors.

-- Trent

All content on this blog is copyright (C) Trent Isaacson unless otherwise indicated.