D-bus是需要UI还是也可以在命令行工具中使用?

时间:2016-01-26 21:02:22

标签: linux x11 dbus

似乎D-bus是一种非常有效的方式来在linux中传达proccesses。我的问题是它是否需要之前启动的UI / x11,或者它也可以在没有UI / x11的命令行工具中使用?

2 个答案:

答案 0 :(得分:2)

D-Bus工作所需的唯一东西是D-Bus服务器守护进程本身。这是通过dbus-launch调用的,如果不使用X init系统,它可以集成到shell启动脚本中。此外,应用程序可以尝试自己执行dbus-launch,以便尝试使用在登录时创建的会话总线,或者为应用程序自己使用创建会话总线。当然,第一个选项(或第二个选项的第一个结果)是首选,因为它将使用更少的资源。

答案 1 :(得分:1)

不,它没有。系统D-Bus(作为dbus --system启动)在X服务器之前启动。

ldd对流程的进一步检查并未表明对X的依赖:

$ ldd /usr/bin/dbus-daemon 
linux-vdso.so.1 (0x00007fff669ff000)
libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f27cd14e000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f27ccefc000)
librt.so.1 => /lib64/librt.so.1 (0x00007f27cccf4000)
libc.so.6 => /lib64/libc.so.6 (0x00007f27cc92b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f27cd378000)