[solved] Gnome-keyring-daemon funktioniert per Zufall

in /etc/pam.d/lightdm wird der gnome-keyring-daemon aufgerufen.

cat /etc/pam.d/lightdm | grep gnome
auth       optional    pam_gnome_keyring.so
session    optional    pam_gnome_keyring.so auto_start

in ~/.config/sway/config rufe ich den den polkit-gnome-authentication-agent-1 auf.

exec  --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &

Beides läuft …

ps ax | grep gnome
1127 ?        Sl     0:00 /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
1313 ?        Sl     0:00 /usr/lib/at-spi2-registryd --use-gnome-session
8647 ?        SLl    0:00 /usr/bin/gnome-keyring-daemon --start --foreground --components=secrets

und funktioniert … manchmal.

Im Anmelde-Keyring stehen nur zwei Programme: Chromium und Nextcloud. Mal muss ich beim Aufruf das Anmeldepasswort angeben, mal nicht. Bei meinen Versuchen habe ich es bisher nicht geschafft den Fehler zu provozieren. Doch irgendwann ploppt dann doch die Passwortabfrage auf.

Da beide Programme nur selten benutzt werden, kann ich nur vermuten, dass der geöffnete Keyring bei Nichtbenutzung irgendwann geschlossen wird.

Kann jemand helfen?

Vielen Dank

Meine Analyse, dass der gnome-keyring-daemon liefe, war falsch. Er wird zwar gestartet, …

1049  0.0  0.0 162760  3864 ?        Sl   09:35   0:00 /usr/bin/gnome-keyring-daemon --daemonize --login

… beendet sich aber nach etwa 2 Minuten von selbst.

ps ax | grep gnome-keyring-daemon
3742 pts/0    S+     0:00 grep gnome-keyring-daemon

Rufe ich nun seahorse auf, wird der Daemon im Vordergrund erneut aufgerufen, kennt aber kein Passwort.

ps ax | grep gnome-keyring
4076 ?        SLl    0:00 /usr/bin/gnome-keyring-daemon --start --foreground --components=secrets
4097 pts/1    S+     0:00 grep gnome-keyring

Deshalb meine irrtümliche Annahme, der Daemon liefe.

Das Problem lässt sich durch einen nochmaligen Aufruf mit dem Parameter –start lösen. Hierzu die entsprechenden Passagen aus der Manpage:

-l, --login
This argument tells the daemon it is being run by PAM. It reads all of stdin (including
any newlines) as a login password and does not complete actual initialization.
The daemon should later be initialized with a gnome-keyring-daemon --start invocation.

-s, --start
Connect to an already running daemon and initialize it. This is often used to complete
initialization of a daemon that was started by PAM using the --login argument.