我有以下设置:
xscreensaver (因为它很漂亮)light-locker (因为它比xscreensaver更安全)最近,xscreensaver开始绑定到dbus上的org.freedesktop.ScreenSaver。因此,我不能再并行地运行它们了,因为我在其他人抱怨a screensaver is already running之后启动了一个。
我读过在ArchWiki中,override服务是有可能的。但它非常模糊,我不熟悉d-bus。
有没有办法让两者并排在一起而不篡改其中一个的源代码呢?
记录:启动以太屏幕保护程序之前取消设置DBUS_SESSION_BUS_ADDRESS环境变量不起作用。
编辑:据我在我的研究中所见,似乎不可能阻止一个程序在不给这个程序造成麻烦的情况下收听d总线服务。如果有人能证实我的观点,这将是一个很好的答案。
发布于 2022-11-07 14:51:13
不愉快的部分是,你可以尝试再次运行这两个并行,但你最有可能面对的东西坏了。D总线作为总线工作,因此有发送者和接收者具有一定的纪律.在屏幕保护程序的情况下,最有可能的假设是屏幕保护程序只是系统上的一个,而其他软件则使用D总线来指示是否要阻止屏幕保护程序或其他标准功能的调用。
也就是说,您想尝试一下牛仔的方法,并通过尝试和错误学习一些D总线基础知识,通常目录/usr/share/dbus-1/services/有一堆完全以D总线服务名称命名的文本文件,名称末尾是.service。您也可以在那里找到org.freedesktop.ScreenSaver.service文件。
准备好编辑可能会破坏系统,这样您就知道如何在系统崩溃的情况下恢复它。但是这里有龙,你冒险尝试它,很可能你会破坏工作系统。
https://unix.stackexchange.com/questions/722938
复制相似问题