Longtime Fedora Silverblue user here, who recently jumped over to Kinoite (Atomic KDE). I typically enable autologin on my display managers because I use whole disk encryption and already need to enter my passphrase to decrypt and start the OS.
I discovered pretty quickly that SDDM’s autologin feature isn’t working under Fedora 40. LightDM also failed to start under Wayland on F40, regardless of which greeter I tried.
Long story short, I opted to use GDM since I knew its automatic login feature worked fine under Wayland. It’s worth noting that KDE has it’s own lockscreen mechanism, so you won’t even see GDM unless you manually logout of your session. To try this yourself:
-
Install GDM:
rpm-ostree install --apply-live gdm
-
Disable SDDM:
sudo systemctl disable sddm
-
Enable GDM:
sudo systemctl enable gdm
-
Reboot and select the Plasma session before logging in; this is required only once in order to establish to the default, otherwise GDM will load a broken GNOME session when autologin is enabled
-
Edit
/etc/gdm/custom.conf
and add the following under[
(replacing ]username
with your own):AutomaticLoginEnable = true AutomaticLogin = username
Voila! You will no longer need to enter your user credentials before loading the desktop.
If you want to interact as little as possible with the display manager, try using lightdm, it will also autologin and it’s lighter than gdm.
That was my first choice alternative, but I had no success with any of the available LightDM greeters under Fedora 40 Kinoite (autologin, slick or gtk). They all resulted in a “Failed to start seat: seat0” error, even after ensuring
logind-check-graphical=true
was set. I may give it another go when I have the time.Oh I just installed lightdm in arch, disabled whatever I had, enables that service and activated the autologin by writing my username in some files I don’t remember anymore. And that was it.
Due to some hardware issues I had I even had no service enabled and used to start it manually from a non GUI environment every time I logged on, and it worked fine. Now it’s properly enabled though.