Gnome钥匙环守护程序未能正确启动。

自从几天前,我的Gnome-keyring守护进程就没有正常启动。
登录后:
ps aux | grep keyring
user       3496  0.0  0.0 214408 15800 ?        SLl  13:30   0:00 /usr/bin/gnome-keyring-daemon --daemonize --login

应用程序抱怨无法访问钥匙环(并且无法成功),某些快捷键非常缓慢,例如CTRL+ALT+T打开终端或者Print Screen截屏,在按下按键和执行动作之间可能需要长达一分钟的时间。
Seahorse无法显示登录钥匙环。
$ /usr/bin/gnome-keyring-daemon
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
$ ps aux | grep keyr
user       3496  0.0  0.0 214408 15800 ?        SLl  13:30   0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
user       8524  0.1  0.0 211004 12468 pts/5    SLl  13:38   0:00 /usr/bin/gnome-keyring-daemon

然后,一旦应用程序想要访问,我就会收到钥匙链密码提示。一旦解锁,钥匙链就能正常工作。
我查看了我的会话启动应用程序,只有一个相关的命令:
/usr/bin/gnome-keyring-daemon --start --components=ssh

我将/usr/bin/gnome-keyring-daemon添加到启动应用程序中,但每次登录后都会提示输入密钥环密码,而以前并没有这种情况。
请问发生了什么问题,如何解决呢?

3我其实在想,可能是某个更新导致了这个问题。我也遇到了完全相同的问题,几乎用尽了我所有的资源,只差重新安装系统了。希望有人已经找到了解决方法。我可以成功启动守护进程,但无法在登录时解锁密钥环。 - Terrance
请查看错误报告:https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/1689825 - Antonios Hadjigeorgalis
3奇怪的是,这从今天16.04开始影响到我了。 - Byte Commander
我在Ubuntu Gnome 16.04上安装的gnome-shell也遇到了同样的问题。最近才开始出现,所以看起来与Unity无关。 - Rmano
1@ByteCommander的方法对我解决了这个问题。谢谢... - Rmano
你应该最有可能卸载dbus-user-session软件包来永久修复这个问题,如下面的答案或者Launchpad bug报告评论中所描述的。 - Byte Commander
我和@Terrance有着相同的倾向,认为更新导致了Gnome密钥环守护程序无法正常启动。每次启动时,我也会收到一个崩溃报告:gnome-keyring-daemon crashed with SIGABRT in g_assertion_message()。 我的机器上没有安装dbus-user-session软件包,因此它不是罪魁祸首。 - Filbuntu
5个回答

我遇到了同样的问题,
作为一个临时解决方案,尝试登录后运行以下命令
gnome-keyring-daemon --replace --foreground --components=secrets,ssh,pcks11

当我在做这个的时候,它会提示我输入密码来解锁我的钥匙链。

它仍然要求输入密码以解锁钥匙环。 - Laurent
5这个方法很好用!但是我只需要移除--start选项,因为它与--replace不兼容。 - Anwar
Chrome加载时间太长,在终端中输入gnome-keyring-daemon,然后关闭并重新打开Chrome,现在我可以输入我的密码了,谢谢。 - christianbueno.1
1pkcs11,不是pcks11 - Matt F.
这对我来说是一个永久的解决办法。 - SebastianR


1这似乎对几个人包括我自己都有效。请参阅#67开始的此错误报告以获取更多信息。https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/1689825 - Antonios Hadjigeorgalis
1这应该是最佳答案,因为它可以永久修复问题而不会产生其他副作用 - 除非可能会让需要安装dbus-user-session的应用程序稍微不高兴,但只影响一个应用程序总比整个系统都受到影响要好。 - Byte Commander
对我来说,它没有解决问题。 - Laurent


1它仍然要求输入密码来解锁钥匙环。 - Laurent
嗯...我有同样的问题,与gnome-shellgdm有关,所以这可能不是直接相关的。无论如何,谢谢,我会探索一下pam...某个地方必须启动gnome-keyring-daemon - Rmano
我也在运行gnome-shell,所以查看配置文件时,在/etc/pam.d/gdm-password中找到了一行类似的内容。我将其注释掉,但问题并未解决。 - Laurent

我遇到了完全相同的问题。基本上,每次启动时,我都可以看到gnome-keyring-daemon作为一个进程(ps -ef | grep keyring)。如果我手动使用--start选项发出gnome-keyring-daemon命令,它不会启动已经运行的故障实例。通过手动推理,我发现如果我杀死该进程并启动一个新的keyring,那么一切都能正常工作。所以这是我做的让解决方案“固定”的方法...
转到菜单-系统配置-启动应用程序
删除已经存在的gnome-keyring-daemon条目(如果有)
创建一个具有以下属性的新的gnome-keyring daemon:
Name = Gnome Keyring Daemon
Command = /usr/bin/gnome-keyring-daemon --replace --daemonize --components=pkcs11,secrets,ssh
Comment = Gnome Keyring Manager Daemon

保存启动项,但确保有一小段延迟 - 我添加了10秒,并设置选项为 "打开"

现在重新启动,对我来说完美地运行了。似乎是 --replace--daemonize 设置在我的VirtualBox Mint 18.3 cinnamon和联想G710笔记本电脑上产生了不同的效果,之前我试过这里其他建议的各种组合。


非常好的答案。解决了我Chrome无法启动没有keyring daemon的问题。 - Nathan B

这也可能发生在您使用apparmor的情况下,如果某种方式(更新、其他原因)导致apparmor在启动时停止运行。您将收到关于gnome-keyring-agent无法分配安全内存的消息。通过启动apparmor,注销并重新登录可以暂时解决此问题,通过使用systemctl enable apparmor命令在启动时重新启用apparmor并重新启动可以永久解决此问题(如果这是您的问题!)。