A HOWTO document & Bug to report

Paleo sonicadmin at earthlink.net
Wed Aug 20 00:35:04 CEST 2003


On Tuesday 19 August 2003 6:13 am, Ilkka Ollakka wrote:

Ilkka, that's great! I'm sure people will benefit from your generosity. Could 
I ask one favor? Would it be possible to have you post the HOWTO that I 
included? It does not make reference to the X-screensaver bug (in the Special 
thanks section).

It also contains some other corrections (made by Jasper, I believe). I also 
fixed the formatting issues from all of the emails it was copied to. If you 
want to see it in .html, I can do that too. I included a copy of it in 
OpenOffice format so you could see the bolded, italisized, etc, font.

Thanx,

	Robert

##################################################
> On Tue, Aug 19, 2003 at 05:55:33AM -0500, Paleo wrote:
> > OK, Ilkka, I made one more change (removing the "X-screensaver:
> > refference" to the document and I am including it. Please, everyone, feel
> > free to make recommendations for changes to the document. I feel very
> > strongly about that because the document really represents your hard work
> > and dedication. I want it to be accurate!
> >
> > Cheers,
> >
> >         Robert
>
> OK. it's now on
> http://students.oamk.fi/~olilju00/xfce4/rc2/XFce4_on_Suse_HOWTO
>
> I put it under rc2 because I think I'll get that package install working
> automatic before RC3. Great work anyway! :)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FIX-XFce4_on_Suse_HOWTO.sxw
Type: application/vnd.sun.xml.writer
Size: 10473 bytes
Desc: not available
URL: <http://mail.xfce.org/pipermail/xfce4-dev/attachments/20030819/cc5c28ce/attachment.sxw>
-------------- next part --------------
Installing XFce4 on SuSE 8.2


Author:
Robert Follett, a Northwest bred Linux lover and a new transplant from
Portland, OR to Houston, TX.
email: sonic admin at earth link dot net


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 environments.

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 window manager.

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.


Dependencies
XFce4 is dependent on the following packages. If you do not have them currently installed on your system, install them via YaST from the SuSE CDs:

pkgconfig
gtk2 & gtk2-devel
glib & glib2-devel
libxml2 & libxml2-devel
libdbh

Optional dependencies :

librsvg (2.2.x or greater)
libstartup-notification (0.5 or greater)


Downloading
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 called Xfce4_files:

        mkdir ~/Xfce4_files/

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.

        cd ~/XFce4_files/
        ncftpget -R ftp://ftp.then-the-ftp-address-here


Installing RPMs
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


Installation Order
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.

dbh-1.0.14-3suse82.i386.rpm
libxfce4util-3.99.2-1suse82.i386.rpm
libxfce4util-devel-3.99.2-1suse82.i386.rpm
libxfcegui4-3.99.2-1suse82.i386.rpm
libxfcegui4-devel-3.99.2-1suse82.i386.rpm
libxfce4mcs-3.99.2-1suse82.i386.rpm
libxfce4mcs-devel-3.99.2-1suse82.i386.rpm
xfce-mcs-manager-3.99.2-1suse82.i386.rpm
xfce-mcs-manager-devel-3.99.2-1suse82.i386.rpm
xfce4-panel-3.99.2-1suse82.i386.rpm -- Required before installing the panel plugin RPMs.

The remaining packages can be installed in any order.

xfce4-mixer-3.99.2-1suse82.i386.rpm
gtk-xfce-engine-2.1.3-1suse82.i386.rpm
xfce-mcs-plugins-3.99.2-1suse82.i386.rpm
xfce-utils-3.99.2-1suse82.i386.rpm
xfce4-iconbox-3.99.2-1suse82.i386.rpm
xfce4-systray-3.99.2-1suse82.i386.rpm
xfce4-themes-3.99.2-1suse82.noarch.rpm
xfce4-toys-3.99.2-1suse82.i386.rpm
xfdesktop-3.99.2-1suse82.i386.rpm
xffm-3.99.2-1suse82.i386.rpm
xffm-icons-3.99.2-1suse82.i386.rpm
xfwm4-3.99.2-1suse82.i386.rpm
xfwm4-themes-3.99.2-1suse82.noarch.rpm


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.


Customization
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.

	mkdir ~/.xfce4
	cp /etc/xfce4/xinitrc ~/.xfce4
	cd ~/.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:

	SessionTypes=kde,gnome,blackbox,afterstep,fvwm2,mwm,twm,failsafe,

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 the comma):

	SessionTypes=kde,gnome,blackbox,afterstep,fvwm2,mwm,twm,failsafe,xfce4,

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.


Special Thanks
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.



More information about the Xfce4-dev mailing list