Ubuntu: LightDM Black Screen When Using SSD Workaround
Some Ubuntu users are reporting LightDM errors when using a SDD: about half the time when starting the computer, LightDM (the default Ubuntu display manager) doesn’t load correctly and only a black screen and a blinking command line cursor shows up. The issue isn’t limited to those who are using a SSD, but it’s a lot more frequent when booting Ubuntu from a solid-state drive.
I too am experiencing this issue with Ubuntu 12.10 (not tested on older Ubuntu versions because I didn’t have a SSD when I was using 12.04) and I’ve found two possible workarounds which have worked for me so I thought I’d share them with you, in case you’re experiencing the same issue.
It seems that the black screen with only a blinking cursor (though sometimes I’ve also seen the “System is running in low-graphics mode” error) issue occurs due to a race condition with LightDM and without any tweaks, the only way to load the desktop was to either switch to a tty (CTRL + ALT + F1), login and then restart Lightdm using the “sudo service lightdm restart” command or restart the computer. So here are two possible workarounds:
1. Start LightDM with a delay
One way around this is to start LightDM with a delay. My system, with Ubuntu 12.10 64bit installed on a SSD boots in ~14 seconds so adding a delay isn’t ideal, but it’s definitely better than having to manually start LightDM or restart the computer. For me, a 2 seconds delay was enough so it’s not that bad, however, some users have reported that a higher delay was required for them, so it depends on your system and SSD.
I must also mention that from what I’ve read, this workaround doesn’t always work, meaning that if before using it, LightDM wouldn’t start 50% of the time, using this workaround doesn’t necessary mean it will work 100% of the time. Since I’ve applied this tweak, LightDM has worked every time for me so this probably depends on the hardware / SSD and how fast the system boots.
To start LightDM with a delay, edit the /etc/init/lightdm.conf file as root with a text editor (I’ll be using Gedit below):gksu gedit /etc/init/lightdm.conf
And near the end of the file (line 47 for me under Ubuntu 12.10 with LightDM 1.4.0-0ubuntu2), above “exec lightdm”, add the following line and then save the file: sleep 2
“2” is the number of seconds used to delay starting LightDM. Like I was saying above, “2” was enough for me, but depending on your system, you might need to add a higher value.
This is how the end of the /etc/init/lightdm.conf file should look like after editing it:
2. Use GDM instead of LightDM
The issue did not occur for me while using GDM and booting Ubuntu from a SSD, so if you don’t want to add a delay to LightDM, you can install and use GDM instead.
To install GDM in Ubuntu, use the following command:
sudo apt-get install gdm
Or install it via Synaptic, Software Center, etc.
When installing GDM, you’ll be prompted to select the display manager: here, select GDM instead of LightDM.
If GDM was already installed but you were using LightDM, you can switch to GDM by using the following command:sudo dpkg-reconfigure gdm
And then select GDM when prompted.
More about switching between LightDM, GDM, etc. in Ubuntu, HERE.
Originally published at WebUpd8: Daily Ubuntu / Linux news and application reviews.