Open gustavo-hms opened 2 years ago
Looking through the source code of the underlying library protonvpn-nm-lib
, the backend is chosen based on priorities. The priority of KeyringBackendLinuxSecretService
is always 5
. The priority of KeyringBackendLinuxKwallet
is based on whether the environment variable XDG_CURRENT_DESKTOP
is KDE
: if so the priority is 5.1
, if not 4.9
.
In short, to get ProtonVPN to use KeyringBackendLinuxSecretService
, I set XDG_CURRENT_DESKTOP
to KDE5
(for protonvpn only). This seems to work so far, and there are no other mentions of XDG_CURRENT_DESKTOP
in any ProtonVPN repositories (though that may change, and dependencies may still use it).
Please complete the following checklist (by adding [x]):
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:
gnome-keyring
is 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:I can confirm
keyring
does use KWallet by following these steps:keyring set dummy-service dummy-key
on the command line;keyring get dummy-service dummy-key
) and confirming data was inserted;keyring -b keyring.backends.kwallet.DBusKeyring get dummy-service dummy-key
and confirming data was inserted in the right backend;keyring -b keyring.backends.SecretService.Keyring get dummy-service dummy-key
andkeyring -b keyring.backends.libsecret.Keyring get dummy-service dummy-key
and attesting data isn't there.keyring
module 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 inprotonvpn.log
:when I'm logged in my Wayland compositor's session, contrasting to
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 thekeyring
lib configuration?Thanks in advance!