问题标签 [qdbus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
249 浏览

c++ - Raspberry Pi QDBus 错误:无法向服务发送消息

我正在尝试执行一个简单的 qt5 c++ 程序以列出所有 wifi 网络,当我在 linux mint 中执行它时,它开箱即用,但是当我尝试在 Raspberry pi(最新的 raspbian)中执行它时,我收到以下错误:

我的 wifi 加密狗正在工作,因为我可以使用以下命令列出所有 wifi 网络: sudo iwlist wlan0 scan

怎么了?提前致谢。

0 投票
1 回答
81 浏览

bash - 屏幕保护程序禁止脚本

在 KDE4 中使用 Firefox 的“插件容器”用于 Flash 播放器时,我想自动禁用屏幕保护程序。我自己没有编写原始脚本,但我对其进行了一些修改。

现在,当我运行脚本时,出现此错误:

我试图让 top 输出整数,但我做不到。

我能做些什么来解决?

问候乔治

0 投票
1 回答
1714 浏览

qt - QtDBus 使用 PowerManager 的简单示例

我正在尝试使用QtDbusPowerManager与我系统中提供的接口进行通信。我的目标很简单。我将编写代码使我的系统使用 DBus 接口休眠。

所以,我安装了d-feet应用程序来查看我的系统上有哪些接口 DBus可用,以及我看到了什么:

在此处输入图像描述

正如我们所看到的,我有一些接口和方法可以从中选择一些东西。我的选择是Hibernate(),来自接口org.freedesktop.PowerManagment

在这个目标中,我准备了一些非常简单的代码来只了解机制。我当然使用了Qt库:

不幸的是,我的终端出现错误:

接口“(null)”上带有签名“s”的
一些错误方法“方法”不存在

所以请告诉我这段代码有什么问题?我确定我忘记了函数QDBusInterface::call()中的一些参数,但是什么?

0 投票
0 回答
97 浏览

c++ - 将附加参数捆绑到 Qt4 样式 QDBusConnection::connect() 信号/插槽连接

我正在使用 QtDbus,我需要处理 DBus 信号。我通过将 DBus 的信号连接到 Qt 插槽来做到这一点,如下所示:

现在,由于将在一个 Qt 插槽中处理多个 DBus 设备的信号,我想用这个信号发送一些额外的信息(设备的地址,我在连接时就有的)。

在 Qt5 风格的连接中,可以用 lambdas 做这样的事情:

但是 QDBusConnection 没有可用的 Qt5 样式连接我理解这一点,因为这些连接是动态的。

所以问题是:如何将附加参数捆绑到每个 QDBusConnection::connect()?

理想情况下,我希望能够执行以下操作:

0 投票
1 回答
210 浏览

qt - QDBusArgument 的确切类型

使用我currentType()可以获得ElementType. QDBusArgument这是一个非常不精确的信息,它告诉我它是一个数组、一个基本类型等。我找不到深入挖掘的方法。例如,如果它是一个基本类型......究竟是哪个?短的?诠释?

是否可以获得用于调试目的的 QDBusArgument 的确切类型?

0 投票
0 回答
206 浏览

qt - 未从 Ubuntu 发出的 dbus 屏幕保护程序“ActiveChanged”信号

我无法为 Ubuntu 连接 qdbus 屏幕保护程序 ActiveChanged() 信号,但以下代码在 Fedora 中运行良好。

但是 gnome 的屏幕保护程序已连接并可以根据需要在 ubuntu 中工作。

是否有任何其他通用信号适用于所有桌面环境。谢谢

0 投票
0 回答
179 浏览

qt - 调用 QDBus 冻结 UI

我有一个使用QDBus连接到蓝牙打印机的应用程序。配对打印机后,我调用Connect接口org.bluez.Serial。我意识到这实际上冻结了 UI,直到调用返回。我创建了一个工作对象,然后移到了一个单独的对象QThread,也没有解决问题。

这就是我调用函数Connect的方式。BluetoothPrinter::Worker::print

谢谢。

0 投票
1 回答
337 浏览

c++ - 服务器重新启动后重新连接到 QDBus 服务器 (Qt C++)

我正在测试使用 DBus 进行 QT C++ 项目(Linux)的进程间通信。

我没有使用总线守护程序,而是使用 unix 路径/套接字。

在穿越神秘的 QT DBUS 世界之后,一切似乎都进展顺利,直到我想测试我的一个接口的稳健性。

杀死服务器进程并重新启动它后,连接超时..我清理连接对象(客户端)并尝试重新连接到服务器。

客户端似乎无法重新连接,我收到以下错误:errName:org.freedesktop.DBus.Error.NoServer errMesage:无法连接到套接字/tmp/abcd:连接被拒绝

我试过: - QDBusConnection::disconnectFromPeer(addr); - 清理所有相关对象,因此不存在对连接的引用。

当我重新启动客户端时,连接到(重新启动的)服务器没有问题。

0 投票
1 回答
2116 浏览

dbus - 尽管存在方法,但在对象路径中找不到 D-Bus 方法

我用这个 com.example.appname.desktop 文件实现了一个应用程序,如下所示:

自省 XML 如下所示:

但是当我尝试启动该方法时,它给了我一个错误:

“annotation name=..” XML 标签(见 introspection XML)是找不到这个方法的原因吗?通过浏览itmm://192.168.1.1/query?version=1.0器浏览使用命令行参数启动应用程序,但它不是通过 D-Bus 服务启动的,这就是我的要求。有没有办法通过 firefox 或 google chrome 浏览器进行调试?

0 投票
1 回答
287 浏览

qt - 使用 Qt5 从 QDBusConnection 获取服务名称

我们的框架最近从 Qt4 更新到 Qt5。但是这里我们在 d-bus 事件处理上遇到了一些问题。

原始代码QDBusConnection::sender().name()返回空字符串。并且官方建议的替代方式QDBusContext::connection()返回类似“1.40”,“1.101”的东西(应该是地址什么的,并且是正确的)。

我们也尝试使用msg.service()where msg is a QDBusMessage,但仍然得到以前的地址。

我们需要得到它的名称,就像com.stackoverflow.HelpMe我们发送到的一样,QDBusConnection::connect()以确保即使重新启动 d-bus 服务可能会导致地址更改,我们也可以区分不同的服务。

感谢您的任何建议。