2

使用 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
4

1 回答 1

1

我自己实现了:http: //vi-server.org/pub/dbus-shell-service.pl这个问题为例。

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
于 2012-04-05T02:38:57.320 回答