我需要禁用所有与让上网本服务器进入睡眠/休眠/关机状态相关的操作。在不活动期间降低磁盘转速是可以的,但至关重要的是,机器必须保持通过 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
它拥有什么/能做什么。