如何禁用 Ubuntu 中的所有电源管理(对于服务器上网本)?

ade*_*ter 22 linux ubuntu electrical-power

我需要禁用与上网本服务器进入睡眠/休眠/关闭相关的所有内容。在不活动期间降低磁盘转速很好,但至关重要的是机器保持在通过 wi-fi(和整个互联网)保持连接的状态,以及保持 USB 子系统正常运行(我们是运行硬件调制解调器关闭)。

语境:

  • 上网本无法物理访问(它在泰国,我不是)。
  • 我只有 SSH 访问权限
  • 它正在运行 vanilla Ubuntu 10.04 32 位
  • 它是华硕eeePC品种的上网本

是否可以通过命令行进行操作而不会造成大量/任何停机时间?

Dus*_*and 18

在 Ubuntu 16.04 LTS 上,我成功使用以下命令禁用挂起:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
Run Code Online (Sandbox Code Playgroud)

这是重新启用它:

sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
Run Code Online (Sandbox Code Playgroud)


Huy*_*ens 12

您可以在不同级别禁用这些电源管理功能。

图形用户界面级别

在 GNOME 中,您应该编辑以下文件:

sudoedit  /usr/share/polkit-1/actions/org.freedesktop.upower.policy
Run Code Online (Sandbox Code Playgroud)

一节涉及挂起功能,另一节涉及休眠功能。每个作为您必须设置为 no 的标签:

<allow_active>no</allow_active>
Run Code Online (Sandbox Code Playgroud)

键盘级别

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

gconftool -s /apps/gnome-power-manager/buttons/hibernate -t string interactive
Run Code Online (Sandbox Code Playgroud)

命令行级别

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

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

sudoedit /etc/pm/sleep.d/000cancel-hibernate-suspend
Run Code Online (Sandbox Code Playgroud)

这个文件的内容应该是:

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

现在使该文件可执行:

chmod 0755 /etc/pm/sleep.d/000cancel-hibernate-suspend
Run Code Online (Sandbox Code Playgroud)