LWN.net Logo

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Linux.com reviews Xfce 4.4. "For years, the lightweight Xfce has been a popular desktop environment for Linux distributions running on older hardware, thanks to its lower demand on resources as compared to KDE and GNOME; it's an ideal desktop for machines with less than 256MB of memory. Until recently, however, using Xfce was a little laborious, but with its latest release last month, Xfce is a much more usable desktop environment."
(Log in to post comments)

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 20, 2007 20:03 UTC (Tue) by cantsin (guest, #4420) [Link]

I'd go even farther than the author and argue that with version 4.4, XFCE has become the better Gnome. The desktop is just as pretty, functional and user-friendly, but runs on a fraction of the resources thanks to a lean codebase and avoidance of middleware layers (such as Bonobo/Orbit, gconf, scrollkeeper, evolution-dataserver, Mono etc.).

On top of that, it is even better configurable. Being a non-desktop user on most of my machines, I even managed to tweak it into a behavior similar to fullscreen window managers like ratpoison and Ion simply by adjusting keyboard shortcuts and window manager behavior in the XFCE settings panel.

At this point, XFCE is IMHO closest to what the mainstream user Linux/Free Software desktop should have architecturally been from its beginning: user-friendlier and more integrated than a raw fvwm or Window Maker, yet strictly adhering to the Unix virtue of simplicity. XFCE currently is the only integrated desktop that gives users back the feeling that Linux/GNU and *BSD get more performance and value out of their machines. Kudos to the XFCE developers for putting an end to about ten years deep frustration with the direction of mainstream desktop Linux.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 20, 2007 20:26 UTC (Tue) by twiens (guest, #12274) [Link]

I would have to agree that XFCE is getting nicer all the time. I've found it functional for some time now even though I use Fluxbox on most machines. For users who want a desktop that is functional and nice looking but isn't bloated like KDE or Gnome, XFCE is definitely the way to go. The only downside is there are some really good KDE (Kile, Eric3) and Gnome (Abiword, Gnumeric) applications; it is shame that they come with so much useless, resource wasting baggage.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 20, 2007 21:19 UTC (Tue) by eru (subscriber, #2753) [Link]

XFCE is definitely the way to go. The only downside is there are some really good KDE (Kile, Eric3) and Gnome (Abiword, Gnumeric) applications;

I don't think XFCE prevents you from running them, they just might start a bit slower since the libraries they depend on are not yet in memory.

I gave XFCE a go some years ago but dropped it since it did not support some UI conveniences I felt necessary (or at least was addicted to at the time, like automatically hiding taskbar). I guess it is time to take another look. The prospect of getting back some of the computing power sucked up by mainstream bloatware desktops is tempting.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 20, 2007 21:30 UTC (Tue) by cantsin (guest, #4420) [Link]

I gave XFCE a go some years ago but dropped it since it did not support some UI conveniences I felt necessary (or at least was addicted to at the time, like automatically hiding taskbar).
Give at a new try indeed. It's been almost entirely rewritten, and, yes it can automatically hide the taskbar... (Make sure to install 4.4 and not an older version though.)

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 20, 2007 23:35 UTC (Tue) by i3839 (guest, #31386) [Link]

The only downside is there are some really good KDE (Kile, Eric3) and Gnome (Abiword, Gnumeric) applications; it is shame that they come with so much useless, resource wasting baggage.

Funny, Abiword and Gnumeric used to be GTK only, stand-alone programs. Pity they're pulled into the Gnome camp and depend on all kind of Gnome things now. Anyway, you can still avoid running Gnome, just not having it installed (which is quite frustrating, both for KDE and Gnome apps).

Newer versions of Xfce4 are much bloatier than the old ones, though a big part of that is because of gtk2. Not that anyone notices that with most average current hardware. Heck, even Gnome and KDE are snappy then.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 21, 2007 3:59 UTC (Wed) by drag (subscriber, #31333) [Link]

Gnome's not that horrible when it comes to memory usage.

If you look at the default setup from XFCE and the default setup from Gnome folks, the default gnome setup and not the way it's configured from distributions, then XFCE only has the advantage of a couple dozen megs less then gnome.

More or less.

By the time you try to get a full XFCE desktop running with applications and such.. if you try to avoid Gnome as much as possible and use non-gnome applications... then with XFCE you'll probably end up using MORE ram then Gnome with a bunch of it's applications open.

Personally right now I am running OpenBox with XFCE panel and mostly gnome applications. The only thing I start up automaticly for gnome-support-wise is gnome-settings-manager, which I stuck in my xinitrc because I like gnome's theming support.

The only things I have open right now is Epiphany and Gnome-terminal (UTF-8 support niceness) and it's cruising along with 96megs being used. The largest user, after the browser, is X-windows itself.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 21, 2007 7:18 UTC (Wed) by muwlgr (guest, #35359) [Link]

Modern xterm versions support UTF-8 just as nicely, for abour 3..4 years already. And xterm is light, its memory consumption does not grow exponentially with development progress. No terminal is nicer than xterm with 'terminus' font :>

As for tabs, I just had not got used to them.
Don't know if this feature is really worth.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 21, 2007 15:12 UTC (Wed) by drag (subscriber, #31333) [Link]

I don't use tabs either.

Gnome-terminal may be more bloated, but it's faster. If that sort of thing matters for you.

time seq 1 8 |while read i;do find;done

Just doing find on my home directory. It's all in cache so it's not bound by disk i/o any.

for Gnome-terminal:
real 0m23.513s
user 0m1.076s
sys 0m1.232s

For Xterm:
real 1m2.605s
user 0m1.580s
sys 0m1.464s

And that is gnome-terminal using the 'DejaVu Sans Mono Book' font with the 'best shapes' font rendering vs whatever is the default for xterm.

Although it's slightly faster opennning up...
time seq 1 18 |while read i;do xterm -e ls ;done

for gnome-terminal
real 0m8.645s
user 0m1.784s
sys 0m0.424

for xterm
real 0m7.079s
user 0m3.036s
sys 0m0.320

$ xterm -v
XTerm(224)

Gnome gnome-terminal 2.14.2

:)

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 21, 2007 18:56 UTC (Wed) by kreijack (guest, #43513) [Link]

My tests:

konsole: time python -c "print 'a'*10000000"
[...]
real 0m4.268s
user 0m0.040s
sys 0m0.120s

xterm: time python -c "print 'a'*10000000"
[...]
real 0m17.486s
user 0m0.032s
sys 0m0.220s

gnome-terminal: time python -c "print 'a'*10000000"
[...]
real 0m38.939s
user 0m0.036s
sys 0m0.132s

The tests was performed on a AMD Sempron 3000+, on a [k]ubuntu
edgy. The DE was kde; the graphics adapter was a NVidia GeForce 5200. The
font are the same under gnome-terminal and konsole (Bitstream Vera Sans
Mono 12pt); under xterm the font was the "huge" and the windows size was
the same of the other two console.

I repeated the test several times, and konsole requires about 4-6 seconds;
xterm requires 15-18 seconds; and gnome-terminal requires 38-40 seconds.

Goffredo

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 21, 2007 19:23 UTC (Wed) by muwlgr (guest, #35359) [Link]

Please also check and specify if you have 'multiScroll' set to 'true' in your xterm resources. This should speed things up.

As I see there is quite an speed race between various x-terminals developers. In Gnome 2.14, gnome-terminal had been sped up greatly. But it is also worth to note that this speed-up is mostly for local case (X client and server both on the same host). xterm as lower-level X application is said to have more stable performance being run over the network.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 22, 2007 8:02 UTC (Thu) by drag (subscriber, #31333) [Link]

cool. I like fast x terminals. Used to be these things would bring a machine to it's knees.

I am using PowerPC 1.2ghz G4 with ATI 9200 DRI/XAA drivers.

The
time python -c "print 'a'*10000000"
microbenchmark

With Gnome-terminal:
real 0m19.088s
user 0m0.059s
sys 0m0.382s

With Xterm:
real 0m24.315s
user 0m0.052s
sys 0m0.364

I tried the tables thing by sticking:
xterm*multiScroll: on

in .Xresources file. But it didn't seem to make any difference.

Now with remote X it was pretty bizzare.

This is going over ssh on a internet connection with a 45KB/s connection between both hosts.
ssh -X remote-host gnome-terminal

I ran:
time python -c "print 'a'*10000000"
real 0m5.861s
user 0m0.016s
sys 0m0.068s

!!! that's bizzare.

Then I tried my first microbenchmark which was run find on my home directory
find ./

First time I ran it I got 1minute 23 seconds. But second time I ran it I got:
real 0m28.653s
user 0m0.584s
sys 0m1.480s

And the 3rd time was exactly the same.

Just so you know...
time find ./ |wc
133705 151271 10996476

real 0m19.248s
user 0m1.444s
sys 0m0.812s

(which I suppose is why the python command is much better, eh?)

Now with:

user 0m0.052s
sys 0m0.364

I tried the tables thing by sticking:
xterm*multiScroll: on

in .Xresources file. But it didn't seem to make any difference.

Now with remote X it was pretty bizzare.

This is going over ssh on a internet connection with a 45KB/s connection between both hosts.
ssh -X remote-host gnome-terminal

I ran:
time python -c "print 'a'*10000000"
real 0m5.861s
user 0m0.016s
sys 0m0.068s

!!! that's bizzare.

Then I tried my first microbenchmark which was run find on my home directory
find ./

First time I ran it I got 1minute 23 seconds. But second time I ran it I got:
real 0m28.653s
user 0m0.584s
sys 0m1.480s

And the 3rd time was exactly the same.

Just so you know...
time find ./ |wc
133705 151271 10996476

real 0m19.248s
user 0m1.444s
sys 0m0.812s

(which I suppose is why the python command is much better, eh?)

Now with:
ssh -X remote-host xterm

real 9m3.364s
user 0m0.020s
sys 0m0.048

!!!

That's over 9 minutes for xterm versus 5 _seconds_ for gnome-terminal.

And I was watching the bandwidth usage. It got a solid 42-46 KB/s the entire time. There was only a disconnect for about 6 seconds.

time find ./
real 14m37.836s
user 0m0.464s
sys 0m1.100s

That's 15 minutes for Xterm vs 25 seconds for Gnome-terminal.

That's bizzare. The Gnome folks are nailing some sort of optimization in their libraries for this. Are they incorporating NX optimizations or something?

I am sorry, but this is hilarious. Completely unexpected.
Comparing Gnome-terminal vs Xterm over a slow network connection is like watch Gozilla vs Methuselah (in his later days) in a no-hold-barred cage fight.

To be fair I tried
ssh -XC remote-host xterm

The python command gave me this:
real 0m22.725s
user 0m0.020s
sys 0m0.088s

So compression helps a lot.

The find ./ game me this
real 1m30.950s
user 0m0.464s
sys 0m1.140s

So I tried it with gnome-terminal and compression:

The python command:
real 0m5.912s
user 0m0.016s
sys 0m0.088s

the find command:
real 0m24.609s
user 0m0.512s
sys 0m1.460s

So not that much of a difference, for gnome-teminal.

So I figure I don't want any disk I/O limits to limit performance.
So I mounted tmpfs to /mnt
and went:
find ./ > /mnt/cow

That created a 11meg file.

So with:
ssh -XC remote-host gnome-terminal

Then:
time cat /mnt/cow
real 0m7.314s
user 0m0.000s
sys 0m0.168s

With
ssh -XC remote-host xterm
real 1m18.927s
user 0m0.008s
sys 0m0.128s

Then for comparision the amount of time it takes to transfer the file.

time scp -C remote-host:/mnt/cow ./
cow 100% 10MB 488.1KB/s 00:22

real 0m27.538s
user 0m0.483s
sys 0m0.265s

Keep in mind that there was about 3-4 seconds before the command launched.

So Gnome-terminal is cheating. Cheating heavily. I don't dissaprove.

Is there a better benchmark? Or is this going to reflect real-world performance? I don't have any problem using either over the connection.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 22, 2007 8:08 UTC (Thu) by drag (subscriber, #31333) [Link]

Sorry for the very long post.

I won't do it again. It's absurdly long.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 24, 2007 20:06 UTC (Sat) by mikov (subscriber, #33179) [Link]

I did a few tests on my machine. gnome-terminal came out 2 times faster than xterm with the "python" test. konsole came out 30 times faster than xterm ! I am as surprised as you are.

As for starting time, xterm literally trumps them. From this test (time seq 1 18 |while read i;do xterm -e ls ;done) I have:

xterm - 2.723s
gnome-terminal - 11.137s
konsole - 15.590s

In all cases I had another instance already open.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Mar 1, 2007 11:19 UTC (Thu) by azverkan (guest, #41051) [Link]

Give multi-gnome-terminal a try.

It's nearly as fast as xterm, but with support for tabs.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 23, 2007 6:48 UTC (Fri) by muwlgr (guest, #35359) [Link]

May be gnome-terminal does more aggressive "perceptive" optimizations. i.e. it buffers everything until network becomes ready, or until its application calls "read" from the pty. Which xterm does not and so loses, unfortunately.
It could be understood that on slower networks gnome-terminal could be even faster since it has to update its window less frequently than in local case.
Weird, indeed. But anyway, these optimizations do not seem to be a "rocket science" and I think it should not be hard to repeat them in xterm.
Should Dickey wish it :>

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 23, 2007 20:14 UTC (Fri) by i3839 (guest, #31386) [Link]

Oh guys, look at you: Benchmarking text output speed for terminals.

I don't want my terminal to spit out too much data to read quickly, I want it to start up instantly when I need it. So go test that on a non-native system. (That is, no konsole on KDE, or Gnome-terminal on Gnome. Try it on twm or something.) Doing it after an "echo 3 > /proc/sys/vm/drop_caches" might be fun too.

Starting up rxvt is instantly for me, but takes noticable time when Firefox is in the background (when it instantiates in front of FF I mean).

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 21, 2007 20:03 UTC (Wed) by oak (subscriber, #2786) [Link]

> The largest user, after the browser, is X-windows itself.

By "X-windows" I assume you mean the X server. If you check out where
the X server memory actually goes with e.g. pmap and xrestop, you
probably find out it's:
- video card memory mapped from the kernel
(i.e. not really X server memory)
- browser's pixmaps it's storing at the X server side
X server in itself uses fairly little memory.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 21, 2007 3:21 UTC (Wed) by sanjoy (subscriber, #5026) [Link]

Abiword, Gnumeric, and other gnome applications should be fine under Xfce. I use them under twm. KDE apps, like kpdf, also work, although they complain a lot as they startup (so I direct stdout, stderr to /dev/null).

bloat?

Posted Feb 21, 2007 23:53 UTC (Wed) by rfunk (subscriber, #4054) [Link]

Inspired by this article, I tried installing xubuntu-desktop on my 384MB Kubuntu laptop
last night, to compare memory usage of XFCE with KDE. Granted, since my laptop is
running Ubuntu Dapper (released last summer), it was XFCE 4.3 instead of 4.4 (but with
Thunar), but I haven't heard anyone say that 4.4 uses less memory than 4.3.

I normally run with a terminal window, a browser window, a mail window, and a bunch of
panel applets for seeing some status information. Once I got all this set up in XFCE as I
have in KDE (with firefox and thunderbird in place of konqueror and kmail), I found that I
was using slightly more memory and swap in XFCE than in KDE. Not much more; they
were pretty close.

Conclusion: With my usual application environment, KDE is no more bloated than XFCE
is. (On the other hand, I was happy to see that XFCE no longer looks and acts like the
ugly stepsister of CDE.)

This comparison came to similar conclusions:
http://ktown.kde.org/~seli/memory/desktop_benchmark.html

bloat?

Posted Feb 22, 2007 0:12 UTC (Thu) by cantsin (guest, #4420) [Link]

This is not surprising since konqueror and kmail consume only a fraction of the memory of Firefox and Thunderbird, even with the entire KDE subsystem loaded. The Mozilla framework is to blamed for the higher memory footprint in your scenario, not XFCE. A better comparison might have been Sylpheed + a hypothetical GTK-only web browser.

bloat?

Posted Feb 22, 2007 0:31 UTC (Thu) by rfunk (subscriber, #4054) [Link]

You're right that is isn't XFCE's fault specifically, but it's KDE's advantage to have a
high-quality mail client and web browser that don't add much memory use to the system.

I used to use Sylpheed. Not bad for a simple graphical mail client, but both Kmail and
Thunderbird blow it out of the water. I have no desire to go back there.

Your use of "hypothetical" helps make my point as well. Since there isn't such a thing
that doesn't depend on either Gnome libraries or Mozilla framework (RIP Galeon 1.2), I
take what I can get (for similar functionality). What I can get results in no memory gain
over KDE.

Granted, as far as XFCE itself goes, it is impressive at giving functionality equivalent to
KDE at a lower memory cost. But I need a high-quality mail client and browser running.
The only way to get that in XFCE is to add either the Mozilla framework, the KDE
libraries, or the Gnome libraries, with no net memory reduction compared to an all-KDE
environment.

Of course, if I used Firefox rather than Konqueror as my browser in KDE, the story would
be different.

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 20, 2007 21:44 UTC (Tue) by sylware (guest, #35259) [Link]

Indeed, this desktop is great. It's now my desktop of choice for new users I help to free themselves from toxic software. Moreover it could be the salvation of the "GTK desktop" since gnome is slowly killed by Novell/MS with their bloats.
As for the great apps like gnumeric, abiword and others... well a task force should free them from gnome dependentcies in order to only depends on GTK libs. Just need skilled people with time... DOH!

Xfce 4.4: The best lightweight desktop environment (Linux.com)

Posted Feb 21, 2007 1:30 UTC (Wed) by dskoll (subscriber, #1630) [Link]

I was a die-hard XFCE3 holdout, but now XFCE4 can minimize application
windows to icons on the desktop, so I'm back. XFCE 4.4 is terrific.

(I still use KDE programs like "knode" and they work fine. I can't say
I use any GNOME programs, though I do use a lot of gtk apps like Gimp,
Firefox, etc.)

Grumpy Editor - lightweight window managers please!

Posted Feb 21, 2007 11:11 UTC (Wed) by endecotp (guest, #36428) [Link]

Having used fvwm2, xfce and blackbox over the last decade I've always been frustrated that none of them seems to have all of the features and non-features that I want. How about a Grumpy Editor review with a nice table of what they all can and can't do? My preferences:

Focus follows mouse.
Click in body of window, moving and resizing don't raise it; click on title or keyboard shortcut does.
Window edges snap to each other and the edges of the screen when moving and resizing.
Raising one window doesn't raise that application's other windows.
Alert dialogs don't grab the focus.
A not-too-painful way to launch applications using keyboard shortcuts.
Some sort of tabbed interface for terminals and perhaps other applications.
Not too many bugs.
Not too much other useless junk.

I don't think this is asking too much, is it?

Grumpy Editor - lightweight window managers please!

Posted Feb 21, 2007 15:19 UTC (Wed) by khim (subscriber, #9252) [Link]

I don't think this is asking too much, is it?

You do ask for too much. First you list a pile of non-standard settings, then you ask for "not too many bugs" and "not too much other useless junk". You can not have it this way: either the thing will be highly-configurable and it'll be big, slow and unwieldy (and probably buggy as well) or it'll be small and lean, but... you'll be unable to find all the options you like...

Grumpy Editor - lightweight window managers please!

Posted Feb 21, 2007 16:42 UTC (Wed) by cantsin (guest, #4420) [Link]

Please let's not confuse window managers and desktop environments. A window manager, in the narrow sense, only decorates, places and resizes X11 windows. (Examples would be aewm, sawfish, evilwm, ratpoison, ion, but also XFCE's xfwm, Gnome's metacity and KDE's kwin). A number of "window managers" stretch that definition by also providing in-process panels, taskbars, docks, or application menus (fvwm, Window Maker, black/flux/openbox, icewm being perhaps the most popular examples). In a desktop environment however, these components run as separate processes. On top of that, a desktop environment also includes graphical file management, typically also desktop icons and last not least graphical setup menus, with configuration changes being effective on the fly as opposed to restarting a wm. The single components of a desktop environment have a consistent look and feel and can interact via drag-and-drop, thanks to a common GUI toolkit and the use of mechanisms/APIs such as those of freedesktop.org.

For the end user, the main difference between a WM - even a WM that accomplish more than pure window management - and a DE is that the latter is fully and consistently operable through the GUI, never throwing users back to the command line for standard tasks like file management and desktop configuration. To my knowledge, only KDE, Gnome and XFCE match those criteria of a genuine desktop environment in the Unix-compatible, X11-based free software world. And among those three, XFCE is the only one that restrains itself to being just a desktop, and not a complete middleware layer with, among others, its own component architecture and massive set of DE-specific libraries and demons. So it is more than just a window manager on the one hand. On the other, in comparison to Gnome and KDE, it is very much like Galeon and later Firefox in relation to the older, heavier, integrated Mozilla suite (now Seamonkey). Just like Galeon had the slogan "the web and only the web", XFCE could deservedly claim to be "the desktop and only the desktop". I wouldn't be surprised if what proved to be a winning formula for free software web browsers could also become a success formula for the free software desktop. With version 4.4, XFCE achieves for the desktop what the first stable versions of Galeon and Firefox achieved for web browsing.

Grumpy Editor - lightweight window managers please!

Posted Feb 21, 2007 15:39 UTC (Wed) by drag (subscriber, #31333) [Link]

Check out OpenBox.

It's EWMH compliant so you can use it to replace metacity or kwin. It follows the BB style, but it's been through a complete rewrite.

I don't know if it will do everything you want.

It probably doesn't do that tabbed thing. And the 'one-window-raises-all-windows' may be the Window Manager just doing what the application wants it to do in order to be compliant.

But it's basic configuration is with ~/.config/openbox/rc.xml

And it's pretty extensive on what you can configure. It's given sane defaults but you can configure what happens when you click on a window's titlebar vs left lower corner vs the body of the window etc etc. It's all context dependant if you want and it can behavor in most any manner you would want.

For launching applications it's pretty simple to do that. One of the interesting features is you can do key combo chaining. So you can setup a 'application launch mode' were you.. say.. hit ctrl-alt-l and then that way you can launch your applications with a single key press.

Personally I just bound gmrun to launch with alt-f2 so I just type out the name of the application I want to use. Supports tab completion and will cycle through possible matches.

The nice thing about the openbox rc.xml file is that it's well documented on their website. Even though it's XML not that difficult to deal with.

With the addition of a couple other programs you can do some very cool stuff.

One handy application is wmctrl
http://www.sweb.cz/tripie/utils/wmctrl/
It works with any EWMH/NetWM compliant window managers which allows you to write scripts to manipulate windows. Say setup a script to launch 4 xterms then tile them full screen.

Then that page has a link to a couple other interesting little utilities such as devilspie for application detection and such. Then Zenity or Xosd for writing scripts that output to a gui notification pop-up.

Grumpy Editor - lightweight window managers please!

Posted Feb 21, 2007 15:46 UTC (Wed) by tjc (subscriber, #137) [Link]

Alert dialogs don't grab the focus.
X has a window override_redirect attribute that allows a child window to do this, and the window manager can't intercept it through the normal substructure redirection mechanism. It's one of the ugly things about X.

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds