如何在 Kubuntu 中完全禁用 Hibernate?

Lek*_*eyn 12 encryption 10.10 hibernate kubuntu

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

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

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

Lek*_*eyn 7

休眠触发:

  • 在 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. do_hibernate调用shell函数,指示系统休眠
  7. 当系统恢复时,执行钩子从休眠状态恢复
  8. 系统再次运行

要禁用休眠,请/etc/pm/sleep.d/000no-hibernation使用下一个内容创建:

#!/bin/sh
# prevents hibernation
. "$PM_FUNCTIONS"
[ "$1" = "hibernate" ] && inhibit || true
Run Code Online (Sandbox Code Playgroud)

正如000no-hibernation在脚本00logging(在日志中输出模块和内存信息)之前调用的那样,没有应用程序或模块被中断或卸载。这个名字的灵感来自/usr/lib/pm-utils/sleep.d/000kernel-change. 请注意错误 #665651,它会使钩子的非零返回值无法取消挂起或休眠。

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