During the 5 or so years I’ve had Nextcloud, I’ve always been quite happy with the web client, but the device clients… need some work. I recently figured out how to resolve one of my biggest pain points on the Linux desktop client, and am recording it here, mostly so I don’t forget next time I setup a new computer, and to save others with the same problem from endless forum post and GitHub issue crawling.
The cause
Nextcloud expects the environment it is running in to have a ‘keychain manager’ installed and accessible by libsecret. However, currently, the Arch Linux Nextcloud package does not list libsecret nor any keychain manager as a dependency. This does not cause a problem if you are using a desktop environment, as they will come with one in their own dependency cloud, but if you are just using a window manager, you may very well not have one installed.
(as a side note, this also seems to cause a significant delay in the client starting up, probably some sort of timeout waiting to access the keyring
The solution
The solution is… surprisingly simple. You just need to install the gnome-keyring
and libsecret
packages, and set them up to autostart. In order to autostart them properly, adding these 2 lines to your .xinitrc
is enough.
#get gnome-keyring running
dbus-update-activation-environment --all
gnome-keyring-daemon --start --components=secrets
(yes, you do need dbus-update-activiation-environment
, as gnome-keyring
seemingly relies on certain environment variables to start properly.)