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