如何从控制台创建 dbus 服务?
Posted
技术标签:
【中文标题】如何从控制台创建 dbus 服务?【英文标题】:How to create dbus service from console? 【发布时间】:2012-04-18 18:35:14 【问题描述】:使用诸如 dbus-send 或 dbus-monitor 之类的工具,有或多或少直接的方式来发出或侦听现有 DBus 服务的信号。
如何从 shell 注册服务和对象?期待类似的东西
1> dbus-service --session org.example.Test /Test
2> qdbus org.example.Test /Test org.example.Test.Call qqq
1> qqq
2> qdbus org.example.Test /Test org.example.Test.Call www
1> www
或喜欢
1> dbus-service --argc=2 --session org.example.Test /Test -- /usr/bin/printf "%s Q %s\n"
2> qdbus org.example.Test /Test org.example.Test.Call qqq ttw
1> qqq Q ttw
2> qdbus org.example.Test /Test org.example.Test.Call www 111
1> www Q 111
【问题讨论】:
使用 D-Bus 的简单方法太多了,我不觉得在 shell 中做这一切有用。 【参考方案1】:自己实现:http://vi-server.org/pub/dbus-shell-service.pl 以this question 为例。
Usage: dbus-shell-service.pl service_name command_line_arguments...
Example:
dbus-shell-service.pl org.example.Test /usr/bin/printf '%s Q %s\n' &
qdbus org.example.Test / org.vi_server.DbusShellService.Call2 s1 s2
s1 Q s2
【讨论】:
以上是关于如何从控制台创建 dbus 服务?的主要内容,如果未能解决你的问题,请参考以下文章