如何使用 dbus-send 设置变体数组?

How to set a variant array with dbus-send?

进行此查询:

dbus-send --system --print-reply --dest=org.ofono /he910_0 org.ofono.ConnectionManager.GetContexts

我得到以下结构:

array [
  struct {
     object path "/he910_0/context1"
     array [
         dict entry(
           string "AccessPointName"
           variant                   string "mobile.vodafone.it"
        )
       ....
        dict entry(
           string "Settings"
           variant                   array [
              ]
        )
     ]
  }

我想用 dbus-send 消息设置 "Settings" 属性。我试过:

dbus-send --system --print-reply --dest=org.ofono /he910_0/context1 org.ofono.ConnectionContext.SetProperty string:"Settings" variant:array:string:"Interface=ppp0","Method=dhcp" 

但我收到:

dbus-send: Unknown type "array"

所以,最后一个问题是:如何通过dbus-send设置一个变体数组?

您无法使用 dbus-send 执行此操作,但您可以使用非常相似的工具 gdbus 执行您想要的操作。参见 how to use parameters signature as "a{sv}" in dbus-send