如何导出DBUS_SESSION_BUS_ADDRESS

问题描述 投票:2回答:4

我正在尝试在嵌入式系统(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的值,但我怎么能以编程方式导出它?

谢谢您的帮助

linux dbus yocto
4个回答
12
投票

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

export $(dbus-launch)

1
投票

输入终端:

eval`dbus-launch --auto-syntax`


0
投票

输入终端:

export $DBUS_SESSION_BUS_ADDRESS

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)

© www.soinside.com 2019 - 2024. All rights reserved.