I’ve uninstalled and reinstalled nix recently and it had some very weird stuff going on. My problem is the following :
Whenever i boot my computer, i’m taken straight to the “create a new user page” and i cannot log into my “sebastien” user
What i’ve tried so far :
- Create a “debug” user and ls /home : both “debug” and “sebastien” show up
- CTRL+ALT+F2 on the “new user page” : i am able to log into “sebastien” and everything works as expected in ugly terminal only
- running “startx” while in “ugly-terminal” mode (see previous) : my “sebastien” session starts just fine !
- Go into the settings UI : both of my users (“debug” and “sebastien” show up)
- Once the “debug” user was created, go in the login screen, “not in the list” and log in as “sebastien” : i’m able to login just fine
- I looked at /var/lib/AccountsService/users/sebastien : SystemAccount is set to false (See User not visible on lock screen and in the settings menu)
- Look in /etc/passwd : user “sebastien” is present (sebastien:x:1000:1000:Sébastien:/home/sebastien/:/home/sebastien/.nix-profile/bin/zsh)
Expected behavior :
The user “sebastien” (which is one i originally created with my fedora install) should show up in the user list
i’m using Fedora 36 with KDE desktop (Although the gnome session manager shows up when booting)
Many thanks for you help
if you change your shell from:
does it show up?
sudo lchsh <user>
The command ran successfully but i can’t see the user on the login page
If i log in manually (with the “not in the list” option), the shell was sucessfully changed to bash
There should be a file located under the users home directory that tells gnome you are not a new user.
/home/sebastien/.config/gnome-initial-setup-done which contains
yes as the only content.
There is probably a similar file for kde.
I am not sure of the mechanism used to select user names for the login screen, and it sounds like a problem with that mechanism is what may have happened for you.
My understanding has been that it looks for all UIDs >= 1000 and adds those user names to the login screen.
can you look at:
systemctl status display-manager.service
gnome-initial-setup-done does exist and it contains “yes”
I looked at the kde files inside .config and none seem to describe the same behavior (it’s mostly colors, and UI configuration files).
But since i get the gnome login screen at startup, it may be related to gnome. My understanding is that since gnome doesn’t find any user in the list, it creates a new one.
When i created the new “debug” one, it does appear in the list afterwards.
The UID is a good idea, but “sebastien” is 1000 already, which should work
sure, here it is :
❯ systemctl status display-manager.service
● gdm.service - GNOME Display Manager
Loaded: loaded (/usr/lib/systemd/system/gdm.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2022-10-26 07:18:22 CEST; 3h 11min ago
Main PID: 1319 (gdm)
Tasks: 3 (limit: 19076)
└─ 1319 /usr/sbin/gdm
oct 26 07:18:22 PCSebastien systemd: Starting gdm.service - GNOME Display Manager...
oct 26 07:18:22 PCSebastien systemd: Started gdm.service - GNOME Display Manager.
oct 26 07:18:44 PCSebastien gdm-password]: gkr-pam: unable to locate daemon control file
oct 26 07:18:44 PCSebastien gdm-password]: gkr-pam: stashed password to try later in open session
oct 26 07:18:56 PCSebastien gdm: Gdm: Child process -1392 was already dead.
Note that i’ve
sudo lchsh back to zsh and i was on KDE desktop when running the command
Out of curiosity does the same thing happen on sddm?
sudo dnf install sddm
systemctl disable gdm.service
systemctl enable sddm.service
It worked ! SDDM prompts for a user + password, i entered mine and it remembered it after a reboot.
I also tried setting the “auto-connect” feature in the settings and that worked as well.
I don’t think the base problem is fixed (the fact that the user doesn’t show up in gdm) but that’s a perfectly acceptable workaround for me
Thank you very much for the help