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.