我有一个绑定到D-Bus的QT / C ++终端应用程序,但是当我尝试在会话总线上绑定时,我收到以下错误:
“无法在没有$ DISPLAY for X11的情况下自动启动dbus-daemon”
这只是一个简单的终端应用程序,代码片段:
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支持,所以我只想找到处理这个错误最简单的方法
答案 0 :(得分:2)
对于任何感兴趣的人,我只需在程序中设置env变量:
setenv("DISPLAY", ":0", true);