我尝试了运气:

  dbus-send --system --print-reply  \
     --dest=org.freedesktop.UDisks \
      /org/freedesktop/UIDisks/devices/md0 \
      org.freedesktop.DBus.Properties.GetAll \
      string:""

如果我使用d-free并发送“”
作为GetAll的参数,我得到一长串输出

尝试上面的代码只会给出一个错误:
Error org.freedesktop.DBus.Error.UnknownMethod: Method "GetAll" with signature "s" on
interface "org.freedesktop.DBus.Properties" doesn't exist

所以我做错了事,但我不知道出了什么问题。我在寻找解决方案,但没有提出一个不错的解决方案。也许是微不足道的,但我不知道。

最佳答案

您需要指定接口(interface)名称作为GetAll的参数。此示例对我有用(我拥有UDisks2而不是UDisks,但其他方面相似):

dbus-send --system --print-reply \
   --dest=org.freedesktop.UDisks2 \
   /org/freedesktop/UDisks2/block_devices/loop0
   org.freedesktop.DBus.Properties.GetAll
   string:"org.freedesktop.UDisks2.Block"

关于dbus - 使用dbus-send调用GetAll,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24700618/

10-11 00:59