Ubuntu – Unable to start lightdm but can startx

lightdmxorgxubuntu

I am trying to make my own Live USB and I have successfully generated an ISO file with a newly installed, configured and customized Xubuntu 12.04 LTS installation.

My problem is that, no matter I boot the ISO in VirtualBox or in GRUB with loopback, it just cannot start the lightdm.

When booting, I can see the log messages on the screen, it stucks at Stopping System V compablities or Configuring Network security. And tty7 is frozen… If I switch to tty1, I can get a logged-in shell as ubuntu@ubuntu.

The weird thing is: When I type sudo start lightdm or just sudo lightdm, it will switch to tty7 and the screen flashes. Then nothing happened. Return to tty1 and I can see lightdm running, process xxxx. But the process does not exist. It was just crashed immediately I think. (That's why the screen flashes.)

However, when I type startx, I can get into the desktop! That's amazing for me. I am not very clear about the relationship between X Server and Display Manager, but I think lightdm is running when I see the desktop!

Then, what's wrong with sudo start lightdm? I use this command every time I power on my laptop since I have a text parameter added in grub.cfg. It never "crashed immediately".

I need to use sudo start lightdm because it gets me into "Xubuntu Session" instead of "Xfce Session", the prior is more beautiful…

Could anyone help?

Best Answer

Well, I figured out why according to /var/log/lightdm/lightdm.log:

DEBUG: Failed to load session file /usr/share/xsessions/ubuntu.desktop
DEBUG: Session 1800: Sending SIGTERM
Started seesion 2020 with service 'lightdm', username 'lightdm'
DEBUG: Session 2020 authentication complete with return value 0: Success
DEBUG: Greeter authorized
DEBUG: Logging to /var/log/lightdm/x-0-greeter.log
DEUBG: Failed to load session file /usr/share/xgreeters/default.desktop: No such file or directory
DEBUG: Greeter failed to start
DEBUG: Stopping display

There was something wrong with /etc/lightdm/lightdm.conf. I changed it to:

[SeatDefaults]
user-session=xubuntu
greeter-session=lightdm-gtk-greeter
autologin-user=ubuntu
autologin-timeout=0

This forced it to use xubuntu.desktop and lightdm-gtk-greeter.desktop instead of ubuntu.desktop and default.desktop, which do not exist and will cause failure.

Related Question