GNOME Shell checks at startup for the org.gnome.DisplayManager service on the system D-Bus. If that name is not owned, gnome-shell hard-disables its built-in lock screen and shows a warning to the user. This is a deliberate architectural dependency: when unlocking, gnome-shell sends credentials back to GDM over D-Bus for PAM verification rather than handling authentication itself. No other display manager (LightDM, SDDM, greetd) implements this interface, so the lock screen is broken under all of them.
Options:
Option A -- Implement org.gnome.DisplayManager in atrium. Atrium registers the service on the system bus and implements the Manager and Session sub-interfaces, wiring credential verification calls from gnome-shell to PAM. This gives full, native GNOME lock screen support but requires reverse-engineering an undocumented GDM interface and adds significant new code.
Option B (workaround) -- Use an alternative screen locker. Configure e.g. swaylock / hyprlock to respond to logind's Lock signal. This requires user configuration and leaves the "screen lock disabled" warning in place, but is the proven approach used by greetd-based setups today.
GNOME Shell checks at startup for the
org.gnome.DisplayManagerservice on the system D-Bus. If that name is not owned, gnome-shell hard-disables its built-in lock screen and shows a warning to the user. This is a deliberate architectural dependency: when unlocking, gnome-shell sends credentials back to GDM over D-Bus for PAM verification rather than handling authentication itself. No other display manager (LightDM, SDDM, greetd) implements this interface, so the lock screen is broken under all of them.Options:
Option A -- Implement
org.gnome.DisplayManagerin atrium. Atrium registers the service on the system bus and implements the Manager and Session sub-interfaces, wiring credential verification calls from gnome-shell to PAM. This gives full, native GNOME lock screen support but requires reverse-engineering an undocumented GDM interface and adds significant new code.Option B (workaround) -- Use an alternative screen locker. Configure e.g. swaylock / hyprlock to respond to logind's Lock signal. This requires user configuration and leaves the "screen lock disabled" warning in place, but is the proven approach used by greetd-based setups today.