【问题标题】:Unable to autolaunch a dbus-daemon without a $DISPLAY for X11无法在没有 $DISPLAY for X11 的情况下自动启动 dbus-daemon
【发布时间】:2015-10-23 17:41:59
【问题描述】:

我有一个绑定到 D-Bus 的 QT/C++ 终端应用程序,但是当我尝试在会话总线上绑定时出现以下错误:

“无法在没有 $DISPLAY for X11 的情况下自动启动 dbus-daemon”

这只是一个简单的终端应用,代码sn -p:

if (!QDBusConnection::sessionBus().isConnected()) {
    fprintf(stderr, "Cannot connect to the D-Bus session bus.\n"
                    "To start it, run:\n"
                    "\teval `dbus-launch --auto-syntax`\n");
    fprintf(stderr, "%s\n",
            qPrintable(QDBusConnection::sessionBus().lastError().message()));
    return 1;
}

我不需要 X11 支持,所以我只是在寻找最简单的方法来处理这个错误

【问题讨论】:

    标签: c++ qt dbus qtdbus


    【解决方案1】:

    对于任何感兴趣的人,我只是在程序中设置环境变量:

    setenv("DISPLAY", ":0", true);
    

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 2018-02-07
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      • 2016-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多