Summary: How to fix the gnome startup issues
After struggling with about 5 boxes with this issues, plus reading other
people having the same issues, I decided to summarized what to do to solve
the infamous Gnome Startup Issue (where it just sits at the splash screen
forever). Read on:
You should take the steps in this order to make it work. Of course, you
should try to switch to a TTY ( CTRL+ALT+F1) and check what .xsession-errors
says to get a hint of why the splash screen it's hanging forever. After that
then try this (hopefully in this order). I can assure you that this will
solve your problems:
1. make sure that there is no /etc/gtk-2.0/gtkrc file. And if there is one,
make sure it's pointing to the right place. i.e. /etc/gtk-2.0/gtkrc ->
/usr/shared/themes/Nuvola/gtk-2.0/gtkrc. I found the hard way that this file
was pointing to a gtk1.x theme and it was causing the splash screen to just
sit there forever (crashing gnome-session and gnome-panel).
2. rm -fr ~/.gnome* ~/.gconf* ~/.gtk* ~/.icons* ~/.themes*. In other words,
make sure that your gnome settings are reseted before login in. The best
thing to try is to create a dummy user with an empty $HOME and login as that
user to see if that helps. That will save you a lot of hassle.
3. make sure there is no .Xdefaults in your $HOME, or any dot file that sets
session variables/parameters for X. Things like: .Xmodmap, .xsession,
.x-anything. This is the issue for the latest Knoppix distro (cdrom) that it
ships with Xfree86 4.3.x and it seems not to like a lot of those old files
laying from old home directories. The safest thing to do, of course, is to
move all files from $HOME to $HOME/old and then restart gdm/xdm/kdm or
whatever you use to start x. Note that starting X from the console sometimes
avoids this problems "startx", maybe because they skip gnome-session
altogether? go figure...
4. Turn off gconfd, oaf-anything, and all other processes that might be
running under your username from a TTY. gconftool-2 --shutdown will help,
but do "ps aux | grep username" to see what processes if any are running
under your username and kill those (killall -9 process). Make sure that you
re-check that your $HOME dot files are not there before restarting the X
server|gdm|xdm or whatever you use.
5. After making sure that you do have the latest gnome-2.4 packages from
"Sid" (dpkg --list | grep 2.4 | egrep ^i), if things still don't work after
doing all of the things said above, then downgrading from xserver-xfree86
4.3.x to the "unstable" current versions 4.2.x will fix your problems :-) I
have seen some computers with different drivers that work with
Xfree4.3+gnome-2.4, but so far the computers that use "nv" or "nvidia"
drivers hang at the splash screen for whatever reason. When you downgrade to
xserver-xfree86 4.2, make sure that you set your mouse protocol in
/etc/X11/Xfree86-4 file to "PS/2" or "IMPS/2" and not "auto" as this will
prevent xserver-xfree86 4.2 from launching (or will launch and your mouse
won't work).
If things still don't work, then use KDE :-) nah, just kidding. But, that's
what I have experienced so far to be the culprit of the problem (especially
#1, that infamous gtkrc file laying around from some badly broken theme or a
gtk+1.x theme).
I hope this will help somebody out there and that this will be read over and
over for generations to come... :-D
p.s. esound (that piece of @#$@%) have problems when you set it to
auto_launch and a user have "Sound Server Startup" check in his/her
Preferences for sound. i.e. when /etc/esound/esd.conf is:
[esd]
auto_spawn=1
spawn_options=-terminate -nobeeps -as 5
spawn_wait_ms=100
To solve this, I usually set a "mandatory" option for all users to not allow
the sound server to start as they login and set the auto_spawn to 1 and -as
to 3 (seconds); in other words, the esd daemon should auto spawn when
something needs sound, but quit after 3 seconds of not being used (like when
users logout and login as a different user, they won't see a stupid message
saying that the esound server did something stupid). The command to set the
mandatory setting to not start the sound server is, plus a whole bunch of
other things that you might like to lock up in Gnome (if you have multiple
workstations that you are responsible for) (you can get an extensibly
customizable script from
ftp://www.latinomixed.com/downloads/tied_gnome.sh.gz):
GCONFTOOL=gconftool-2
set_bool_mandatory()
{
# @arg $1 path
# @arg $2 bool (true|false)
$GCONFTOOL --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
--type bool --set $1 "$2"
if [ $? != 0 ]; then
echo "Setting $1 failed"
fi
}
set_bool_defaults()
{
# @arg $1 path
# @arg $2 bool (true|false)
$GCONFTOOL --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
--type bool --set $1 "$2"
if [ $? != 0 ]; then
echo "Setting $1 failed"
fi
}
unset_mandatory()
{
# @arg $1 path
$GCONFTOOL --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
--unset $1
if [ $? != 0 ]; then
echo "Unsetting $1 failed"
fi
}
unset_mandatory "/desktop/gnome/sound/event_sounds"
set_bool_mandatory "/desktop/gnome/sound/enable_esd" "true"
# the following line turns on the sound events by default to all users
# so that they can turn it off if they could care less about this
set_bool_defaults "/desktop/gnome/sound/event_sounds" "true"
Again, I hope this helps somebody... Cheers!
----)(-----
Luis Mondesi
System Administrator
LatinoMixed.com
lemsx1@hotmail.com
"...The Mac does this so smoothly, it feels like an extension of your mind."
- Paula Speer, MacWorld Magazine 2003-04
Public signature: http://www.latinomixed.com/lems1/public-a.asc
_________________________________________________________________
MSN Messenger : discutez en direct avec vos amis !
http://www.msn.fr/msger/default.asp
Reply to: