dbus-daemon - session.conf - noncefile 的 Windows 配置问题
Posted
技术标签:
【中文标题】dbus-daemon - session.conf - noncefile 的 Windows 配置问题【英文标题】:dbus-daemon - session.conf - windows configuration issue with the noncefile 【发布时间】:2013-01-30 11:00:56 【问题描述】:我在 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
但守护进程仍然不起作用。当我回到之前的设置“nonce-tcp:”时,一切看起来都很好。
我做错了什么?
%temp% - 这是 dbus-daemon 创建 nonce 文件的地方。【问题讨论】:
【参考方案1】:<listen>nonce-tcp:</listen>
可以用于 daemon 配置。 IIUC 守护进程应该在写出客户端应该使用的地址时添加noncefile
参数。 客户端 应该通过http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-types 中描述的机制查找地址。抱歉,我不知道这在 Windows 上是如何工作的,看来有必要咨询 libdbus 的来源。
【讨论】:
以上是关于dbus-daemon - session.conf - noncefile 的 Windows 配置问题的主要内容,如果未能解决你的问题,请参考以下文章
Troubleshooting - job不退出 - 如何找出誰启动了dbus-daemon(或调用了dbus-launch)
Linux - 残留的dbus-daemon或dbus-launch,如何避免或如何清理?
dbus-daemon - session.conf - noncefile 的 Windows 配置问题
无法在 Docker 容器中为 X11 自动启动没有 $DISPLAY 的 dbus-daemon