Windows上的DBus(https://code.google.com/p/dbus-windows-installer/downloads/list)的默认session.conf使用<listen>autolaunch:scope=install-path</listen>
,顾名思义,它使用dbus-daemon可执行文件的当前路径以某种方式确定会话地址。
有没有办法指定显式路径?或许有tcp:
的东西?
答案 0 :(得分:1)
经过多次尝试,我找到了解决方案。即使https://code.google.com/p/dbus-windows-installer/downloads/list提供的(至少目前为止)的1.4.3版本的DBus for Windows已经很老了,但实际上它支持tcp:
语法。
安装DBus-Windows-Installer-1.4.1-2.exe
会做两件事:
C:\Program Files (x86)\DBus
C:\Program Files (x86)\DBus\bin
添加到%PATH%
使用后者是必要的,以便您的应用程序可以在运行时访问DBus DLL和EXE。要使此安装使用tcp:
语法,您必须
C:\Program Files (x86)\DBus\etc\session.conf
修改为<listen>tcp:host=localhost,port=54321,family=ipv4</listen>
C:\Program Files (x86)\DBus\bin\dbus-env.bat
修改为set DBUS_SESSION_BUS_ADDRESS=tcp:host=localhost,port=54321,family=ipv4
dbus-env.bat
的环境启动会话守护程序,然后运行dbus-daemon.exe --session
dbus-env.bat
的环境启动会话监视器,然后运行dbus-monitor.exe --session
dbus-env.bat
然后实际运行应用程序的环境启动应用程序正如我上面所说,DBus 1.4.3已经很老了。事实上,根据https://code.google.com/p/support/wiki/ReadOnlyTransition,它甚至可能不会很快下载。在撰写本文时,最新的稳定分支是1.10。因此,以下是构建您自己的最新DBus的说明
安装CMake
获取libexpat
nmake install
安装到C:\Program Files (x86)\DBus
,也可以制作可分发的部署软件包&#34;通过
<listen>tcp:host=localhost,port=54321,family=ipv4</listen>
c:\temp\dbus-deploy\bin\dbus-env.bat
修改为set DBUS_SESSION_BUS_ADDRESS=tcp:host=localhost,port=54321,family=ipv4