Git + libsecret抛出“没有X11 $ DISPLAY不能自动启动D-Bus”

时间:2018-12-05 08:36:03

标签: git unix centos x11 dbus

我已经在CentOS 7服务器上安装了Git和libsecret。我使用git-credentials-store将凭证以明文形式存储在服务器上。现在我想使用libsecret,但不幸的是,如果我将git-credential-libsecret配置为凭据助手,则会遇到D-Bus错误。

我已经安装了dbus和dbus-x11,并通过以下命令启动了dbus,但仍然出现错误。

  

dbus-launch --sh语法

错误:

  

$ git pull origin master

     

**(进程:66155):严重**:08:19:33.936:无法连接至特勤局:没有X11 $ DISPLAY,无法自动启动D-Bus

     

**(进程:66160):严重**:08:19:34.209:存储失败:没有X11 $ DISPLAY,无法自动启动D-Bus

编辑:

安装gnome-keyring后,出现以下错误

  

**消息:14:10:49.566:来自秘密服务的远程错误:org.freedesktop.DBus.Error.UnknownMethod:路径/ org / freedesktop /上的对象上没有这样的接口“ org.freedesktop.Secret.Collection”秘密/收藏/登录

2 个答案:

答案 0 :(得分:1)

您需要使用export $(dbus-launch)来评估dbus-launch输出的变量,以便在您的环境中设置${DBUS_SESSION_BUS_ADDRESS}。另请参阅:How to export DBUS_SESSION_BUS_ADDRESS

如果您的环境中未设置${DBUS_SESSION_BUS_ADDRESS},则D-Bus客户端库将假定没有dbus-daemon正在运行,并将尝试自动启动。没有${DISPLAY},这是不可能的;因此,您会看到错误消息。

答案 1 :(得分:0)

您可以无头运行它,但是您需要遵循Python密钥环程序包的建议来“欺骗”它。

https://keyring.readthedocs.io/en/latest/#using-keyring-on-headless-linux-systems