After typing in my password in lightdm, I get a blank screen and then I'm returned to lightdm. I'm unable to find any obvious problems in /var/log/lightdm or /var/log/Xorg.0.log (though I'm happy to post them if they would be helpful).

Current workaround (but imperfect): I can start X from a console but when I do this, I run into another problem which is that sound is unusable (despite attempts to restart pulseaudio and mpd). I suspect that the original lightdm is locking the soundcard in some way so if I can fix the lightdm login issue, it will fix the sound problem.

One other datapoint: From lightdm, I can log in as a different user (one that's basically in default state) and everything works fine -- Xfce starts up and sound works for them.

Does anyone have an idea of how to debug the lightdm problem?


Tried some of the actions from Ubuntu gets stuck in a login loop -- my .Xauthority, .ICEauthority, and /tmp permissions don't seem to be the problem:

% ls -la ~/.Xauthority
-rw------- 1 dmcc dmcc 99 Apr 15 21:58 /home/dmcc/.Xauthority
% ls -la ~/.ICEauthority 
-rw------- 1 dmcc dmcc 10584 Apr 15 22:00 /home/dmcc/.ICEauthority
% ls -ld /tmp/        
drwxrwxrwt 6 root root 20480 Apr 15 22:48 /tmp/

I also tried dpkg-reconfigure lightdm (no change).

Update 2:

  1. Tried reinstalling lightdm with apt-get purge lightdm and apt-get install lightdm (problem remains).
  2. Also tried deleting .Xauthority.
  3. I've straced the root lightdm process (once for my user logging in, once for the dummy user logging in) but it doesn't reveal much file system access to paths in the users home directories.

tl;dr: My specific problem was that at one point I had put exec /bin/zsh in ~/.bashrc (no memory of why I did this). strace was not able to track this down but fatrace was since it could trace accesses for the whole system, not just a process subtree.

Probably boring details: I was pretty sure that my issue had to do with something in my primary users home directory since I had another user who could login fine. From my straceing, I suspected that the process doing the file access was not in the same subtree as lightdm since I had straced it recursively. So, I looked for ways to trace my whole system to try to figure out which filesystem accesses were different when each user was logging in.

I found How do I log file system read/writes by filename in Linux? and How do I strace the whole system? First, I tried systemtap but this got stuck on an internal error in ld. Eventually, I found fatrace. Like strace, this didn't include much access to my home directory, but it did have this (perfectly normal) line:

lightdm-session(11474): O /home/dmcc/.bashrc

Once I looked into .bashrc, I saw where I had once messed with it. When I commented out the exec statement, login succeeded. It remains unclear to me why I didn't run into this earlier or why my .bashrc should matter when starting X11 even if my default shell is zsh.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.