禁用内核级别的挂起(独立于发行版、DE 和登录用户或登录屏幕)

禁用内核级别的挂起(独立于发行版、DE 和登录用户或登录屏幕)

我的旧笔记本电脑中有一张工作不太正常的 gfx 卡(nVidia geForce Go 7400),它会阻止屏幕从挂起状态唤醒后重新打开。系统(Ubuntu 14.10)恢复,所以我可以听到声音,使用鼠标、键盘等,但屏幕保持黑色,没有灯光,所以完全关闭。每当它意外挂起时,我都必须盲目地导航到关机菜单并将其关闭,从而丢失所有未保存的数据。
另外我只能在冷的时候启动,所以我必须等待大约15分钟才能重新启动,所以这个问题很烦人。

我现在想要完成的是系统根本无法再挂起!
它应该是一个适用于所有 Linux 发行版、每个 DE(我当前使用 Unity 和 LXDE)以及全局所有用户的解决方案,包括没有登录的用户 (unity-greeter/lxde-greeter)。
当然,它必须涵盖所有可能的暂停触发因素,例如合上盖子、长时间不活动、电池电量不足、单击关机菜单中的选项、输入终端命令以及其他任何存在的情况。

感谢您的建议。

答案1

您可以在各个级别禁用这些电源管理功能,如此处所述关于服务器故障的回答

图形用户界面级别

在 GNOME 中(但应该与任何支持免费桌面倡议因此对于 Unity 和 LXDE,您应该编辑以下文件:

sudoedit  /usr/share/polkit-1/actions/org.freedesktop.upower.policy

一节涉及挂起功能,另一节涉及休眠功能。每个都有一个标签<allow_active>,您必须将其设置为 no:

<allow_active>no</allow_active>

键盘级别

现在,为了避免键盘上有这些功能的相关按键的问题,您必须输入以下命令:

gconftool -s /apps/gnome-power-manager/buttons/hibernate -t string interactive

据我记得,这也适用于 Unity 桌面,但我认为这不适用于 LXDE。

命令行级别

仍然可以从命令行触发挂起或休眠,以下是禁用它的方法。

我们必须创建一个可执行脚本,以/etc/pm/sleep.d/取消任何休眠或挂起操作。

sudoedit /etc/pm/sleep.d/000cancel-hibernate-suspend

该文件的内容应该是:

#!/bin/sh
# prevents hibernation and suspend
. "$PM_FUNCTIONS"
case "${1}" in
  suspend|hibernate)
    inhibit
    ;;
  resume|thaw)
    exit 0
    ;;
esac

现在使该文件可执行:

chmod 0755 /etc/pm/sleep.d/000cancel-hibernate-suspend

相关内容