"The password you use to log in to your computer no longer matches that of your login keyring."

Hi,

I’m trying to use the official protonvpn from the AUR, but when I run it, I get a window prompt saying:

The password you use to log in to your computer no longer matches that of your login keyring.

and it asks me for a password. My regular password doesn’t work (sudo and login are identical). I have not spelled it wrong because I can use sudo commands in terminal. Only in the GUI window it doesn’t work.

When I launch protonvpn from the terminal, I get a traceback after I close the prompt:

~ $ protonvpn
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 21, in __getitem__
    stored_data = self.__keyring_backend.get_password(
  File "/usr/lib/python3.9/site-packages/keyring/backends/SecretService.py", line 78, in get_password
    collection = self.get_preferred_collection()
  File "/usr/lib/python3.9/site-packages/keyring/backends/SecretService.py", line 67, in get_preferred_collection
    raise KeyringLocked("Failed to unlock the collection!")
keyring.errors.KeyringLocked: Failed to unlock the collection!

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/protonvpn_gui/main.py", line 250, in do_activate
    if not protonvpn.check_session_exists():
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/api.py", line 321, in check_session_exists
    return self._env.api_session.is_valid
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/core/environment.py", line 53, in api_session
    self.__api_session = APISession()
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/core/session/session.py", line 171, in __init__
    self.__keyring_load_session()
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/core/session/session.py", line 195, in __keyring_load_session
    keyring_data_user = ExecutionEnvironment().keyring[
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 32, in __getitem__
    raise exceptions.KeyringError(e)
protonvpn_nm_lib.exceptions.KeyringError: Failed to unlock the collection!
~ $ 

I get the same error if I run protonvpn with sudo from terminal.

Using autologin? Disable autologin

You can use the seahorse app (install if not present) to sync your keyring passphrase. You can also set an empty password - consider implications carefully - though that is extremely unsafe when you are using autologin.

Rightclick the Login → Change Password

I am not using autologin. I type in the password every time

I removed the official protonvpn packages. I am now using protonvpn-cli-ng which is working.

This makes me think you are using i3 or at least a configuration which does not involve gnome-keyring and nm-applet?

Because a similar issue with relation to protonvpn and keyring already exist.

2 Likes

Hey thanks for your reply! I do use i3.

I wanted to give it another try, so I removed protonvpn-cli-ng and installed protonvpn again.

From the info in the other thread I added gnome-keyring-daemon --start to my i3 config, then I logged out and logged back in.

~ $ ps aux | grep key
lorem      5304  0.0  0.0 384144  7012 ?        Sl   18:21   0:00 /usr/bin/gnome-keyring-daemon --daemonize --login

nm-applet is the network tray tool right? I have that running too.

~ $ ps aux | grep nm-applet
ipsum      5348  0.1  0.5 548992 45108 ?        Sl   18:21   0:00 nm-applet

However it still doesn’t work…

Same prompt saying the message from this thread title + this traceback:

~ $ protonvpn
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 21, in __getitem__
    stored_data = self.__keyring_backend.get_password(
  File "/usr/lib/python3.9/site-packages/keyring/backends/SecretService.py", line 78, in get_password
    collection = self.get_preferred_collection()
  File "/usr/lib/python3.9/site-packages/keyring/backends/SecretService.py", line 67, in get_preferred_collection
    raise KeyringLocked("Failed to unlock the collection!")
keyring.errors.KeyringLocked: Failed to unlock the collection!

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/protonvpn_gui/main.py", line 250, in do_activate
    if not protonvpn.check_session_exists():
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/api.py", line 321, in check_session_exists
    return self._env.api_session.is_valid
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/core/environment.py", line 53, in api_session
    self.__api_session = APISession()
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/core/session/session.py", line 171, in __init__
    self.__keyring_load_session()
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/core/session/session.py", line 195, in __keyring_load_session
    keyring_data_user = ExecutionEnvironment().keyring[
  File "/usr/lib/python3.9/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 32, in __getitem__
    raise exceptions.KeyringError(e)
protonvpn_nm_lib.exceptions.KeyringError: Failed to unlock the collection!
~ $ 

I have protonvpn-cli-ng as a fallback for now.

Thats weird - because I use protonvpn as well and based on the comment I referred earlier I revisited the other package for testing purpose and it works without hickups on my system.

I think you could try installing the seahorse package - then syncronize the Login entry in the keyring with your actual login password.

Also ensure your keyring is started in your i3.conf

My system is based on Openbox wm with Tint2 panel, Network Manager (with nm-applet) and gnome keyring activated.