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

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

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

语境:

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

是否可以通过命令行执行此操作而不会导致严重/任何停机?

答案1

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

图形用户界面级别

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

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

一个部分涉及挂起功能,另一个部分涉及休眠功能。每个部分都是一个标签,您必须将其设置为 no:

<allow_active>no</allow_active>

键盘级别

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

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

命令行级别

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

我们必须创建一个可执行脚本来/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

答案2

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

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

重新启用它:

sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

答案3

https://wiki.ubuntu.com/PowerManagement

然后是事件管理器守护进程 apmd 和 acpid

它们提供在这些外部事件上执行命令的方法。它们分别运行在 /etc/acpi 或 /etc/apm 下的配置目录树中找到的脚本。

acpi-support 软件包在 /etc/acpi 下提供了一组这样的脚本,用于处理笔记本电脑上的特殊 acpi 按钮。

pm-utils 软件包提供了 pm-action、pm-hibernate、pm-suspend 和 pm-suspend-hybrid 命令。它们允许通过软件触发硬电源管理事件。pm-tools 还提供脚本目录,以便在切换电源(节能)状态时挂接其他软件。

gnome-power-manager 是一个具有图形用户界面的程序,它可以订阅电源事件并对其采取行动。它会显示笔记本电脑的电池状态,例如,如果使用电池,屏幕会变暗。如果用户已登录,它还会在空闲一段时间后或电池耗尽之前关闭或休眠计算机。

尝试使用 apt-get remove 卸载其中一些。

答案4

您可以配置/etc/default/acpi-support。您可以在那里启用或禁用功能。设置SUSPEND_METHODS="none"将禁用 apci-support 工具的暂停功能。

稍后您可以运行:

$ sudo /etc/init.d/acpi-support restart

另一方面,acpid 守护进程将检查/etc/defaults/acpi-support它拥有什么/能做什么。

相关内容