如何导出DBUS_SESSION_BUS_ADDRESS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何导出DBUS_SESSION_BUS_ADDRESS相关的知识,希望对你有一定的参考价值。

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

谢谢您的帮助

答案

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

export $(dbus-launch)
另一答案

输入终端:

eval`dbus-launch --auto-syntax`

另一答案

输入终端:

export $DBUS_SESSION_BUS_ADDRESS
另一答案

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)

以上是关于如何导出DBUS_SESSION_BUS_ADDRESS的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp如何做到导出,导入大文件

在MATLAB中如何将图导出

excel表格如何导出

AU如何导出音频?

如何导出mysql数据

ASP如何将SQLSERVER数据导出到DBF(VF)