【问题标题】:No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/NetworkManager/ActiveConnection/在路径 /org/freedesktop/NetworkManager/ActiveConnection/ 的对象上没有这样的接口“org.freedesktop.DBus.Properties”
【发布时间】:2018-09-09 06:27:12
【问题描述】:

我在用户的.profile 文件(不是root)中启动我的qt 应用程序,以使应用程序在启动时启动。有时当我的应用程序启动时,它会报告如下警告:

“路径 /org/freedesktop/NetworkManager/ActiveConnection/1 的对象上没有这样的接口 'org.freedesktop.DBus.Properties'”

我在谷歌上搜索但没有找到解释。

我的应用似乎仍然可以正常运行,但我想定位问题。

应用程序在 ubuntu 上运行并使用 Qt5。

提前致谢。

编辑
我尝试根据 Eligijus Pupeikis 的运行帮助调试 dbus:

gdbus introspect --system \
            --dest org.freedesktop.NetworkManager \
            --object-path /org/freedesktop/NetworkManager/ActiveConnection

它返回:

node /org/freedesktop/NetworkManager/ActiveConnection {
  node 0 {
  };
};

所以,这意味着没有错误消息所说的这样的对象,对吧?
而且,这个gns3 team member says 这个问题是关于 Qt 和 Ubuntu 的。

这是否意味着我不需要解决它?我不熟悉dbus和qt的关系。

【问题讨论】:

    标签: qt networking dbus


    【解决方案1】:

    很可能没有"/org/freedesktop/NetworkManager/ActiveConnection/1"这样的对象,因此它找不到'org.freedesktop.DBus.Properties'接口。

    来自文档org.freedesktop.NetworkManager.Connection.Active

    实现 Connection.Active 接口的对象表示尝试使用 Connection 对象提供的详细信息连接到网络。 Connection.Active 对象跟踪连接尝试的生命周期,如果成功,则表明连接的网络是“默认”还是首选访问网络。 NetworkManager 具有连接的概念,可以将其视为可以应用于网络设备的设置、配置文件或配置。这样的设置连接被暴露为 D-Bus 对象,并且活动连接表示设备和设置连接之间的这种关系。任何时候只能在一台设备上激活设置连接,反之亦然。但是,在激活和停用期间,多个活动连接可以在等待激活或停用时引用相同的设备或设置连接。

    您无法知道具有特定索引 1 的 ActiveConnection 对象存在,因此您需要通过从 /org/freedesktop/NetworkManager 对象的 org.freedesktop.NetworkManager 接口读取 ActiveConnections 属性来检查。

    为了更好地可视化和理解它的外观,我建议使用 D-Bus 调试器。如果您使用 Gnome,请查看 D-Feet

    【讨论】:

    • 这是否意味着应用启动时NetworkManager还没有启动,所以应用找不到dbus对象?
    • 我根据您的帮助做了一个小测试并编辑了原始帖子。 @Eligijus Pupeikis 但我怎么能确定它是否是一个错误?
    猜你喜欢
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    • 2022-08-11
    • 1970-01-01
    相关资源
    最近更新 更多