首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有两个程序想要一个d总线服务--我如何同时运行它们?

有两个程序想要一个d总线服务--我如何同时运行它们?
EN

Unix & Linux用户
提问于 2022-10-29 17:04:50
回答 1查看 111关注 0票数 5

我有以下设置:

  • 对于我的屏幕保护程序,我使用了xscreensaver (因为它很漂亮)
  • 为了锁定屏幕,我使用了light-locker (因为它比xscreensaver更安全)

最近,xscreensaver开始绑定到dbus上的org.freedesktop.ScreenSaver。因此,我不能再并行地运行它们了,因为我在其他人抱怨a screensaver is already running之后启动了一个。

我读过在ArchWiki中override服务是有可能的。但它非常模糊,我不熟悉d-bus。

有没有办法让两者并排在一起而不篡改其中一个的源代码呢?

记录:启动以太屏幕保护程序之前取消设置DBUS_SESSION_BUS_ADDRESS环境变量不起作用。

编辑:据我在我的研究中所见,似乎不可能阻止一个程序在不给这个程序造成麻烦的情况下收听d总线服务。如果有人能证实我的观点,这将是一个很好的答案。

EN

回答 1

Unix & Linux用户

发布于 2022-11-07 14:51:13

不愉快的部分是,你可以尝试再次运行这两个并行,但你最有可能面对的东西坏了。D总线作为总线工作,因此有发送者和接收者具有一定的纪律.在屏幕保护程序的情况下,最有可能的假设是屏幕保护程序只是系统上的一个,而其他软件则使用D总线来指示是否要阻止屏幕保护程序或其他标准功能的调用。

也就是说,您想尝试一下牛仔的方法,并通过尝试和错误学习一些D总线基础知识,通常目录/usr/share/dbus-1/services/有一堆完全以D总线服务名称命名的文本文件,名称末尾是.service。您也可以在那里找到org.freedesktop.ScreenSaver.service文件。

准备好编辑可能会破坏系统,这样您就知道如何在系统崩溃的情况下恢复它。但是这里有龙,你冒险尝试它,很可能你会破坏工作系统。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/722938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档