Replace kwallet with KeePassXC as keyring

I have now got everything up and running. I can’t quite explain why there is such a difference here. Maybe the GDM3 comes with some libraries that the SDDM doesn’t have.

To be on the safe side, I installed a new “Manjaro KDE Plasma” instance in a virtual machine and added KeePassXC to it.

And this behaved in exactly the same way as my actual computer.

I got the whole thing up and running as follows:

Deactivate KDE password storage system

The first step is to deactivate the password store in the system settings. To do this, open the System settings tool and select “KDE password storage” in the “Personal information” section on the left-hand side. In the right-hand section, uncheck “Activate KDE password storage system”.

Activate Secret Service API

The next step is to edit the file ~/.config/kwalletrc in the home directory. Various blocks may already be found there. If the [Wallet] block is present, you should check that the Enabled value is set to false.

[Wallet]
...
Enabled=false
...

And if not already present, a further entry must be added at the end or adapted accordingly:

[org.freedesktop.secrets]
apiEnabled=true

Change Secrets Service API for KeePassXC

The file org.freedesktop.secrets.service, if it does not exist, must be created and adapted, and the file modified as follows:

[D-BUS Service]
Name=org.freedesktop.secrets
Exec=/usr/bin/keepassxc

The “Exec” item is particularly important, as another keyring may have been entered that needs to be replaced by KeePassXC.

Restart computer

The computer can now be restarted. You should then check whether the kwalletd5 service is still running, see point 2 above. Otherwise, check the individual configuration points again and adjust or correct them if necessary.

Configure KeePassXC

Now the Secret Service integration in KeePassXC can be activated. To do this, open KeePassXC and go to the settings (either via “Tools” → “Settings” or via the cogwheel in the top bar). Then select “Secret Service Integration” on the left and check the box “Enable KeepassXC Freedesktop.org Secret Service integration”.

Confirm these changes with “OK” and exit the settings (simply press the “Escape” button).

It is best to create a new group for the keyring here. This is not a requirement, but it is better to separate it from the other password settings. To do this, click on “New group” under “Groups”, assign a name and confirm with “OK”.

Then click on “Database” in the menu bar and select “Database settings”. Click on “Secret service integration” on the left-hand side and select “Disclose entries under this group:” on the right-hand side. The previously created group can then be selected and saved with “OK”.

Brave Browser

Now, with the exception of the Brave Browser, everything runs via KeePassXC. In order for the Brave Browser to do the same, I have to explicitly start Brave in Manjaro with the additional switch --password-store=gnome-libsecret. Otherwise it takes a good 30 seconds to start. It then switches to Basic Password Store mode.

This presumably applies to all browsers based on Chrome.

2 Likes