Stuck in login loop

Rough summary:

  • My computer froze completely for some unknown reason
  • I rebooted via hardware switch
  • fsck was complaining about not being able to automatically fix the file system
  • I ran fsck (using the recommended command) and just answered with default answers to every question
  • I then issued ‘reboot’ command
  • I got sent to the XFCE login screen
  • I typed my password
  • Then, some black screen is briefly shown, no text, though, then, I am returned to the login screen. (But, no yellow notification is shown about an incorrect password, and I’m quite sure the password is correct.)

And now I’m stuck in an endless loop. :unamused: Please help.

I can open a terminal window using Ctrl + Alt + F2, where I can login with the same credentials. There is a message:

dingo: /home/dingo: change directory failed: No such file or directory

Logging in with home = “/”

Using systemctl I’ve checked what the user-[pid].service services are doing. They are active. One of them was saying it can’t create dirs /home/[username]/Documents and similar folders. If I look inside /home, I don’t see my usual [username] folder anymore. Now I’m a bit worried. I have backups on another drive, but would like to understand what’s going on before I do anything drastic…

systemctl status lightdm.service
systemd[1]: Starting Light Display Manager…
systemd[1]: Started Light Display Manager.
lightdm[618]: pam_succeed_if(lightdm-autologin:auth): requirement “user ingroup autologin” was met by user “dingo”
lightdm[618]: gkr-pam: no password is available for user
lightdm[618]: pam-systemd-home(lightdm-autologin:account): systemd-homed is not available: Unit dbus-org.freedesktop.home1.service not found.
lightdm[618]: pam_unix(lightdm-autologin:session): session opened for user dingo (pid=1000) by (uid=0)
lightdm[618]: pam_env(lightdm-autologin:session): deprecated reading of user environment enabled
lightdm[618]: gkr-pam: gnome-keyring-daemon started properly
lightdm[618]: Error writing X authority: Failed to open X authority /home/dingo/.Xauthority: No such file or directory
lightdm[687] pam_unix(lightdm-greeter:session): session opened for user lightdm(uid=620) by (uid=0)

I’ve checked, and user dingo is part of group autologin. So, I’m not very concerned with the message

pam_succeed_if(lightdm-autologin:auth): requirement “user ingroup autologin” was met by user “dingo”

However, I’m not sure the message

gkr-pam: no password is available for user

is very reassuring…

Here’s what I’ve been able to find out. This is the code that generates the message:

/* Look up the password */
ret = pam_get_item (ph, PAM_AUTHTOK, (const void**)&password);
if (ret != PAM_SUCCESS || password == NULL) {
	if (ret == PAM_SUCCESS)
		syslog (GKR_LOG_WARN, "gkr-pam: no password is available for user");

From this, we can infer that pam_get_item returned PAM_SUCCESS, and therefore password is indeed NULL. What I haven’t been able to figure out, is why gkr-pam thinks my password is NULL?

If the password for dingo is NULL, then why did the terminal allow me to login with the usual password for dingo?

gnome-keyring seems to be calling pam_get_item() (manpage, code), which is a method/function? that is part of linux-pam.

I’m not sure where PAM is looking for the password? Is it in the /etc/passwd file?

An additional thought: I think I set up Manjaro so that I usually get logged in automatically. Maybe that’s why gnome-keyring isn’t seeing a password. If that’s ‘normal’, then my only remaining concern is why my user folder isn’t found/mounted/initialized…

I was able to login as root. Checking the contents of /home with ls -la, the folder appears to be completely empty.

This “/home” is the home of root.
Your “/home” should be in “/”
(wrong path)

Try Ctrl+Alt+F2 to login to tty with your username and password

sudo lightdm