问题标签 [dbus]

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 回答
1214 浏览

python - 如何快速获取 dbus 上的所有 VLC 实例?

基本上问题是,获取所有 VLC 实例的唯一方法是在所有未命名的实例中搜索 org.freedesktop.MediaPlayer 标识函数并调用它。

(或者,我可以使用自省 API,但这似乎不能解决我的问题)不幸的是,许多程序在发送 dbus 调用后,根本不响应,从而导致长时间且代价高昂的超时。

当这种情况发生多次时,它可以加起来。基本上内置超时时间过长。

如果我能以某种方式减少 dbus 超时,那将解决我的问题,但理想的解决方案将是一种方法。

我的想法是,我可以将每个对“Identify”的调用放在一个线程中,并且我可以杀死需要太长时间的线程,但这似乎不被建议。此外,添加多线程会大大增加 CPU 负载,而不会大幅提高程序的速度。

这是我试图快速运行的代码(或多或少),目前非常缓慢。

0 投票
1 回答
1592 浏览

dbus - Dbus——故障控制

有没有一种方法可以通知通过 Dbus 连接的进程另一个进程已死亡?我的意思是故障进程可以通知另一个进程他有异常终止。我知道您可以检查错误类型返回,但我想要别的东西。例如,我们有一个进程在等待答案,但我们用 CTRL+C 杀死了另一个进程。有没有办法通知其他进程..或者你应该等待几秒钟的响应......等等

0 投票
3 回答
2116 浏览

perl - 如何以 root 身份运行 Perl 脚本但仍会影响用户 gconf 设置

新问题:我正在尝试制作一个统一的脚本,根据我的喜好初始化新的 Ubuntu 安装,它必须在 sudo 下运行才能安装软件包,但使用 gconftool-2 影响 gconf 设置依赖于未处理的 dbus 会话通过仅在脚本中简单地更改 UID 的方法来正确地进行。有人知道如何做到这一点吗?

旧查询:我正在编写一个 Perl 脚本,在首次启动新的 Ubuntu 安装时执行。这是为了方便添加存储库、安装包和设置 gconf 设置。我的问题是权限。要安装软件包,我需要将脚本作为 sudo 执行,然后 gconftool-2 调用作用于 root 用户而不是我的个人用户。

0 投票
4 回答
2795 浏览

python - 如何使用 python 持续监控节奏盒的音轨变化

我想使用 python 来监控 Rhythmbox 中音轨的变化。我想不断检查轨道的变化并在轨道发生变化时执行一组函数。我编写了一段代码,它从 dbus 获取 Rhythmbox 接口并获取当前音轨详细信息。但是这个程序必须手动运行以检查是否有任何变化。

我是新手,我想知道我们如何创建一个持续运行和检查 Rhythmbox 的后台进程。

我不想制作一个 Rhythmbox 插件(这会让我的工作变得简单),因为我将扩展应用程序以收听多个音乐播放器。

请建议我要实现该功能究竟需要做什么。

0 投票
1 回答
3551 浏览

tcp - dbus-发送到远程机器

使用 dbus-send 向另一台机器 dbus 守护进程发送 dbus 消息的语法是什么?我看到目标地址有 TCP/IP 支持,但我找不到任何关于如何实际指定地址的文档。

0 投票
2 回答
871 浏览

python - 在python中向dbus对象添加方法

我需要使用在运行时确定的方法名称在 python 中创建一个 dbus 对象。

我试过的代码基本上是这样的:

在这种情况下,功能“舞蹈”在界面上可用,但功能“do_nothing”不可用。我不明白为什么?有没有办法做我想要实现的目标?

0 投票
2 回答
1658 浏览

qt - 如何在 Qt 中模拟消息总线?

我需要实现一个简单的消息总线:

  • 只有一个过程,因此不需要做 D-Bus。
  • 发布/订阅类型化事件(甚至可以是 QObjects)

我正在考虑使用 QSignalMapper 来标记“命名事件”,然后从插槽重新发射或将发布者信号连接到订阅者的信号......

有什么建议想法吗?还是我应该选择相对简单的设计模式?

PS:Windows 上 D-Bus 的 AFAICS 需要安装“第 3 方”软件才能与 Qt 一起使用。

0 投票
2 回答
10150 浏览

python - Python 和 d-bus:如何设置主循环?

我有 python 和 dbus 的问题。我查看了开发人员文档和规范,但我不明白如何设置主循环。我想收听通知事件。看

http://dbus.freedesktop.org/doc/dbus-python/doc/

http://www.galago-project.org/specs/notification/0.9/index.html

我的示例脚本:

DBusGMainLoop 没有其他方法,如 run()。如果我使用来自 gobject 的循环并更改源代码:

我收到以下错误消息:

知道该怎么做吗?提前致谢。飞哥

0 投票
2 回答
4248 浏览

python - 无法通过 DBus-Python 连接到 org.freedesktop.UDisks

这是我第一次使用 DBus,所以请多多包涵。这是我的代码:

我得到的错误是:

来自udisk-demon 手册页

udisks-daemon 在系统消息总线上提供 org.freedesktop.UDisks 服务。用户或管理员永远不需要启动这个守护进程,因为只要应用程序调用 org.freedesktop.UDisks 服务,它就会由 dbus-daemon(1) 自动启动。有关如何自定义 udisks-daemon 工作方式的信息,请参见 udisks(7) 手册页。

编辑:所以它是SystemSession()而不是SessionBus()

0 投票
1 回答
1061 浏览

gnome - gnome:如何在屏幕保护程序激活时执行命令?

有没有办法在每次激活 gnome-screensaver 时运行特定命令?

谢谢