linux-app
linux-app copied to clipboard
Help configuring ProtonVPN to use KWallet
Please complete the following checklist (by adding [x]):
- [x] I have searched open and closed issues for duplicates
- [x] This isn't a feature request
- [x] This is not a report about my app not working as expected
Hi!
I have a non-orthodox setup, so I totally understand you don't have to offer support to my case. But maybe my question can be easily answered by some of you, in which case I would be very thankful.
I'm on a system other than Plasma and Gnome (it's one of those Wayland compositors) and want to make ProtonVPN use KWallet to store its secrets, for three reasons:
- first, I already have a complete Plasma setup on the same machine, so I already have KWallet installed there;
- I know ProtonVPN works well with it, since I can use it when logged on a Plasma session;
- for some unknown reason,
gnome-keyringis not working properly on my machine.
When I'm logged in the Plasma desktop, everything works as expected. However, when I'm on the Wayland compositor, it shows a message that it couldn't find any agent.
So, I'm trying to make it use KWallet.
So far, I've managed to configure keyring to use KWallet, by creating a keyringrc.cfg file in ~/.config/python_keyring with the following content:
[backend]
default-keyring=keyring.backends.kwallet.DBusKeyring
I can confirm keyring does use KWallet by following these steps:
- inserting dummy data by running
keyring set dummy-service dummy-keyon the command line; - retrieving (
keyring get dummy-service dummy-key) and confirming data was inserted; - explicitly querying KWallet backend:
keyring -b keyring.backends.kwallet.DBusKeyring get dummy-service dummy-keyand confirming data was inserted in the right backend; - double checking by querying
keyring -b keyring.backends.SecretService.Keyring get dummy-service dummy-keyandkeyring -b keyring.backends.libsecret.Keyring get dummy-service dummy-keyand attesting data isn't there. - I also tried the steps above using
keyringmodule from within Python code and the same checks hold.
Now, even though keyring is using KWallet, ProtonVPN doesn't, something that can be confirmed by this line in protonvpn.log:
Using "<class 'protonvpn_nm_lib.core.keyring.linuxkeyring.KeyringBackendLinuxSecretService'>" keyring
when I'm logged in my Wayland compositor's session, contrasting to
Using "<class 'protonvpn_nm_lib.core.keyring.linuxkeyring.KeyringBackendLinuxKwallet'>" keyring
when I'm logged in the Plasma session.
I also tried setting the PYTHON_KEYRING_BACKEND environnment variable without luck.
Is there a way to make ProtonVPN respect the keyring lib configuration?
Thanks in advance!