我正在尝试修复桌面上的休眠功能。我正在运行 x99 主板、Ubuntu 16.04、内核 4.8.0-41-generic 和 nvidia-370。
我可以通过手动设置/sys/power/disk
为shutdown
而不是默认值platform
并手动告诉内核休眠来成功休眠。我从中学到如何做到这一点https://help.ubuntu.com/community/PowerManagement/Hibernate。
sudo -s echo shutdown > /sys/power/disk echo disk > /sys/power/state
这几乎完美地工作。任务栏有一些轻微的图形问题,单击它时问题就会消失。此外,我的 nvidia 设置略有重置。我可以忍受。我尝试过的其他版本的 nvidia 驱动程序崩溃严重。
当值为时,platform
我的电脑不会完全关闭。我必须硬关机。但是,当我重新启动时,状态会正确恢复。只有当我手动强制休眠并手动设置值时,shutdown
我的电脑才会关闭并恢复状态。
由于这个方法有效,我尝试将我的/sys/power/disk
默认设置为shutdown
而不是平台。我遵循了https://askubuntu.com/a/837334/154184但价值似乎保持不变platform
。
jophde@pyre:~$ sudo cat /etc/pm/config.d/hibernate_mode HIBERNATE_MODE="shutdown"
我相信我的文件权限是正确的,因为它们与默认文件相同。
jophde@pyre:~$ sudo ls -lah /etc/pm/config.d/hibernate_mode -rw-r--r-- 1 root root 26 Mar 22 02:32 /etc/pm/config.d/hibernate_mode jophde@pyre:~$ sudo ls -lah /usr/lib/pm-utils/defaults -rw-r--r-- 1 root root 2.0K Mar 22 01:52 /usr/lib/pm-utils/defaults
sudo pm-hibernate
运行时运行并读取这些值的代码是/usr/lib/pm-utils/pm-functions
。从默认值和用户配置中设置值的部分似乎有点不靠谱,所以也许那里有错误?
for cfg in "${PM_UTILS_ETCDIR}"/config.d/*[!~] \ "${PM_UTILS_ETCDIR}/${STASHNAME}.config.d"/*[!~]; do [ -f "$cfg" ] || continue # Ugly, I know. The goal here is to allow multiple files in # /etc/pm/config.d declare these variables and have those # declarations add together instead of the last one overwriting # all the others. [ "$SUSPEND_MODULES" ] && REAL_SUSPEND_MODULES="$SUSPEND_MODULES" [ "$HOOK_BLACKLIST" ] && REAL_HOOK_BLACKLIST="$HOOK_BLACKLIST" [ "$ADD_PARAMETERS" ] && REAL_ADD_PARAMETERS="$ADD_PARAMETERS" [ "$DROP_PARAMETERS" ] && REAL_DROP_PARAMETERS="$DROP_PARAMETERS" set -a . "${cfg}" SUSPEND_MODULES="$REAL_SUSPEND_MODULES $SUSPEND_MODULES" HOOK_BLACKLIST="$REAL_HOOK_BLACKLIST $HOOK_BLACKLIST" ADD_PARAMETERS="$REAL_ADD_PARAMETERS $ADD_PARAMETERS" DROP_PARAMETERS="$REAL_DROP_PARAMETERS $DROP_PARAMETERS" set +a done
我没有任何其他配置/etc/pm/config.d/
,也没有修改
/usr/lib/pm-utils/defaults
。
如何HIBERNATE_MODE="shutdown"
使用 Ubuntu Hibernate 菜单项和pm-hibernate
?