I often configure my Ubuntu desktops to auto login if they are intended for single user usage. However, this was recently a cause for much headaches when I decided to update my installation from Maverick Meerkat to the then newly released, 11.04 Natty Narwhal.

What a disaster.

As the desktop I installed on was pretty old, it didn’t meet the necessary hardware requirements to run Unity, and in fact, couldn’t even successfully run Ubuntu with visual effects without falling over! Now although Natty Narwhal does a check on login to make sure you can run Unity, it does default to Ubuntu (classic) without giving you any further choice in the matter, a problem because my automatically logged in desktop could no longer function as no menu or window interface actually worked any more!

To get around this I would need to change the login setting to “Ubuntu Classic (with no effects)”, but seeing as this could only be done from the login screen, I would first have to disable automatic login via a terminal, which I could at least still reach through the standard Alt+Ctrl+F1 combination.

Right, so after logging into the terminal as the auto-login user craig, I could then edit the all important gdm custom.conf file like so:

sudo nano /etc/gdm/custom.conf

Once inside, lookout for the AutomaticLoginEnable key and set its value to false.

Your file should now look something like this:

[daemon] 
AutomaticLoginEnable=false 
AutomaticLogin=craig 
TimedLoginEnable=false 
TimedLogin=craig 
TimedLoginDelay=10 
DefaultSession=gnome-2d 

Save and restart, happy in the knowledge that your machine will no longer attempt to automatically login, giving you the necessary chance to switch the shell setting at your leisure! :)