如何在 Kubuntu 中完全禁用 Hibernate?

如何在 Kubuntu 中完全禁用 Hibernate?

我已经看到了答案如何禁用休眠功能?,但我没有这样的文件。可能是因为这个建议是为 Ubuntu 编写的,而不是Ubuntu(KDE,不是Gnome)。

没有交换在我的加密 SSD 上,如果我不小心按下“能源管理”中的“休眠”按钮,我的系统就会冻结(甚至无法更改 Caps Lock)。我的键盘在音量控制按钮旁边有一个休眠按钮 ( Fn+ F4),每次我按错键后系统就会冻结。

那么,禁用它的正确方法是什么?如果没有解决方案,也欢迎使用变通方法。

答案1

休眠触发因素:

  • 在 Kickoff -> Leave -> Hibernate 中按下 Hibernate 按钮
  • 按下系统托盘中的“能源”图标上的“休眠”按钮
  • 发送dbus信号:qdbus org.kde.kded /modules/powerdevil suspend 4

当触发休眠时,执行流程如下:

  1. /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux叫做
  2. /usr/sbin/pm-hibernate带有一些参数的调用
  3. 记录开始/var/log/pm-suspend.log
  4. 执行钩子以准备休眠。这些钩子位于和/usr/lib/pm-utils/sleep.d//etc/pm/sleep.d并按名称排序(数字在前)
  5. performing hibernate写入日志
  6. 调用shell 函数do_hibernate,指示系统进入休眠状态
  7. 当系统恢复时,将执行钩子以从休眠状态恢复
  8. 系统已恢复运行

要禁用休眠模式,请输入/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这使得钩子的非零返回值无法取消挂起或休眠状态。

这解决了我的休眠问题。虽然屏幕被锁定了,但我可以忍受。这比崩溃的系统好多了。

相关内容