1

我在 Windows 7 平台上运行 dbus-daemon 时遇到问题。我下载了dbus 1.4.18源代码并使用cmake 和 visual 2010 编译器构建它。然后我使用 dbus-launch 启动了 dbus-daemon,它可以工作。之后,我尝试使用简单的代码连接到总线:

DBusConnection* conn;
DBusError err;

dbus_error_init(&err);
conn = dbus_bus_get(DBUS_BUS_SESSION, &err);

但我仍然有同样的错误:

“nonce-tcp 类型的服务器地址缺少参数 noncefile”

所以我杀死了 dbus-daemon 进程,打开了 session.conf 文件并在标签内添加了 noncefile 路径,如下所示:

<listen>nonce-tcp:noncefile=C:\my_temporary_path</listen>

然后尝试再次启动它,但是我在任务列表上看不到 dbus-daemon 进程我也没有任何错误消息,尽管我以详细模式启动了 dbus-daemon。正如我在文档中发现的那样,我尝试添加更多参数,例如主机和端口:

http://dbus.freedesktop.org/doc/dbus-specification.html

但是deamon还是不行。当我回到之前的设置“nonce-tcp:”时,一切看起来都很好。

我做错什么了?

  • %temp% - 这是 dbus-daemon 创建 nonce 文件的地方。
4

1 回答 1

1

<listen>nonce-tcp:</listen> is OK for the daemon configuration. IIUC the daemon is supposed to add the noncefile parameter when writing out the address that the clients should use. The client should look for the address via the mechanism described in http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-types. Sorry, I don't know how that works out on Windows, it looks like consulting the sources of libdbus is necessary.

于 2013-02-14T16:00:31.907 回答