我ssh -X
进入远程开发VM。我按照this answer中所述的步骤1-3将libsecret设置为我的git凭证帮助器。一切正常,直到我升级了Ubuntu OS并于今天早晨重新启动(jose-maria对所引用答案的第一条评论表明,可能的原因仅是重新启动)。我不记得升级之前的git和Ubuntu版本,但是现在它们是Git 2.23.0和Ubuntu 18.04.3 LTS。
现在,当git尝试使用配置的凭据帮助器时,我得到了:
$ git pull
** (process:15866): CRITICAL **: 15:53:07.685: secret_value_get_text: assertion 'value' failed
** (process:15866): CRITICAL **: 15:53:07.686: secret_value_unref: assertion 'value != NULL' failed
Username for 'https://[hostname_was_here]':
我检查了以前做过的设置(甚至重做了),但是看起来还是可以的,重做似乎没有什么作用。
如何解决此问题?
更新10/24/2019
从this page,我发现以下步骤可以解决此问题(仅通过GUI对话框提示我一次),但是我仍然觉得这是一个丑陋的解决方法(不是GUI对话框,但是我必须启动另一个shell并启动keyring守护进程的事实):
dbus-run-session bash
gnome-keyring-daemon -r
如何使它变得更自动,更优雅(或者更好的是,避免这样做)?另外,为什么在升级/重新启动之前无需运行dbus会话并启动keyring守护程序就能完成此工作?