Fedora 9 GDM Theme



So, you want to change the theme or background for GDM in Fedora 9 and can't find gdmsetup? Since GDM is currently being undergoing a rewrite, some functionality from the old version is temporarily missing. You might also find some changes. For instance, gdmsetup no longer exists.

bash$ gdmsetup
-bash: gdmsetup: command not found

The New Way

You can change various GDM parameters as described in the GDM Configuration page. In short, the GDM backend is configured using files in /etc/gdm and the front end uses GConf for most settings. Unfortunately, there is no option (yet!) to change the GDM theme or background.

bash$ ls /etc/gdm/
custom.conf gdm.schemas Init PostLogin PostSession PreSession Xsession
bash$ gconf-editor

Change your GDM Background

Fedora 9 currently displays as a GDM menu with a background that changes depending on the time of day. The XML governing the GDM 2.22 backgrounds and their timing is /usr/share/backgrounds/waves/waves.xml. To change your GDM background, you will need to edit this XML file. I suggest you backup the entire 'waves' folder first.

bash# cd /usr/share/backgrounds
bash# cp -a waves waves.orig
bash# cd waves && vim waves.xml

With a custom background installed in /home/foo/background.jpg, the XML can be trimmed to just this:

<background>
<static>
<!-- 24 Hours -->
<duration>86400.00</duration>
<file>
    <size width="800" height="480">/home/foo/background.jpg</size>
    <size width="1280" height="1024">/home/foo/background.jpg</size>
    <size width="1600" height="1200">/home/foo/background.jpg</size>
    <size width="1920" height="1200">/home/foo/background.jpg</size>
</file>
</static>
</background>

Save the file, and restart GDM by logging out of Gnome.

Alternate One Liner

Alternately, Todd Zullinger showed me how to change the background using gconftool-2.
From: https://www.redhat.com/archives/fedora-list/2008-June/msg00323.html

su -c 'gconftool-2 --direct --config-source xml:readwrite:/var/lib/gdm/.gconf -s --type string /desktop/gnome/background/picture_filename /home/foo/background.jpg' gdm