我禁用了桌面上的电源按钮(按下它没有任何作用,没有关机,没有休眠/睡眠,因为我的孩子喜欢按它)
在我将我的 ubuntu 从 18LTS 升级到 20LTS 后,禁用的电源按钮行为不再起作用。按下它时,它会使 PC 休眠。
以下是我当前的设置gsettings list-recursively org.gnome.settings-daemon.plugins.power
org.gnome.settings-daemon.plugins.power lid-close-ac-action 'suspend'
org.gnome.settings-daemon.plugins.power time-critical 300
org.gnome.settings-daemon.plugins.power power-button-action 'nothing'
org.gnome.settings-daemon.plugins.power lid-close-suspend-with-external-monitor false
org.gnome.settings-daemon.plugins.power button-hibernate 'nothing'
org.gnome.settings-daemon.plugins.power idle-dim true
org.gnome.settings-daemon.plugins.power button-power 'nothing'
org.gnome.settings-daemon.plugins.power lid-close-battery-action 'suspend'
org.gnome.settings-daemon.plugins.power priority 0
org.gnome.settings-daemon.plugins.power idle-brightness 30
org.gnome.settings-daemon.plugins.power active true
org.gnome.settings-daemon.plugins.power critical-battery-action 'suspend'
org.gnome.settings-daemon.plugins.power button-suspend 'nothing'
org.gnome.settings-daemon.plugins.power button-sleep 'nothing'
org.gnome.settings-daemon.plugins.power percentage-critical 3
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 3600
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
org.gnome.settings-daemon.plugins.power ambient-enabled true
org.gnome.settings-daemon.plugins.power notify-perhaps-recall true
org.gnome.settings-daemon.plugins.power percentage-low 10
org.gnome.settings-daemon.plugins.power percentage-action 2
org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'suspend'
org.gnome.settings-daemon.plugins.power time-low 1200
org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 1200
org.gnome.settings-daemon.plugins.power time-action 120
org.gnome.settings-daemon.plugins.power use-time-for-policy true
cat /etc/systemd/logind.conf
[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
HandlePowerKey=ignore
HandleSuspendKey=ignore
HandleHibernateKey=ignore
#HandleLidSwitch=suspend
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192
#UserTasksMax=33%
您知道哪里出了问题吗?
谢谢您的帮助。
答案1
我不确定你的文件出了什么问题。
道路
logind
你试过了吗
sudo systemctl restart systemd-logind
或者(更好)重新启动?
道路
acpid
此外,这是一种获得您正在寻找的行为的可能方法。使用文件创建一个 ACPI 处理程序
/etc/acpi/events/
sudo nano /etc/acpi/events/powerbtn-acpi-support
(注:根据官方信息, “规则由简单的配置文件定义。acpid 将在配置目录(默认为 /etc/acpi/events)中查找,并解析所有不以句点 ('.') 开头或不以波浪号 (~) 结尾的常规文件。”
使该文件包含
event=button[ /]power action=
然后使用以下命令重新启动 acpi 守护进程
sudo service acpid restart
笔记:
- 纸板方式很有趣。
资料来源:
https://superuser.com/questions/1523918/run-script-when-power-button-pressed
https://wiki.archlinux.org/index.php/acpid
https://superuser.com/questions/699905/change-behavior-of-linux-power-button/699925
答案2
答案3
检查是否有其他桌面环境正在运行,如:
com.canonical.unity.settings-daemon.plugins.power
或
org.mate.power-manager
您可能做出了正确的更改,但针对的是错误的环境......
对 gsettings进行更通用的搜索也会有所帮助:
gsettings list-recursively | grep button
在我的系统上另外还会得到:
...
com.canonical.unity.settings -daemon.plugins.power power-button-action 'suspend'com.canonical.unity.settings -daemon.plugins.power button-hibernate 'hibernate'com.canonical.unity.settings -daemon.plugins.power button-power 'suspend'com.canonical.unity.settings -daemon.plugins.power button-suspend 'suspend'com.canonical.unity.settings -daemon.plugins.power button-sleep 'hibernate'
答案4
由于某种原因,sleep.conf 很少被提及,我无法从 Ubuntu Jammy(22.04LTS)上提出的解决方案中获得任何其他工作,所以最终这个解决了它:
$ sudo nano /etc/systemd/sleep.conf
然后,更改以下行,如下所示以禁用所有电源选项:
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no
此后,sudo ldconfig
和/或重新启动,您就应该一切就绪了。