During the 5 or so years Ive had nextcloud, Ive always been quite happy with the webclient, 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 dont forget next time I setup a new computer, and to save others with the same problem from endless forum post and GitHub issue crawling.
Nextcloud expects the environment it is running in to have a 'keychain manager' installed and accessible by libsecret. However, currently, the Arch Linx 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 is… surprisingly simple. You just need to install the
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
gnome-keyring-daemon --start --components=secrets
(yes, you do need
gnome-keyring seemingly relies on certain environment variables to start properly.)