ubuntu下dbus工具d-feet不显示路径和接口

4 篇文章 0 订阅

使用d-feet查看dbus程序时,系统原有的d-feet程序显示path和interface等信息,但是自己写的程序虽然在d-feet中能够识别,却不显示path和interface等信息。经过调查发现,d-feet调用程序的org.freedesktop.DBus.Introspectable接口(Interface)下的Introspect函数(Method)。实现了这个接口,返回字符串格式的xml,然后d-feet中就能显示了。

返回字符串格式如下:

"<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\" \n"
        "\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n"
        "<node>\n"
        "  <interface name=\"org.freedesktop.DBus.Introspectable\">\n"
            "    <method name=\"Introspect\">\n"
              "      <arg name=\"data\" direction=\"out\" type=\"s\"/>\n"
            "    </method>\n"
          "  </interface>\n"
        "  <interface name=\"test.signal.Type\">\n"
        "    <method name=\"FunctionOne\">\n"
        "      <arg direction=\"in\" type=\"s\"/>\n"
        "    </method>\n"
        "    <method name=\"FunctionTwo\">\n"
        "      <arg direction=\"in\" type=\"s\"/>\n"
        "    </method>\n"
        "  </interface>\n"
        "</node>\n"

效果对比图:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个命令是在 Linux 系统中启动 D-Bus 的命令。 其中: - `dbus-launch` 是 D-Bus 的启动命令。 - `--autolaunch` 参数表示自动启动一个新的 D-Bus 进程。 - `59cd40382b8a4dfd9147ebeae3544d28` 是自动生成的会话总线地址。 - `--binary-syntax` 参数表示使用二进制语法。 - `--close-stderr` 参数表示在 D-Bus 进程终止时关闭 stderr 文件描述符。 ### 回答2: dbus-launch --autolaunch 59cd40382b8a4dfd9147ebeae3544d28 --binary-syntax --close-std 命令是用于在Linux系统上启动DBus会话的工具DBus是一种进程间通信系统,用于在运行中的应用程序之间进行通信和交换消息。dbus-launch命令可以启动一个与当前会话相关联的DBus守护进程,使应用程序能够利用DBus进行通信。 在使用dbus-launch命令时,--autolaunch选项用于指定DBus守护进程的自动启动,后面的参数指定了DBus守护进程的启动标识。--binary-syntax选项用于生成以二进制格式表示的DBus启动信息,这样的输出可以被其他应用程序解析和使用。--close-std选项则表示在启动完DBus守护进程后,关闭标准输出和标准错误输出。 通过执行dbus-launch命令,DBus守护进程被启动后,就可以通过DBus接口进行各种应用程序之间的通信,包括发送和接收消息,调用远程对象的方法等。这对于需要实现应用程序间数据交换和协作的场景非常有用。 ### 回答3: 在Linux中,"dbus-launch --autolaunch 59cd40382b8a4dfd9147ebeae3544d28 --binary-syntax --close-st"命令的含义如下: dbus-launch是一个用于启动DBus消息总线的命令。DBus是一种进程间通信机制,它允许不同应用程序之间进行通信和交换数据。dbus-launch命令用于启动和管理DBus的会话总线。 --autolaunch 59cd40382b8a4dfd9147ebeae3544d28是dbus-launch命令的一个选项和参数。它指定了要使用的"autolaunch"配置,并提供了一个唯一的标识符(59cd40382b8a4dfd9147ebeae3544d28)。该选项告诉dbus-launch使用先前保存的配置启动自动总线。 --binary-syntax是dbus-launch命令的另一个选项。它指定了DBus消息交换的二进制语法。DBus可以使用不同的消息序列化格式,如二进制、XML等。使用--binary-syntax选项,dbus-launch将使用二进制格式的消息交换。 --close-st是dbus-launch命令的最后一个选项。它表示命令在启动DBus会话总线后自动关闭自身。这可以避免命令在后台持续运行,释放相关资源和内存空间。 总之,"dbus-launch --autolaunch 59cd40382b8a4dfd9147ebeae3544d28 --binary-syntax --close-st"命令启动DBus会话总线,并使用指定的配置和参数来管理进程间通信。它还使用二进制消息格式,并在启动总线后自动关闭自己。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值