为什么我在Xubuntu中收到Gnome密钥环的警告?

我在标准的Ubuntu安装上安装了xubuntu-desktop。
当使用ssh,或更具体地说是git时,我总是收到这个警告。
WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-IVaeDO/pkcs11: No such file or directory

我已经做了相当多的谷歌搜索来禁用/启用适当的启动服务,但到目前为止,我总是遇到这个错误。
对于完全移除gnome-keyring以及它的缺点,或者将gnome-keyring集成到xubuntu/xfce中的任何见解都将非常棒。
4个回答

在Bourne shell下,您可以通过运行以下命令关闭gnome-keyring并摆脱此警告:
unset GNOME_KEYRING_CONTROL

从环境变量中删除gnome keyring路径。您还可以将此命令放在您的~/.bashrc文件的末尾。
在C shell下,等效的命令是:
unsetenv GNOME_KEYRING_CONTROL

并且该命令可以放在您的~/.cshrc文件的末尾。

你会收到这个警告是因为在登录Xubuntu或Xfce会话时,通常不会运行像gnome-keyring-daemon和gnome-settings-daemon这样的gnome服务。
然而,对我来说有效的快速解决方法是进入菜单,选择设置 > 设置管理器 > 会话和启动 > 高级,并启用Gnome服务(见下面的截图)。现在,所有已安装的Gnome服务将在您登录时启动,您应该能够使用gnome-keyring-daemon的功能(尽管可能需要进一步配置,如下所述)。

enter image description here

请注意,您需要注销并重新登录以使更改生效,然后这些服务将会运行(如果您已经使用 GNOME 应用程序安装了它们):

enter image description here

你可能需要在Xfce/Xubuntu会话中调整其他事物,这取决于你希望如何使用“gnome-keyring-daemon”。有一些关于在此博客上使用它与ssh和其他许多方法的参考资料,但在Xubuntu上使用它可能会遇到一些问题。
关于“gnome-keyring”的优缺点,这是一个太大的主题,无法给出一般性的答案,但这些提示应该能帮助你开始将其整合到Xubuntu会话中。
然而,如果这些建议不能解决问题,你可能是“gnome-keyring”在Launchpad上描述的问题的受害者。

2谢谢,有没有关于如何去除所有gnome相关内容但仍然能够在启动时运行ssh-agent和ssh-add的提示? - winchendonsprings
@winchendonsprings ssh-agentssh-addopenssh-client软件包的一部分,它不依赖于任何gnome应用程序或服务,所以可能是可行的,但我对此不确定。 - user76204
1这是哪个版本的Ubuntu?我在12.04 LTS上没有看到所有这些选项。 - sureshvv
@sureshvv Xubuntu 12.04及更高版本都有这些选项。请前往设置 > 设置管理器 > 会话和启动 > 高级。 - user76204
@Mik 显示该框的命令是什么?我想在Fluxbox上尝试一下这个。 - rvf0068
@rvf0068 xfce4-session-settings将从命令行启动该框,无需经过菜单。 - user76204
需要注销/登录会话才能使此设置生效吗?我更改了设置然后通过ssh连接到主机,但仍然遇到相同的错误。这是Ubuntu 16.04。 - dashesy

另一种摆脱这个烦人的警告的方法(我在XFCE中遇到过):
诀窍是在含有"OnlyShowIn="的那一行中添加"LXDE;XFCE;"(不带双引号,加上分号,没有试过不加分号)到文件"/etc/xdg/autostart/gnome-keyring-pkcs11.desktop"中,使用你喜欢的任何文本编辑器进行编辑,我会用"nano"。
1 - 在终端中输入以下命令(作为root用户或使用sudo):
# nano /etc/xdg/autostart/gnome-keyring-pkcs11.desktop

[Desktop Entry]
Type=Application
Name=Certificate and Key Storage
Comment=GNOME Keyring: PKCS#11 Component
Exec=/usr/bin/gnome-keyring-daemon --start --components=pkcs11
OnlyShowIn=GNOME;Unity;LXDE;XFCE;
X-GNOME-Autostart-Phase=Initialization
X-GNOME-AutoRestart=false
X-GNOME-Autostart-Notify=true
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-keyring
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.2.2
NoDisplay=true
X-Ubuntu-Gettext-Domain=gnome-keyring

2 - 编辑后,请确保保存更改。
3 - 重新启动电脑。

两个都是很好的答案,但对我都不起作用。 enter image description here [更新]:使其工作 作为root用户,我创建了文件/usr/share/gnome/autostart/seahorse-daemon.desktop Edit seahorse-daemon 并确保我的自动启动中打开了AT-SPI D-Bus总线
对于那些遇到以下错误的人:

无法连接到辅助功能总线:无法连接到套接字/tmp/dbus-sFJMjhBCfL:拒绝连接

这可能更多是与你的/tmpfs有关,而不是seahorse-daemon或gnome-keyring的问题。
现在让我们来看看如何替换seahorse-agent! :)

10请不要发布文本的截图。请复制文本并应用代码格式化。 - muru