问题标签 [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.
c++ - Raspberry Pi QDBus 错误:无法向服务发送消息
我正在尝试执行一个简单的 qt5 c++ 程序以列出所有 wifi 网络,当我在 linux mint 中执行它时,它开箱即用,但是当我尝试在 Raspberry pi(最新的 raspbian)中执行它时,我收到以下错误:
我的 wifi 加密狗正在工作,因为我可以使用以下命令列出所有 wifi 网络:
sudo iwlist wlan0 scan
怎么了?提前致谢。
bash - 屏幕保护程序禁止脚本
在 KDE4 中使用 Firefox 的“插件容器”用于 Flash 播放器时,我想自动禁用屏幕保护程序。我自己没有编写原始脚本,但我对其进行了一些修改。
现在,当我运行脚本时,出现此错误:
我试图让 top 输出整数,但我做不到。
我能做些什么来解决?
问候乔治
qt - QtDBus 使用 PowerManager 的简单示例
我正在尝试使用QtDbusPowerManager
与我系统中提供的接口进行通信。我的目标很简单。我将编写代码,使我的系统使用 DBus 接口休眠。
所以,我安装了d-feet应用程序来查看我的系统上有哪些接口 DBus可用,以及我看到了什么:
正如我们所看到的,我有一些接口和方法可以从中选择一些东西。我的选择是Hibernate(),来自接口org.freedesktop.PowerManagment
在这个目标中,我准备了一些非常简单的代码来只了解机制。我当然使用了Qt库:
不幸的是,我的终端出现错误:
接口“(null)”上带有签名“s”的
一些错误方法“方法”不存在
所以请告诉我这段代码有什么问题?我确定我忘记了函数QDBusInterface::call()中的一些参数,但是什么?
c++ - 将附加参数捆绑到 Qt4 样式 QDBusConnection::connect() 信号/插槽连接
我正在使用 QtDbus,我需要处理 DBus 信号。我通过将 DBus 的信号连接到 Qt 插槽来做到这一点,如下所示:
现在,由于将在一个 Qt 插槽中处理多个 DBus 设备的信号,我想用这个信号发送一些额外的信息(设备的地址,我在连接时就有的)。
在 Qt5 风格的连接中,可以用 lambdas 做这样的事情:
但是 QDBusConnection 没有可用的 Qt5 样式连接,我理解这一点,因为这些连接是动态的。
所以问题是:如何将附加参数捆绑到每个 QDBusConnection::connect()?
理想情况下,我希望能够执行以下操作:
qt - QDBusArgument 的确切类型
使用我currentType()
可以获得ElementType
. QDBusArgument
这是一个非常不精确的信息,它告诉我它是一个数组、一个基本类型等。我找不到深入挖掘的方法。例如,如果它是一个基本类型......究竟是哪个?短的?诠释?
是否可以获得用于调试目的的 QDBusArgument 的确切类型?
qt - 未从 Ubuntu 发出的 dbus 屏幕保护程序“ActiveChanged”信号
我无法为 Ubuntu 连接 qdbus 屏幕保护程序 ActiveChanged() 信号,但以下代码在 Fedora 中运行良好。
但是 gnome 的屏幕保护程序已连接并可以根据需要在 ubuntu 中工作。
是否有任何其他通用信号适用于所有桌面环境。谢谢
qt - 调用 QDBus 冻结 UI
我有一个使用QDBus
连接到蓝牙打印机的应用程序。配对打印机后,我调用Connect
接口org.bluez.Serial
。我意识到这实际上冻结了 UI,直到调用返回。我创建了一个工作对象,然后移到了一个单独的对象QThread
,也没有解决问题。
这就是我调用函数Connect
的方式。BluetoothPrinter::Worker::print
谢谢。
c++ - 服务器重新启动后重新连接到 QDBus 服务器 (Qt C++)
我正在测试使用 DBus 进行 QT C++ 项目(Linux)的进程间通信。
我没有使用总线守护程序,而是使用 unix 路径/套接字。
在穿越神秘的 QT DBUS 世界之后,一切似乎都进展顺利,直到我想测试我的一个接口的稳健性。
杀死服务器进程并重新启动它后,连接超时..我清理连接对象(客户端)并尝试重新连接到服务器。
客户端似乎无法重新连接,我收到以下错误:errName:org.freedesktop.DBus.Error.NoServer errMesage:无法连接到套接字/tmp/abcd:连接被拒绝
我试过: - QDBusConnection::disconnectFromPeer(addr); - 清理所有相关对象,因此不存在对连接的引用。
当我重新启动客户端时,连接到(重新启动的)服务器没有问题。
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 浏览器进行调试?
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 服务可能会导致地址更改,我们也可以区分不同的服务。
感谢您的任何建议。