From 0057dc6436936313a16b25b4815446f1e563ad09 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 13 Oct 2026 16:00:00 +0200 Subject: [PATCH 1/2] etc/pam.d/login: Register sessions with systemd-logind Commit 2c83b58 (etc/pam.d: Remove obsolete pam_ck_connector (ConsoleKit)) removed the ConsoleKit connector, but did not add its successor pam_systemd. So a console login on a virtual terminal is not registered with systemd-logind: it gets no session, no seat, and no device ACLs. Compositors using libseat (for example sway) therefore cannot open the DRM and input devices, when started from the console. Add pam_systemd as optional session module after pam_loginuid, like already done in `etc/pam.d/sshd`, `etc/pam.d/system-auth`, and `etc/pam.d/lightdm`. Tested on *maleficent* with: env XDG_RUNTIME_DIR=/tmp/cosmic-test-$USER XDG_CURRENT_DESKTOP=COSMIC XDG_SESSION_TYPE=wayland dbus-run-session -- cosmic-session `loginctl session-status` on a VT login shows `Seat: seat0`. Assisted-by: claude-opus-5.5 (Claude Code) --- etc/pam.d/login | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/pam.d/login b/etc/pam.d/login index cee1d57e..89443565 100644 --- a/etc/pam.d/login +++ b/etc/pam.d/login @@ -13,3 +13,4 @@ session optional pam_lastlog.so session required pam_unix.so password required pam_unix.so md5 shadow session required pam_loginuid.so +session optional pam_systemd.so From 9d79336faa9edc7172ca01e14fa4cc9192e92268 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 14 Oct 2026 07:43:11 +0200 Subject: [PATCH 2/2] etc/pam.d/login: Fix alignment --- etc/pam.d/login | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/pam.d/login b/etc/pam.d/login index 89443565..f658d42d 100644 --- a/etc/pam.d/login +++ b/etc/pam.d/login @@ -12,5 +12,5 @@ session required pam_limits.so session optional pam_lastlog.so session required pam_unix.so password required pam_unix.so md5 shadow -session required pam_loginuid.so +session required pam_loginuid.so session optional pam_systemd.so