Lost and Found: Gnome Splash Icons
The splash screen is that box that appears just after you log in, usually showing a logo of some kind. As each component of the desktop loads, an icon is displayed. Here's the current Gnome splash graphic on my Gentoo Linux system:
Along the bottom of the splash window, the computer puts up status icons as each component of the desktop comes on-line, like these:
The Problem
There were icons missing from my system. Some of the icons on the splash screen were replaced with this ugly beast:
I couldn't find any documentation on this, so on with the Sherlock
Holmes cap and off to investigate. First, I needed to know which
program was displaying the splash icons. I prowled around in
/usr/share/pixmaps
until I found
/usr/share/pixmaps/splash/gnome-splash.png
.
This next spell uses a brute force method, so if you are squeamish,
avert your eyes. The idea is to scan through a bunch of executable
programs to find a string that matches the name of my splash image
file. The grep -q
makes the search quiet by surpressing
output of the matches, since we only care about whether a match was
found. Instead, I take advantage of the exit status of
grep
to print out the name of the splash image program.
cd /usr/bin for PROG in gnome* do strings $PROG | grep -q gnome-splash.png && echo $PROG done
Eureka! "gnome-session" is output, and is therefore our culprit.
The Solution
Alas, "gnome-session" isn't documented in the Gnome help files. I must read the source code. This is another one of those times when Free Software empowers the user. The problem rests with a file called "splash-widget.c". It looks in/usr/share/icons/gnome/48x48/apps
for the icons to display
on the splash screen. When I looked in that directory, sure enough,
there were no icons for my programs (sound-properties
and
gconfd-2
to be precise).
Now the solution is easy. Using nautilus
, I scanned
through /usr/share/pixmaps
to find appropriate icons for
those two missing applications. When I found them, I (as root)
copied them into the proper location:
cp /usr/share/pixmaps/mixer/volume-max.png /usr/share/icons/gnome/48x48/apps/sound-properties.png cp /usr/share/pixmaps/gnome-util.png /usr/share/icons/gnome/48x48/apps/gconfd-2.pngIt turns out that gnome-session cannot follow symlinks, so you must actually copy the files.
Ah, that's better! As an added benefit to my splash screen looking neat and tidy, it also doesn't wait for me to click it to close - it closes shortly after the last icon is displayed.
Share and enjoy!
Copyright 2004 by Hal Eisen