如何导出DBUS_SESSION_BUS_ADDRESS

时间:2016-12-20 12:32:24

标签: linux dbus yocto

我正在尝试在嵌入式系统(Yocto Linux)上运行D-Bus,并从我的应用程序代码连接到它。

当我致电dbus_bus_get(DBUS_BUS_SESSION, &err);

时,我收到以下错误消息
Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead

我意识到我需要先启动dbus-daemon所以我从命令行运行dbus-launch。这会打印出DBUS_SESSION_BUS_ADDRESS的值但是如何以编程方式导出它?

感谢您的帮助

4 个答案:

答案 0 :(得分:12)

我终于找到了答案,运行以下命令导出dbus-launch的输出:

export $(dbus-launch)

答案 1 :(得分:0)

输入终端:

export $DBUS_SESSION_BUS_ADDRESS

答案 2 :(得分:0)

pid_gnome=$(pgrep gnome-session) DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/${pid_gnome}/environ|cut -d= -f2-) export DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS} 请确保用户设置了DISPLAY变量。

另一种选择是: export $(dbus-launch)

答案 3 :(得分:0)

输入终端

eval`dbus-launch --auto-syntax`