Sunday, October 15, 2006

Fixing GDM Problem

In the last few months, i couldn't directly login into my desktop using GDM. It always stuck at loading GDM itself and i had to turn it off to restart the system. So i changed my runlevel into text mode and then i start the XWindow by issuing startx and it worked like charm. This situation is ok for me, as most of time, i need text-mode login when i want to upgrade some packages (mostly KDE and XOrg) that need to be done in text-mode and no XWindow is running.

Last night, i had some spare time and i tried to look at KDE Control Center and there's an option to set the Login Manager, so i modified it, but when i want to load GDM again, it still stucked, so i tried to look at /etc/rc.d/rc.4. It has an entry of this:
# Tell the viewers what's going to happen...
echo "Starting up X11 session manager..."

# Try to use GNOME's gdm session manager. This comes first because if
# gdm is on the machine then the user probably installed it and wants
# to use it by default:
if [ -x /usr/bin/gdm ]; then
exec /usr/bin/gdm -nodaemon

# Someone thought that gdm looked prettier in /usr/sbin,
# so look there, too:
if [ -x /usr/sbin/gdm ]; then
exec /usr/sbin/gdm -nodaemon

# Not there? OK, try to use KDE's kdm session manager:
if [ -x /opt/kde/bin/kdm ]; then
exec /opt/kde/bin/kdm -nodaemon

# If all you have is XDM, I guess it will have to do:
if [ -x /usr/X11R6/bin/xdm ]; then
exec /usr/X11R6/bin/xdm -nodaemon

So, i suspect that the gdm in /usr/bin/gdm is broken, so i tried to remove it's execute permission and try running /usr/sbin/gdm, but it won't load because /usr/sbin/gdm didn't exist. That's OK. So i pick the third option, which is KDM, KDE's default Login Manager which can be configured in the KDE Control Panel. IT WORKS!!!!. I even tried xdm, but it has an ugly interface, so i choose KDM instead (well, i think GDM has the most sophisticated default interface when being executed, but it didn't work anymore. I don't know why. Maybe because GNOME is not supported again after Slackware 10.1, and my base system is 10.1, so i still had GNOME running on my laptop, but never used).

Finally i managed to fix one of my biggest problem in the last 2-3 months.