Location of seahorse / libsecret database


In a small office environment we have been working for many years with $HOME on an NFS share. To mitigate some slowness back in the Debian Wheezy era, I stumbled across the $XDG_CACHE_HOME and $XDG_DATA_HOME environment variables and set those to be hosted on the local hard drive (/var/{cache,data}/${USER}).

Am I correct if I say that Seahorse is storing the keyrings in $XDG_DATA_HOME and that this setting cannot be changed (e.g. via an application preference or via dconf)? If I am correct, I will test to move $XDG_DATA_HOME back to the user’s home directory to avoid the users having to retype all passwords if they change seats in the office. Because that could trigger other issues, I’m first looking at moving the seahorse / libsecret keyring database.


Yes, keyrings are always stored in $XDG_DATA_HOME/keyrings and that cannot be configured.


@mcatanzaro is completely correct.

As a side note, it’s neither Seahorse or libsecret that implements the actual database. Seahorse calls the Secrets service (using libsecret), which is provided by gnome-keyring in the case of the GNOME desktop.

1 Like

Can we make it a point to update this information in developer docs of libsecret ?


I’m using the git-credential-libsecret credential helper and it’s working fine. But I can’t manage these credentials with seahorse. When I change a git credential (personal access token) the new credential takes effect, but I can’t see any of this in seahorse or see a related file in .local/share/keyrings. Is this expected?


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.