Missing /etc/pam.d/cosmic-greeter

Description:

At least on my machine, cosmic-greeter won't execute without the accompanying PAM file in /etc/pam.d/cosmic-greeter.

This is due to /etc/greetd/cosmic-greeter.toml containing the following configuration:

[terminal]
vt = "1"

[general]
service = "cosmic-greeter"

[default_session]
command = "cosmic-comp systemd-cat -t cosmic-greeter cosmic-greeter"
user = "cosmic-greeter"

Note that service (for all I know the PAM service) is set to cosmic-greeter, but no /etc/pam.d/cosmic-greeter is there.

There is an example PAM file for Debian in the COSMIC repo but it doesn't work out-of-the-box. The @include statement is deprecated and unavailable on Arch.

This works in my case, taken from the Arch wiki to include support for GNOME keyring:

#%PAM-1.0
auth       required     pam_securetty.so
auth       requisite    pam_nologin.so
auth       include      system-local-login
auth       optional     pam_gnome_keyring.so
account    include      system-local-login
session    include      system-local-login
session    optional     pam_gnome_keyring.so auto_start

Additional info:

  • package version(s): cosmic-greeter 1.0.0.alpha.7-1

Steps to reproduce:

  1. Install cosmic-greeter
  2. Enable with systemctl enable cosmic-greeter.
  3. Reboot the computer
  4. Remain stuck in systemd init logs