使用DBUS发送或DBUS监控器等工具,可以或多或少地直接发出或侦听现有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

最佳答案

实现了我自己: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

关于linux - 如何从控制台创建dbus服务?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10021511/

10-10 12:34