我想在合上盖子或从菜单中选择“暂停”时使用混合暂停方法而不是暂停。
我可以想象更改 pm-suspend 脚本以自动执行此操作,但可能有更易于维护/更简单的方法。
blu*_*yed 44
这是较旧的方法:首先挂起,然后在延迟(默认为 15 分钟)后唤醒休眠。在 3.6 之前的 Linux 内核中使用它,或者如果你喜欢它,它在 15 分钟后不再使用任何电源。
添加文件/etc/pm/config.d/00-use-suspend-hybrid:
# Always use suspend_hybrid instead of suspend
if [ "$METHOD" = "suspend" ]; then
METHOD=suspend_hybrid
fi
# The delay after which hibernation gets triggered (default: 900 seconds, 15 minutes):
PM_HIBERNATE_DELAY=900
Run Code Online (Sandbox Code Playgroud)
您可能希望通过以下代码确保您的系统支持混合方法。如果它说“0”它应该工作:
Run Code Online (Sandbox Code Playgroud)sudo pm-is-supported --suspend-hybrid && echo $?
如果您有 Linux 3.6 内核,则可以使用以下内容,它将从一开始就挂起到磁盘和 RAM。
添加文件/etc/pm/config.d/00-use-suspend-hybrid:
# WORKAROUND: always set the default hibernate mode first (normal mode)
# (not required if you have the patch mentioned by Rohan below (http://askubuntu.com/a/344879/169))
HIBERNATE_MODE=platform
# Always use hibernate instead of suspend, but with "suspend to both"
if [ "$METHOD" = "suspend" ]; then
METHOD=hibernate
HIBERNATE_MODE=suspend
fi
# Make sure to use the kernel's method, in case uswsusp is installed etc.
SLEEP_MODULE=kernel
Run Code Online (Sandbox Code Playgroud)
这将始终将图像写入磁盘,然后挂起到 RAM,其优点是恢复总是很快(只要电池没有耗尽)并且机器不会在短时间内唤醒(在 PM_HIBERNATE_DELAY 之后)真正冬眠。
缺点是该过程需要更长的时间(因为它总是休眠到磁盘),并且从长远来看,您的电池可能会耗尽(例如 12 小时后)。
use*_*186 37
在Ubuntu 18.04中有一个新的定时选项。在systemd是可用的新模式suspend-then-hibernate。这将从睡眠模式开始,然后在固定时间后转换到休眠模式。
在该hybrid-sleep模式下,只有当电池电量严重不足且系统关闭时,休眠部分才会生效。
要开始使用此功能,您需要创建一个/etc/systemd/sleep.conf包含以下内容的文件:
[Sleep]
HibernateDelaySec=3600
Run Code Online (Sandbox Code Playgroud)
这将在睡眠 1 小时后从睡眠进入休眠状态。您可以编辑HibernateDelaySec以更改休眠的延迟。
首先,使用 systemd 测试 suspend-then-hibernate 是否有效
按Ctrl+ Alt+打开终端T并输入:
sudo systemctl suspend-then-hibernate
Run Code Online (Sandbox Code Playgroud)
如果它有效,让它永久。
/etc/systemd/logind.conf使用您喜欢的编辑器打开文件。您将需要通过 调用您的管理权限sudo,gksudo或pkexec编辑此文件。
找到两行:
#HandleSuspendKey=suspend
#HandleLidSwitch=suspend
Run Code Online (Sandbox Code Playgroud)
注意,这些行在它们#前面被注释掉了。这suspend是默认操作。在这两行中删除#并更改suspend为suspend-then-hibernate,使它们看起来像这样:
HandleSuspendKey=suspend-then-hibernate
HandleLidSwitch=suspend-then-hibernate
Run Code Online (Sandbox Code Playgroud)
保存文件。logind通过以下命令注销并重新登录或重新启动服务:
systemctl restart systemd-logind.service
Run Code Online (Sandbox Code Playgroud)
警告!您的用户会话将重新启动
来源:盖子关闭暂停然后休眠
该解决方案通过blueyed 为真正的混合使用Linux 3.6+暂停并没有为我工作。我怀疑这是因为 Ubuntu 16.04 使用systemd但不使用该文件/etc/pm/config.d/00-use-suspend-hybrid。
首先,使用 systemd 测试休眠和混合睡眠是否有效
按Ctrl+ Alt+打开终端T并输入:
sudo systemctl hibernate
Run Code Online (Sandbox Code Playgroud)
这应该让您的计算机进入休眠状态。要尝试混合睡眠,请输入:
sudo systemctl hybrid-sleep
Run Code Online (Sandbox Code Playgroud)
如果它有效,让它永久。
/etc/systemd/logind.conf使用您喜欢的编辑器打开文件。您将需要通过 调用您的管理权限sudo,gksudo或pkexec编辑此文件。
找到两行:
#HandleSuspendKey=suspend
#HandleLidSwitch=suspend
Run Code Online (Sandbox Code Playgroud)
注意,这些行被注释掉了 #前面。这suspend是默认操作。在这两行中删除#并更改suspend为hybrid-sleep,使它们看起来像这样:
HandleSuspendKey=hybrid-sleep
HandleLidSwitch=hybrid-sleep
Run Code Online (Sandbox Code Playgroud)
保存文件。注销并重新登录。
笔记:
suspend或者hybrid-sleep还有第三种选择,hibernate.Suspend齿轮菜单中的 可使计算机正常挂起而不是混合睡眠。我希望这有帮助
| 归档时间: |
|
| 查看次数: |
26036 次 |
| 最近记录: |