2012-04-05 3 views
2

Есть более или менее простые способы испускать или прослушивать сигналы существующих служб DBus с помощью таких инструментов, как dbus-send или dbus-monitor.Как создать сервис dbus с консоли?

Как зарегистрировать сервис и объект из оболочки? Ожидать что-то вроде

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 
+0

Существует так много простых способов использования D-Bus, что я не чувствую, что выполнение этого в оболочке - все это полезно. –

ответ

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 
+0

[Зеркальное отображение на github] (https://gist.github.com/2307606) –