Comparison between LXDE and Xfce
Xfce is a popular lightweight desktop environment. The article is meant to highlight the differences between Xfce and LXDE.
- Xfce offers a higher number of features than LXDE due to the latter being a much younger project. LXDE started in 2006 while Xfce has been around since 1998.
- Xfce has a significantly larger storage footprint than LXDE.
- In most of it's distributions, Xfce demands a more powerful machine to be able to run comfortably.
Implementations of Xfce
Most distributions make Xfce available through their repositories, and a significant number of LiveCD distributions use Xfce. A couple of notable examples are listed below:
- Xubuntu, a lightweight variant of the Ubuntu distribution, uses Xfce as it's default desktop environment.
- CrunchBang Statler (Debian-based) prompts the user to choose among Openbox and Xfce. It's also possible to alternate between the two. This Xfce build is a slimmed-down version, close to Openbox in resource consumption, but using Xfwm.
- Regular Xfce is an ALT Linux Sisyphus (unstable) based weekly barebones build of Xfce. 32 and 64 bit x86 images are provided. Both images are hybrid, but only the 64 bit build supports UEFI.
Implementations of LXDE
- Lubuntu, a distribution based on Ubuntu which uses LXDE as it's default desktop environment.
- Regular LXDE is an ALT Linux Sisyphus (unstable) based weekly barebones build of LXDE. 32 and 64 bit x86 images are provided. Both images are hybrid, but only the 64 bit build supports UEFI. You should be able to compare LXDE and Xfce using these images. The build profile difference is quite slim, though.
Xfce code in LXDE
The LXDE project uses some Xfce code. It is clearly documented in either the source code or the COPYING file in the source repository.
The code which is used by LXDE consists of:
- ExoIconView and ExoTreeView from libexo. (These represent a small fraction of libexo)
- libfm contains code of exo. This is properly documented in README, AUTHORS and in the code. The git hash is provided.
- LXSession used the HAL code of xfce4-session. This is documented in AUTHORS and README files.
- LXLauncher uses a single function from exo. This is documented in the source and Benny of Xfce is listed in AUTHORS.
- LXTask is heavily based on xfce4-taskmanager 0.4.x, but stripped out of Xfce dependencies. Patches for bugs and enhancements were sent to Xfce, but didn't get incorporated. Lxtask has now a different GUI, and the xfce4-taskmanager has been revived and updated to 1.0.x.
- the xkb plugin for LXPanel uses code from xfce4-xkb-plugin.
Note: LXPanel is not based on xfce4-panel. It is based on fbpanel, but it isn't compatible with fbpanel anymore. The panel itself does not use any Xfce code. As noted above, only the xkb plugin uses Xfce code.