Linked by Rahul Gaitonde on Mon 10th May 2004 18:41 UTC
Xfce Before we begin, here's what XFce's website has to say about itself: XFce is a lightweight desktop environment for unix-like operating systems. It aims to be fast and lightweight, while still being visually appealing and easy to use. It's based on the GTK+ toolkit version 2.
Permalink for comment
To read all comments associated with this story, please click here.

Here's a short story of how I tried to install xfce.

Warning, rant ahead. The reader is advised to interpret the following as a constructive criticism.

First, I got the source. Actually, I used Sorcerer's package management software to install it. But let's pretend that I had tried to install it from the source. It wouldn't probably have been all that different with most other distributions out there, either.

Ok, I "configure && make install" it and start looking for the window manager binary. All right, it must be this "xfwm4". I change my .xinitrc to say "exec xfwm4" in the end, end of story. Right?

Nope. I start my X and an empty screen appears. "The software must be broken. What a POS this is." All right, maybe I'll try reading the installation guide on the web page. After 30 minutes of intensive reading I find that it's not started by startx or xdm running my .xinitrc, but instead by some script called "startxfce4". All right -- "one of those weird window managers again," I think to myself. But I'll try it, and hey - it works.


The next thing I realize that my xterms have the wrong font and colors. It seems as if my .Xresources are not read when I start xfce. I wonder why.

After another half an hour, I find why. The "xrdb -merge .Xresources" is included in the default /etc/xfce4/xinitrc but is commented out! WTF, I think furiously. Why on earth?

If I were some n00b Red Hat user I'd just get root and edit the default xinitrc straight away. But nope, I consider myself a hardcore linux hacker so I decide to make my personal .xinitrc.

So I spend a good 30 minutes wondering where to put it. ~/.xinitrc obviously doesn't work since my old one wasn't executed. Aha, there it is, in ~/.xfce4/xinitrc. I double-check the information from the manual from /usr/bin/startxfce4 because I don't really trust the manual at this phase - how could it when the software is obviously so crappy that it doesn't honor any well-known conventions?

I copy the default xinitrc to ~/.xfce4 and uncomment the crucial lines.

I try to run startxfce4.

It still doesn't work. Maybe something is wrong with my .Xresources? Maybe it didn't read my xinitrc? Why could that be? Maybe it requires that it's executable? I check that /etc/xfce4/xinitrc isn't executable either, so it can't be that.

I spend ANOTHER half an hour debugging the problem, inserting all sort of debug statements (including a lot of swear words) into my ~/.xinitrc and restart xfce about ten times. I won't even look at the manual since I feel that it was so obscure and useless before. Besides, the webpage said that I just need to make my own .xinitrc. It certainly would have been mentioned if anything else is needed.

Then I check, once again, /usr/bin/startxfce4 to find out the reason as to why it didn't read my xinitrc.

My xinitrc actually *has* to be executable.

Even though /etc/xfce4/xinitrc _isn't_.

Even though the standard X11 startx doesn't require it to be.


chmod +x ~/.xinitrc, ta-dah, it works.

Great. After two hours of fighting, I've managed to get it up and running. All right, maybe I could've spent less than half an hour for each four steps depicted above. Maybe 10 minutes per task would have been enough. But that's still 40 minutes, enough to make most people give up in the process.

All right, all of these things are described in the manual but firstly, the developers should pay attention to the following fact, proven by usability research ages ago:


(You're lucky that I even read the installation web page! Which, by the way, doesn't contain _all_ necessary information and also contains way too much text to be processed easily. So I resorted to hacking and trial-and-error which at the time was the more comfortable alternative.)

And secondly, when people get so annoyed that they are forced to reading the manual, they are not at all delighted when they find out that xfce4 applies _almost_ precisely the usual mechanisms employed by every other sane window manager out there (use startx or xdm, run from .xinitrc). But just slightly differently so that your gathered-through-several-years-with-other-window-managers instinct lets you down there.

And boy, that's annoying.

Well, I have no problems any more. Xfce is a nice environment to use. But it could be more popular if it also was an easy environment to install.

(And it actually _is_ true that nobody will read the manuals, or at least the world would be a better place if everyone wrote their software so that nobody would _have_ to read them. I heartily recommend studying some usability literature, they actually have pretty useful things to say.)