我正在尝试在嵌入式系统(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
的值但是如何以编程方式导出它?
感谢您的帮助
答案 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`