问题
是否可以阻止应用程序使用systemd-inhibit?
为什么?
systemd-inhibit允许应用程序覆盖来自 的指令/etc/systemd/logind.conf,特别是HandleLidSwitch=ignore、HandleLidSwitchDocked=ignore和LidSwitchIgnoreInhibited=no。
在某一时刻,几乎所有桌面环境的开发人员都发现他们可以做到这一点,包括KDE、Gnome和最近的Enlightenment。启蒙运动的最新发展是我当前的问题:
$ systemd-inhibit
WHO UID USER PID COMM WHAT WHY MODE
Enlightenment 1000 <username> 769 enlightenment handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch Normal Execution block
1 inhibitors listed.
$
Run Code Online (Sandbox Code Playgroud)
更糟糕的是,我认为启蒙的配置不允许指定在该事件中应该发生什么,即盖子被关闭。因此,每次我合上盖子时,笔记本电脑都会暂停。这是非常糟糕的,不应该发生,这就是为什么我首先有HandleLidSwitch=ignore, HandleLidSwitchDocked=ignore, 和LidSwitchIgnoreInhibited=noin 。/etc/systemd/logind.conf没有启蒙运行,一切都很好,我可以关闭盖子,而系统不会自动挂起;当启蒙运行时,我不能。
在我看来,任何应用程序绝对没有理由覆盖我的/etc/systemd/logind.conf. 因此,我想尝试阻止enlightenment_start使用抑制剂(希望它不是以这样的方式构建的,如果它没有抑制剂,它就不会再启动。)
相关问题
对类似问题(关于 gnome 中发生的同样的事情)的回答似乎表明,只能通过终止负责抑制剂的应用程序来删除 systemd 抑制剂。如果这不是一个选项,则建议阻止原始应用程序放置抑制剂。它建议阅读 的手册页dbus-daemon以了解如何做到这一点,但我不明白这是如何相关的。
方法
enlightenment? …