小编0ra*_*nge的帖子

防止 Linux 中的 systemd-inhibit

问题

是否可以阻止应用程序使用systemd-inhibit

为什么?

systemd-inhibit允许应用程序覆盖来自 的指令/etc/systemd/logind.conf,特别是HandleLidSwitch=ignoreHandleLidSwitchDocked=ignoreLidSwitchIgnoreInhibited=no

在某一时刻,几乎所有桌面环境的开发人员都发现他们可以做到这一点,包括KDEGnome和最近的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? …

linux suspend systemd enlightenment

6
推荐指数
1
解决办法
986
查看次数

标签 统计

enlightenment ×1

linux ×1

suspend ×1

systemd ×1