Ubuntu: The Hanging Purple Splash Screen of Doom

A couple weeks ago I upgraded my laptop to Ubuntu 10.04, Lucid Lynx.  (It’d previously been running Karmic.)  The upgrade went well.  Since this machine was not very critical to me for school, I had opted to do this one first.  This morning I decided to upgrade my desktop, now that I’m done with classes and have some flexibility.

The first half of the upgrade went fine, everything downloaded and whatnot.  However, as the update manager was actually installing a bunch of the packages I for one reason or another clicked on the workspace applet to go and do some stuff while the upgrade was taking place.  At this point the machine froze.

After a few minutes of trying to get the system to respond to respond I ended up using the Magic SysRq key to reboot.  The packages had been interrupted with about half of them installed.  When I had rebooted I noticed that the new purple (and terrible looking out of the box if you use proprietary nVidia drivers) splash screen seemed to go on forever.  I shrugged this off initially and switched to a virtual terminal (Ctrl-Alt-F1), figuring that this had to do with the interrupted upgrade.  I restarted the upgrade and let it finish, and reboot.  However, to my surprise the booting did not progress beyond the splash screen again.

I thought that this was the new boot splash program, Plymouth, at first.  I actually ended up disabling it,  but this did not stop anything – the boot messages displayed, and I was still not presented with a login screen.  I was able to still switch to a virtual terminal, and running startx got me my desktop.  Figuring it was a GDM problem, I tried typing sudo gdm at the virtual terminal.  This is what I got:

me@host:~$ sudo gdm
**
ERROR:gdm-settings-direct.c:157:gdm_settings_direct_get_boolean: assertion failed: (entry != NULL)
Aborted

After trying a few different things, I ended up reinstalling GDM, making sure to purge (so that the config files would be wiped):

sudo aptitude purge gdm

In doing this it complained that the packages gdm-guest-session and ubuntu-desktop depended on GDM, and thus would be removed.  I went ahead and agreed, and GDM was nuked.  Next, to reinstall, I did this:

sudo aptitude install gdm gdm-guest-session ubuntu-desktop

It complained again about some empathy-related packages being broken, and wanted to remove some.  I don’t use Empathy for messaging (I prefer Pigeon), so I just went ahead and did this.  Now, starting GDM from the command line worked.  Rebooting brought me to the graphical login prompt.

Lucid is pretty nice, and I would encourage you to upgrade.  It’s very convenient on modern GNU/Linux distros to be able to upgrade by just clicking a button, but be warned that things can go wrong.  I advise not messing with your machine while the upgrade is taking place and, if possible, upgrading on a non-critical machine first to see how it will go.  Keeping an eye on the forums/mailing lists isn’t a bad idea either, as is waiting a few days after the new version comes out.  And of course, remember to back up any data you care about beforehand :).