Proton VPN asking for password

Hi!

Since I switched to Niri from Gnome, Proton VPN is asking my session password (I’m on auto login with gdm)

trying to solve that, I switched to pass secret service but no luck

any idea?

bump :frowning: I’m stuck on this one

More information would be welcome is. On these information it is pretty hard to go forward. Is protonvpn user or root? And more is better to start…

Sorry you’re totally right, and I’m a dev, so I know that -_-

According to ps, protonvpn-gui is ran by user

the prompt I got is from gcr-prompter

my config is here geobert/nixos-cfg - Codeberg.org

Interestingly enough, I changed password with passwdand the prompt is on the old one

EDIT: sudo journalctl -S 2026-01-24 | egrep -i “keyring|pam” output

Jan 24 15:25:28 delorean kernel: Initialise system trusted keyrings
Jan 24 15:25:28 delorean systemd[1]: systemd 258.2 running in system mode (+PAM +AUDIT -SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK -BTF -XKBCOMMON +UTMP -SYSVINIT +LIBARCHIVE)
Jan 24 15:25:31 delorean gdm-autologin][1709]: pam_unix(gdm-autologin:session): session opened for user geob(uid=1000) by (uid=0)
Jan 24 15:25:31 delorean (systemd)[1723]: pam_unix(systemd-user:session): session opened for user geob(uid=1000) by (uid=0)
Jan 24 15:25:31 delorean gdm-autologin][1709]: gkr-pam: gnome-keyring-daemon started properly
Jan 24 15:25:31 delorean gnome-keyring-daemon[1932]: discover_other_daemon: 1
Jan 24 15:25:31 delorean gnome-keyring-daemon[1932]: discover_other_daemon: 1
Jan 24 15:25:31 delorean gnome-keyring-daemon[1937]: discover_other_daemon: 1
Jan 24 15:25:31 delorean gnome-keyring-daemon[1937]: discover_other_daemon: 1
Jan 24 15:25:32 delorean wireplumber[2049]: [0:00:07.449989219] [2049]  INFO IPAManager ipa_manager.cpp:147 libcamera is not installed. Adding '/nix/store/src/ipa' to the IPA search path
Jan 24 15:25:41 delorean dbus-daemon[1744]: [session uid=1000 pid=1744] Activating service name='org.gnome.keyring.SystemPrompter' requested by ':1.15' (uid=1000 pid=1756 comm="/nix/store/acz915zgmjl110hml2vx9laq708dh3qg-gnome-")
Jan 24 15:25:41 delorean gcr-prompter[3183]: Gcr: bus acquired: org.gnome.keyring.SystemPrompter
Jan 24 15:25:41 delorean gcr-prompter[3183]: Gcr: bus acquired: org.gnome.keyring.PrivatePrompter
Jan 24 15:25:41 delorean dbus-daemon[1744]: [session uid=1000 pid=1744] Successfully activated service 'org.gnome.keyring.SystemPrompter'
Jan 24 15:25:41 delorean gcr-prompter[3183]: Gcr: acquired name: org.gnome.keyring.SystemPrompter
Jan 24 15:25:41 delorean gcr-prompter[3183]: Gcr: received BeginPrompting call from callback /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:25:41 delorean gcr-prompter[3183]: Gcr: preparing a prompt for callback /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:25:41 delorean gcr-prompter[3183]: Gcr: calling the PromptReady method on /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:25:41 delorean gcr-prompter[3183]: Gcr: acquired name: org.gnome.keyring.PrivatePrompter
Jan 24 15:25:41 delorean gcr-prompter[3183]: Gcr: returned from the PromptReady method on /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:25:41 delorean gcr-prompter[3183]: Gcr: received PerformPrompt call from callback /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:25:41 delorean gcr-prompter[3183]: Gcr: starting password prompt for callback /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:21 delorean gcr-prompter[3183]: Gcr: completed password prompt for callback :1.15@/org/gnome/keyring/Prompt/p2
Jan 24 15:32:21 delorean gcr-prompter[3183]: Gcr: calling the PromptReady method on /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:21 delorean gcr-prompter[3183]: Gcr: returned from the PromptReady method on /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:21 delorean gcr-prompter[3183]: Gcr: received PerformPrompt call from callback /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:21 delorean gcr-prompter[3183]: Gcr: starting password prompt for callback /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:22 delorean gcr-prompter[3183]: Gcr: completed password prompt for callback :1.15@/org/gnome/keyring/Prompt/p2
Jan 24 15:32:22 delorean gcr-prompter[3183]: Gcr: calling the PromptReady method on /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:22 delorean gcr-prompter[3183]: Gcr: returned from the PromptReady method on /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:22 delorean gcr-prompter[3183]: Gcr: received PerformPrompt call from callback /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:22 delorean gcr-prompter[3183]: Gcr: starting password prompt for callback /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: completed password prompt for callback :1.15@/org/gnome/keyring/Prompt/p2
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: calling the PromptReady method on /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: returned from the PromptReady method on /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: received PerformPrompt call from callback /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: stopping prompting for operation /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: stopping prompting for operation /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: couldn't find the callback for prompting operation /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: stopping prompting for operation /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: couldn't find the callback for prompting operation /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: stopping prompting for operation /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: couldn't find the callback for prompting operation /org/gnome/keyring/Prompt/p2@:1.15
Jan 24 15:32:24 delorean gcr-prompter[3183]: Gcr: calling the PromptDone method on /org/gnome/keyring/Prompt/p2@:1.15, and ignoring reply

Looks like it is not possible, as I auto login, no password is provided hence the need to unlock keyring

Maybe using pass for secrets that autologs protonvpn etc… or agenix or sops there is good options that stores secrets and use it from there

Will dig in that direction, thanks!

1 Like

This isn’t a protonvpn problem. Protonvpn merely uses secret service to store the credentials and that component is misbehaving.

Gnome-keyring is probably your implementation of secret service and it needs to be unlocked with your user’s password because it (quite sensibly) encrypts your secrets using that password. Normally, GDM would also pass your password to gnome-keyring; opening it as you login. Because you have autologin where you never enter your password, you’re required to enter your password into gnome-keyring manually. This should only happen once per session though.
This is working as intended/desired.

Either disable autologin and log in normally using your password, switch to another secret service daemon that does not encrypt your secrets using your password or type in your password once per login.

Thanks for the thorough answer :slight_smile:

What other secret daemon are there?

When I last looked into this:

  • KDE’s kwallet which does the same as gnome-keyring but in qt
  • KeePassXC has optional secret service integration hidden in a menu somewhere
  • dssd which stores the secrets unencrypted but some applications might require encrypted secret service operation (I ran into this with Fractal last year)

But I’d highly recommend getting a “proper” secret service daemon working as intended instead rather than trying to work around it in this way.

1 Like

I have morw complex setup, but works perfecrly on my workflow. It all starts already with machine SSH and user ssh that decrypts secrets on agenix and then there is pass that have user secrets that gets also decrypted using age and gpg and authinfo has all info inside so authinfo gets secrets from pass… pretty good for me and my workflows where I need to have multi layer secrets gpg, pass, ssh etc