Send nested containers on dbus via ssh without gdbus

214 views Asked by At

I need to send a message to a method with signature (bbb). Monitoring the system calls, I see that the datatype sent to this method is variant:struct.

I am able to send simple, not nested, data types with

DBUS_SEND = ["dbus-send", "--system", "--dest=com.destination",
            "--type=method_call",   "--print-reply", "/com/destination",
             "org.freedesktop.DBus.Properties.Set", "string:\"com.destination\"",
             "string:\"color\"",  "variant:string:\"black\""]

dbus_send_command = ' '.join(n for n in DBUS_SEND)
subprocess.call(['ssh', '-tt', 'user@machine', dbus_send_command])

The problem is thatdbus-send does not support neither nested containers, nor struct, and gdbus is not available on the remote.

Would it be possible to use pydbus or any other alternatives to send messages with nested containers to a remote machine?

1

There are 1 answers

0
Vyacheslav On

There is a busctl installed on the machine, so we can send this type of message