This guide will introduce you to XFce, the popular (CDE-inspired in the past) Unix/X11 graphical environment, and it will give you pointers how to install it.
Looking for something lighter?
In my home office, I have a very powerful workstation/server with a ton of
RAM. It never slows down, no matter what I throw at it! The rest of the
boxes on my network either have adequate hardware for their designated
tasks or have no GUI interface at all. Hence, I have never had to pay
much attention to the resources that my window managers of choice use.
That all changed when I decided to dig out my old laptop and put it to good
use. It’s an older Toshiba Ultra Thin that came pre-loaded with Windows 95.
Now, it’s a very functional laptop, but it’s no power house by any means.
That is to say that it will not easily run Windows versions newer than
Windows 98. Furthermore, the older versions of Windows are a little light
on features. So it’s Linux to the rescue.
While Linux provided the right mix of flexibility and feature richness,
I still needed to select a window manager. There is certainly no shortage
of available window managers for Linux, but given my hardware limitations
I had to be very careful with my resources. The lighter ones tend to be so
featureless or unintuitave that productivity is hindered. Some I found to
be so unattractive that it hurt to look at them. On the other hand, many
of the feature rich graphical interfaces are too demanding on the system
resources for older hardware. So, I began my search for a window manager
that met the following four criteria; light on resources, feature rich,
intuitive and good looking.
Does such a window manager exist for Linux?
XFce4 – A pleasant surprise
If you have ever used the CDE graphical interface for UNIX, than XFce
will be like running into an old friend. Although just one of several CDE
clones for Linux, there is something that makes XFce stand out; It keeps
getting better! XFce version 3 was not the prettiest to look at, but it
worked well. The latest version, XFce4, has been completely rewritten,
and it looks great!
The XFce development team seems committed to making a powerful desktop
environment without unnecessarily weighing it down. The result is a very
light, yet full-featured desktop environment that is ideal for systems
unable to handle the heavy loads that most popular desktop environments
place on system resources. It will also likely appeal to people who like
attractive, uncluttered, configurable and extremely responsive desktop
The current beta version is quite stable and is more than capable of
handling the daily tasks of even the most demanding power users. With
that in mind, I would still caution anyone contemplating the use of a
beta program, of any kind, in a production environment.
The following article documents the installation of XFce4 (rc2) from
binary (RPM) packages. Although this document is specific to SuSE 8.2,
it is, none-the-less, applicable to any KDE based distribution.
Why this document?
Upon installing XFce I found that I had no way to launch it outside of
killing X-windows and starting it from the command line. There are plenty
of threads, HOWTOs and documents written on adding additional window
managers to KDM. Oftentimes these sources are not written in English
and require serious translating, only to find out that they contradict to
each other or are out dated. In the end, you may end up without a working
I have spent hours breaking my system following such documents and hours
more fixing it. After the initial install of the Xfce4 RPMs you should be
able to add it to the KDM drop-down window in under five minutes. Even
though this document is titled “Installing XFce4 on SuSE 8.2”, it could
serve as a document for adding additional window managers to KDM as well.
XFce4 is dependent on the following packages. If you do not have them
currently installed on your system, install them via YaST from the
gtk2 & gtk2-devel
glib & glib2-devel
libxml2 & libxml2-devel
Optional dependencies :
librsvg (2.2.x or greater)
libstartup-notification (0.5 or greater)
Before we actually download the files, we should create a directory to
place them in. We will create a directory in your user’s /home/ directory
The XFce Web site (http://www.xfce.org) offers a variety of methods for
installing XFce4. Please check the download section for source code (tar
balls) or binary (RPM) packages for your particular distribution. As the
binary method is rather straight forward, that is the method that we will
cover in this document.
You can obtain XFce4 RPMs for SuSE 8.2 from: http://students.oamk.fi/~olilju00/xfce4/
If you are downloading XFce4 via FTP and are not familiar with transferring
files in that manner, you may prefer using a graphical utility, such as
gFTP or kBear (also available via YaST from the SuSE CDs). If you are
comfortable with the CLI (command line interface) then a great alternative
would be the ncftpget utility.
ncftpget -R ftp://ftp.then-the-ftp-address-here
If you currently have Xfce3 installed on your system you’ll be happy
to know that both versions can co-exist at the same time without any
conflicts. Thus, there is no need to remove Xfce3 before proceeding
with the Xfce4 installation. So, let’s install our newly acquired
binariess. Use the following command to install your selected RPMs:
rpm -Uvh rpm_file_name.rpm
Alternatively, you can install the RPMs all at once without regard to
the required dependencies by typing:
rpm -Uvh –nodeps rpm-file-name.rpm
As the later install method is more risky, is not recommended unless you
are familiar with RPM installations. Should something go wrong and you are
unable to resolve the problem, you can uninstall the RPMs by using the -e
(a.k.a. erase) switch:
rpm -e rpm-file-name.rpm
(or to uninstall all RPMs at once, use: *.rpm).
For additional RPM options see: man rpm
Install the RPM packages in the order listed below. You may choose to move each package to the DONE/ directory as it is installed to help keep track of your progress.
xfce4-panel-3.99.2-1suse82.i386.rpm — Required before installing the panel plugin RPMs.
The remaining packages can be installed in any order.
The startxfce4 script
When you login into your system and select a window manager, the Linux
system will call for the needed binaries in /usr/X11R6/bin/. Once the
XFce4 RPMs are installed, you will have a (binary) entry by the name
of startxfce4 located in the /usr/bin/ directory. As we want XFce4 to be
available for such system calls, we will link startxfce4 from it’s original
location in /usr/bin/startxfce4 to the the /usr/X11R6/bin/ directory:
ln – s /usr/bin/startxfce4 /usr/X11R6/bin/XFce4
Please note, even though the start script is called “startxfce4”, we
named the link “XFce4”. We will discuss why later.
The proper way to customize startxfce4 is not by modifying the actual
file, but rather through the xinitrc file. To do so, copy the (global)
xinitrc file from /etc/xfce4/ (it’s original location) to ~/.xfce4/. Once
it is sucessfully copied make the file executable and then modify that
file locally as desired.
cp /etc/xfce4/xinitrc ~/.xfce4
chmod +x xinitrc
Adding Xfce4 to the KDM menu
SuSE 8.2 offers several window managers during installation. When you
login to the system, you can select any of the previously installed window
managers via a drop-down menu in KDM, the KDE display manager.
Unfortunately, any additional windowing environments that you install, from
source or binaries, will not be automatically listed in the KDM drop-down
menu. Thus, they will not be accessible unless you kill the X-server and
manually start your additional window manager from the console window.
Obviously, we want XFce4 to be displayed as an option in the KDM
drop-down menu. We can do this by editing the kdmrc file located in
/etc/opt/kde3/share/config/kdm/. Look for the “SessionTypes=” entry in
the kdmrc file:
The kdmrc file lists the window managers available to the user via the
KDM drop-down menu. Simply add “xfce4” after the “SessionTypes=” entry.
The order that they are listed is the order that they will be displayed
in the drop-down menu, so where you place it in this entry is a matter
of choice. If you place it at the end of the “SessionTypes=” entry,
make sure that it is followed by a comma.
Notice that the entry we are placing in the kdmrc file is called “xfce4”,
rather than “startxfce4”. The reason for doing so is because the name
that we gave the link (not the name of the start file itself) is the
name that will show up in the KDM drop-down menu. A menu entry named
“xfce4” is certainly more aesthetically pleasing than “startxfce4”. So,
the new “SessionTypes=” entry should look like the following (don’t forget
Keep in mind that the “SessionTypes=” line lists the window managers in
the same order that they will be listed in the drop-down menu. If you
want XFce4 (or any other window manager) to be listed first, simply change
the order of the listings.
Thanks to Ilkka Ollakka for contributing those wonderful XFce4 RPMs for SuSE 8.2.
Thanks to Steve Nye for his assistance some of the research, as well as other valuable input.
About the Author:
Robert Follett, a Northwest bred Linux lover and a new transplant from Portland, OR to Houston, TX.
XFCe-4 is ubber tight and fast. Though installing by source on OpenBSD took a bit of time; I now have a useable yet lightweight desktop environment for my laptop.
OMIGOD! Why would anyone in his right mind move from Portland, OR to Houston! I’d heard the economy sucked in OR but take it from a former transplant from the mid-west better to live a ditch anywhere than in Houston.
I know it is trite but how about a screenshot.
I was originally planning to install XFce 4 on my old Mandrake 8.2 setup and had downloaded the GTK 2 files to do a build from source. I have held off temporarily, as for other reasons I have decided it is time to upgrade to Mandrake 9.1.
I am planning to install XFce 4 immediately after the upgrade, as XFce is my default desktop (my wife only knows how to use XFce). I see Robert Follett did an rpm installation on SuSE 8.2. Are there any rpm’s around for Mandrake 9.1 – anyone tried it ?
Or should I stick with going for a source build.
>I know it is trite but how about a screenshot.
The xfce site has *plenty*, and here is one more, mine from inside the latest redhat: http://img.osnews.com/img/4091/xfce4.png
I thought you’d be using the theme you designed Eugenia? “Today”, right? I like it. 😀
It probably took me just as long on my FreeBSD install (nearly forever). Ran into a few problems with pkg-config, eww, became rather messy. Have it all sorted out now and I absolutely love it!
It’s *so* clean, *hugs his desktop*!
Are there any rpm’s around for Mandrake 9.1 – anyone tried it ?
Since you ask this question, you apprently doesn’t know how
to use urpmi. ( “$ urpmq xfce ” will give you the answer )
So, go to http://plf.zarb.org/ , read the FAQ, the
“How do I use urpmi” article, and do the “Easy urpmi” setup.
It’s a MUST. Once you know that, (des)installing programs
Thanks Eugenia for the link. I see you are using the “slick” XFwm4 theme rather than the “today” theme based on your design.
I have had a look the screenshots on the XFce site and very impressive they are. I feel a bit guilty in being so slow to try out XFce 4, either in a beta or RC version. Especially so when I have taken every opportunity to push the merits of XFce as the best DE available (except possibly for OSX which I have not tried). But with a nice well configured system that does everything I wanted, I have been loath to mess with it.
XFce 3.8 has served me well as a great DE, but I guess its time to move on to a newer and better version.
>I see you are using the “slick” XFwm4 theme rather than the “today” theme based on your design.
I don’t really “use” it. I change themes regularly, as I dont really use XFce for production work, just testing it out and change stuff on it all the time.
Thanks for the advice on urmpi, I did try it once, but I have got out of the habit using rpm’s after finding that the rpm available at the time for abiword on Mandrake 8.2 was useless junk – it looked pretty on installation but it crashed if you tried to save a file as .rtf or .doc and crashed if you tried to print.
I built abiword from source and it worked a treat – no crashes. All I had to do was deuglify the fonts. So from then on I have mostly installed from source.
I am therefore a little dubious of a lot of rpms and that is why I asked if anyone had tried installing XFce 4 on Mandrake 9.1 from rpm.
rpm -Uvh –nodeps … installation order … adding xfce to the kdm menu …
And why not using a real linux distro, which can do all of of this in one single command line ?
It is really more of a how-to regarding installation of any window manager on KDE than it is a discussion of XFCE4. This is not meant as a disagreement with the thrust of the article.
I’ve installed XFCE4 from ports and from source on FreeBSD, and it was pretty easy either way. It’s a very nice window manager from a size/resource use vs. functionality standpoint, the only one other than Blackbox/Fluxbox that is getting any serious time on my machine these days.
nd why not using a real linux distro, which can do all of of this in one single command line ?
Why don’t you just try RC3,it should add it self to kdm/gdm/wdm menus (on SuSE 8.2), and it can be installed with apt4rpm
Definitely agree w/ the comments on the Portland to Houston, move, though. 😉
chemicalscum wrote: …So from then on I have mostly installed from source.
I am therefore a little dubious of a lot of rpms and that is why I asked if anyone had tried installing XFce 4 on Mandrake 9.1 from rpm.
RPMS for 9.1 are available almost as fast as the release becomes a release. Reports are that they work “just fine”.
From Todd S: ” Mandrake 9.1 rpm’s at same bat-site: http://clevername.homeip.net/xfce4/ ”
To build from source on Mandrake you will have to:
a) modify some of the XFce4 spec files to “Require” “gtk+2” rather than “gtk2” then use rpm -bs to build a new SRPM(or go for broke and use rpm -ba …:)
b) modify and build GTK+ package (gtk+2…mdk) to use the “virtual” package(s) “gtk2”
c) use the MDK 9.2 RC1 which is supposed to have the “virtual” (RH compatible) “gtk2” packages already in the gtk+2 RPM.(i have not tried it yet but that’s what the gtk+2.2.3…mdk changelog states…)
Personally, I have been using XFce4 with MDK 9.0 since Beta 1 and took the “b” method since it allowed the most flexibility for multiple installs of XFce4 without having to change the spec files everytime. Also allowed me to use CVS…
XFce4 works great but Session Management is missing from the XFce 4.0 release and will not be available until sometime later(supposedly, @ 4.2). The xfce4-session can be used but it is still alpha quality, at least it has been here; YMMV.
And, BTW, there are still a number of unresolved issues with MDK 9.1 -> you may be better off with MDK 9.2RC1, or to just wait a few more weeks for the 9.2 release.
I will go on using Xfce 3 for my root session (yes, I use a GUI for my root session), as Xfce 4 does not have session management yet.
I installed the beta, though perhaps not the latest, but it’s quite recent, as I bumped on the new dm scheme of gdm.
I cannot work without Session Management and virtual desktops anymore, that’s why I can’t use any desktop that do not support these.
So, no session management is a too big step backward for me.
Next, if the article was meant as a tutorial, it is soon to become obsolete, as the files describing a login session will soon be changed (actually, they are already if you use gdm for gnome 4), so that gdm and kdm will both use the same files (in /etc/dm if you leave the default).
These files are simpler anyway (can create one in seconds), but if you want custom apps launched at login prompt, you need to edit some other global config files, dependant on the login manager.
Yes, I miss Oregon. I didn’t choose Texas cause I don’t like Oregon. However, the last time I looked there were an estimated 6.2 jillion IT people out of work in Oregon.
When I pulled into Houston, I got a job right away and had other opportunities lining up as well.
As far as renaming the document, I agree that it could be retitled “Adding Window managers to KDM” but even so, I wrote the document because I wanted to add a Window Manager to KDM. Since Xfce4 was that Window Manager, the document is properly titled.
Further, I wanted to bring some much needed attention to a wonderful Open Source project and great Window Manager.
Thank you Eugenia and OSNews for posting this document, and I hope that the readers find it useful.
Whilst I do not SuSE (tried it, but hated it, thats MY personal opinion), just because a window manager requires a bit of setting up does not mean that a distro is not ready.
SuSE like most distros use either Gnome or KDE as the default enviroment and those are setup, all the other window managers and other desktops are generally used by people in the know.
Can you image a windows user trying to use say fluxbox or sawfish??
So great install Windows and use that then try to get say a 3rd party funky new desktop installed and running LiteStep? Thats not as easy is it…..
So based on you’re silly remark, Windows is not ready for the desktop either…
After installing a windowmanager you can easily add it to KDM through kde’s login manager configuration within kde control panel.
I dont see why complicate it modifying hard to find configuration files