De-Gnoming

In the war between Gnome and KDE, I choose to despise them both. As a result, I spend most of my time in a simple and uncluttered X session I start with my own ~/.xsession file, and I use the fvwm window manager (which does what I tell it to, not what Gnome or KDE thinks is best for me).

Here is a tarball with a sample of my fvwm configuration related files. It is not complete, but it gives you an idea of what I'm doing.

Note that newer version of Fedora make things difficult if you want to run your own ~/.xsession file to start your session. First you need to yum install xorg-x11-xinit-session, then you need to notice the obscure pull down menu at the very bottom of the screen that only appears after you select a user, but before you type your password and tell it to use a custom script for login.

Naturally, I still need to sometimes run apps from the Gnome or KDE world, so I can't completely ignore all of the cruft they require.

What follows are some choice excerpts from the ~/.xsession file I use to start my fvwm session.

killall -9 gnome-keyring-daemon

New in Fedora 8, the gnome-keyring-daemon is apparently started on login by gdm. I spent a little while trying to find out if there was a way to make it stop, then gave up, and I just kill it off as almost the first thing in my session startup.

if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]
then
   echo .xsession starting dbus
   eval `dbus-launch --sh-syntax --exit-with-session`
else
   echo dbus already started
fi

There is no way you can run anything of note these days without a dbus daemon already going. The above code gets dbus started if it isn't already running.

/usr/libexec/gnome-settings-daemon &
sleep 5
xrdb -all -remove
xrdb -load $HOME/.Xdefaults

It is an annoying fact that no GTK programs will render fonts readably unless they have access to the custom font settings you can establish by running gnome-appearance-properties (in Fedora 8 or later) or gnome-font-properties (in earlier Fedora versions). Unfortunately they can't just read these settings from some file, apparently they must make contact with the gnome-settings-daemon to operate properly, so it is essential to get it started.

KDE apps aren't as picky about fonts. You can run kcontrol to bring up the KDE control center, and make font settings, and they will stick in KDE apps without needing to manually startup a session wide daemon first.

Unfortunately, the gnome-settings-daemon doesn't stop at providing font rendering info. It also does things like load annoying X resources into your server's resource database. This makes all old legacy Xt and Motif apps look like hell, so the above code gives the daemon a few seconds to get started, then flushes the crap it just loaded into the resource database and loads my own resources (which I actually want) instead.

The gnome-settings-daemon will also start the screen saver nonsense unless you run gconf-editor and disable the screen saver startup.

Another good thing to do in gconf-editor is disable the drawing of the desktop, otherwise whatever you do in your own startup script to set the background will be overwritten when gnome-settings-daemon starts up.

In newer versions of gnome-settings-daemon the hard coded crap like the X resource loading seems to have been moved to plugins which, if you poke around enough, you can find flags for in gconf-editor and disable them, so perhaps the xrdb nonsense above isn't necessary.

Page last modified Fri Sep 2 10:20:54 2011