![如何在 Kubuntu 中完全禁用 Hibernate?](https://linux22.com/image/1034634/%E5%A6%82%E4%BD%95%E5%9C%A8%20Kubuntu%20%E4%B8%AD%E5%AE%8C%E5%85%A8%E7%A6%81%E7%94%A8%20Hibernate%EF%BC%9F.png)
我已经看到了答案如何禁用休眠功能?,但我没有这样的文件。可能是因为这个建议是为 Ubuntu 编写的,而不是Ubuntu(KDE,不是Gnome)。
我没有交换在我的加密 SSD 上,如果我不小心按下“能源管理”中的“休眠”按钮,我的系统就会冻结(甚至无法更改 Caps Lock)。我的键盘在音量控制按钮旁边有一个休眠按钮 ( Fn+ F4),每次我按错键后系统就会冻结。
那么,禁用它的正确方法是什么?如果没有解决方案,也欢迎使用变通方法。
答案1
休眠触发因素:
- 在 Kickoff -> Leave -> Hibernate 中按下 Hibernate 按钮
- 按下系统托盘中的“能源”图标上的“休眠”按钮
- 发送dbus信号:
qdbus org.kde.kded /modules/powerdevil suspend 4
当触发休眠时,执行流程如下:
/usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux
叫做/usr/sbin/pm-hibernate
带有一些参数的调用- 记录开始
/var/log/pm-suspend.log
- 执行钩子以准备休眠。这些钩子位于和
/usr/lib/pm-utils/sleep.d/
,/etc/pm/sleep.d
并按名称排序(数字在前) performing hibernate
写入日志- 调用shell 函数
do_hibernate
,指示系统进入休眠状态 - 当系统恢复时,将执行钩子以从休眠状态恢复
- 系统已恢复运行
要禁用休眠模式,请输入/etc/pm/sleep.d/000no-hibernation
以下内容:
#!/bin/sh
# prevents hibernation
. "$PM_FUNCTIONS"
[ "$1" = "hibernate" ] && inhibit || true
正如之前所调用的脚本(在日志中输出模块和内存信息)000no-hibernation
一样,没有应用程序或模块被中断或卸载。这个名字的灵感来自于。小心00logging
/usr/lib/pm-utils/sleep.d/000kernel-change
错误 #665651这使得钩子的非零返回值无法取消挂起或休眠状态。
这解决了我的休眠问题。虽然屏幕被锁定了,但我可以忍受。这比崩溃的系统好多了。