如何防止计算机自动进入睡眠和/或休眠模式?

我正在使用Ubuntu 12.04,但我的笔记本无法从睡眠/暂停/休眠中唤醒。(睡眠和暂停是同一回事吗?)我甚至不确定它到底在做哪一种。当我一天的工作结束后,我会锁定屏幕(Ctrl-Alt-L)。第二天回来时,屏幕处于省电模式,无论是键盘/鼠标还是内置键盘/触控板上的键入或点击,或者是按下电源按钮,都无法将其唤醒。
唯一能让机器工作的方法就是长按电源按钮直到关机,然后再按下电源按钮重新开机。显然,我前一天打开的任何东西基本上都消失了,特别是我的虚拟机都会被粗暴地关闭而没有任何警告。
这真的让我发疯。每天工作的第一个小时我都在努力弄清楚如何防止我的电脑在夜间死机。
我尝试过的方法有:
编辑org.freedesktop.upower.policy以禁用挂起和休眠。 在“系统设置”的“电源”部分设置电源管理选项。 查看BIOS中的所有电源管理选项(没有一个与睡眠/挂起/休眠相关)。 阅读我能找到的与主题有关的每篇论坛帖子/askubuntu帖子。 将acpi=off添加到内核参数中(导致USB键盘和鼠标无法工作,所以我没有等待看它是否修复了挂起问题)。 将apm=off添加到内核参数中。
我的问题是:如何在Ubuntu 12.04中禁用自动睡眠和/或休眠(或任何类似的功能)。我不在乎是否仍然可以通过按按钮、运行某些命令或倒着背诵Led Zeppelin歌词来进行睡眠/挂起/休眠/等操作。我只是希望早上能够立即使用我的笔记本电脑。
*这台笔记本电脑是戴尔Latitude系列的某个型号。我不想过于具体,因为我看到很多类似的问题因为过于具体而被关闭。我认为我的问题足够通用 - 它是关于最新稳定版本的Ubuntu的问题。

链接到 dmesg

链接到 /var/log/kern.log

编辑:

到目前为止,我尝试过的所有方法都无法阻止Ubuntu在夜间进入睡眠状态,而且一旦进入睡眠状态,我尝试过的任何方法都无法可靠地将其唤醒。我看到有些帖子说有问题的视频驱动程序可能会导致唤醒问题。

昨晚,凭直觉,我在下班前尝试切换到控制台(ctrl+alt+1),只是想看看会发生什么。今天早上当我唤醒电脑时,它立即回到了控制台。我切换到Gnome(ctrl+alt+7),虽然屏幕看起来卡住了,但我输入了密码,按下回车键,然后去冲了杯咖啡。几分钟后,我的桌面就像昨晚离开时一样准备好了。

我将继续尝试这个方法,看看它是否可靠。

编辑 2:

没戏。注销后切换到控制台对我来说毫无作用...每天早上还是得重启电脑。这真让我抓狂...我简直不敢相信Ubuntu的挂起功能有多么不稳定。或者它竟然不能简单地禁用。

你有没有在屏幕保护程序的高级设置下查看过? - Mitch
屏幕保护设置在哪里?我在显示、外观、亮度和锁定下面找过了,但是找不到屏幕保护。系统设置中的搜索框也没有帮助:搜索“保护”时没有结果。 - Mark E. Haase
请检查电源设置,它们有关于待机/休眠的规定。 - Thomas Ward
你需要考虑的是,你认为的“暂停”可能只是一个崩溃,简单明了。请将dmesg和/var/log/kern.log粘贴到pastebin上。如果它是被暂停了,你应该会看到闪烁/缓慢亮起-熄灭-再亮起的指示灯。 - ish
@izx /var/log/kern.log 在过夜期间没有显示任何有趣的内容,除了偶尔出现一些被阻止的数据包。我可能错了,但是在启动过程中,dmesg缓冲区会被覆盖,所以我不认为可以在那里找到崩溃的迹象。 - Mark E. Haase
你是对的,但在启动时它经常包含有关电源管理的警告/错误信息,这可能会有所帮助。 - ish
@izx 我真的不想发布它,因为这几乎肯定会导致问题被关闭为“过于具体”。我浏览了一下关键词,比如“电源”,“ACPI”和“APM”,我没有看到任何明显的错误。我的问题不是如何修复挂起/休眠的问题,而是如何禁用它。 - Mark E. Haase
我看到你是最近从SO/SU来的,但我向你保证你的担忧是没有根据的 - 我们在这里不会滥用“太局限”的标签。当然,没有人喜欢冗长的内联代码块,所以如果你能把那些东西放在pastebin上,并在你的问题/评论中包含链接,那就太好了。 - ish
@izx 好的。谢谢你的澄清。我已经更新了我的问题,附上了我离开工作到回来期间的dmesg和/var/log/kern.log的摘录。 - Mark E. Haase
8个回答

这里有两种常见的Gnome 3方法,通常会禁用挂起;否则,您可以尝试使用acpi=off参数启动:
  1. 电源设置:

    enter image description here

    enter image description here

  2. gnome-tweak-tool(如有需要,请安装):

    enter image description here


谢谢 @izx。在发帖之前,我已经尝试过 #1。刚刚我尝试了 #2,但选项已经设置为 "Nothing"。你关于 acpi=off 的评论提醒我,我也已经尝试过这个方法,所以我更新了原始帖子。不过还是要给你的努力点个赞。 - Mark E. Haase
嗯,我的电脑在整个周末都处于休眠状态后成功唤醒了,然后在周一晚上再次从睡眠中醒来。我想我实际上并没有改变任何东西,所以不确定为什么它突然开始工作了。我选择这篇帖子作为正确答案,因为它最详尽。 - Mark E. Haase
1删掉上一条评论。自从连续工作两次后,它每天都失败了。我快要把这台电脑扔出窗外了。 - Mark E. Haase
我安装了gnome-tweak-tool,并发现在我的Dell GX620上,我将挂起操作设置为电池供电时的笔记本盖关闭动作以及交流电供电时的笔记本盖关闭动作。奇怪的是,我的Dell GX620并不是一台笔记本电脑,而是一台超小型塔式主机(USSF)。我刚刚将这些设置更改为"无操作",明天会确认是否阻止了进入睡眠状态。 - user88823
我需要找到“亮度和锁定”选项来禁用自动关机。 - shaby

从系统设置或通过在Dash中搜索,进入电源设置。你会在那里找到你需要的东西 ;)

Power settings

前往亮度和锁定选项,以防止锁定:

Brightness and Lock settings


@Kaled Kelevra,我创建了文件00CPU并按照所有步骤进行操作,但是不幸的是,我的机器在10分钟后仍然进入睡眠状态。
ArchLinux论坛上,我找到了一个对我有效的解决方案。请参考答案#21。
这是我在/etc/X11/xorg.conf中修复的方法:
Section "ServerLayout"

    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Evdev Mouse" "CorePointer"

  Option "BlankTime" "0"
  Option "StandbyTime" "0"
  Option "SuspendTime" "0"
  Option "OffTime" "0"

我刚刚添加了你在那里看到的4个选项。试一下并回复。祝好运。

为什么不试试Caffeine应用程序指示器呢?它完全符合你的需求,并且非常易于使用。

2警告:最近我使用了Ubuntu的Caffeine应用程序指示器,试图让我的一个桌面(运行在18.04.2 LTS上的4.15.0-46)在我不在城里的时候保持开启和可访问状态。尽管已经激活/启用了该系统,但它最终还是进入了暂停/休眠状态,导致我离开期间无法访问。在那次经历之后,我建议遵循接受的答案(即禁用自动暂停),但你的情况可能会有所不同。 - Spencer D

我不知道你是否已经解决了你在暂停/休眠上的问题,但如果没有,我有一个脚本可能可以解决它(我也曾遇到同样的问题,这个脚本对我有用)。:) 在/etc/pm/sleep.d/目录下创建一个脚本(例如"sudo gedit /etc/pm/sleep.d/ 00CPU"),内容如下:

#!/bin/sh
# Workaround for concurrency bug in xserver-xorg-video-intel 2:2.4.1-1ubuntu10.
# Save this as /etc/pm/sleep.d/00CPU

. "${PM_FUNCTIONS}"

case "$1" in
hibernate|suspend)
for i in /sys/devices/system/cpu/cpu*/online ; do
echo 0 >$i
done
;;
thaw|resume) 
sleep 10 # run with one core for 10 secs
for i in /sys/devices/system/cpu/cpu*/online ; do
echo 1 >$i
done
;;
*)
;;
esac

然后只需给脚本执行权限(sudo chmod 755 00CPU),就这样!享受你的Ubuntu吧。
附注:对不起我的英语。 附注2:你可以更改“sleep 10”的值,例如改为“sleep 5”,这样你的第二个处理器核心会稍早运行一些。
注意:某些内核版本和确定的多核处理器似乎存在并发性问题。

在Unity Dash中键入屏幕保护程序,并点击它。当窗口打开时,点击高级选项卡,并取消勾选电源管理启用。

enter image description here


大多数人都安装了xscreensaver... :-) - reverendj1
抱歉,我应该提一下:我没有使用Unity,而是使用Gnome。Gnome有一个仪表盘,但输入“screen”和/或“saver”没有任何结果。 - Mark E. Haase
1你有Gnome经典版还是Gnome 3? - Mitch
@Mitch Gnome 3. - Mark E. Haase

你可以使用gsettings来启用和禁用显示器的休眠:
  • 禁止关闭屏幕

    gsettings set org.gnome.desktop.session idle-delay 0

  • 启用5分钟后关闭屏幕

    gsettings set org.gnome.desktop.session idle-delay 300

来源:https://askubuntu.com/a/788456/88543


如果另一个问题的答案直接帮助到这个问题,并且这些问题相似,考虑将此问题标记为另一个问题的重复,而不是多次复制你的答案。 - Thomas Ward

使用12.04版本后,我发现一旦启动了屏幕保护/锁定功能,我的电脑似乎很难激活,特别是当它锁定了几分钟以上时。系统并没有真正进入暂停或休眠状态,只是看起来是这样。

我发现我可以等待几分钟,最终系统会提示我输入用户名和密码,然后我就可以继续使用了。在我弄清楚系统会恢复之前,我会像你一样将其关机。

我不知道为什么需要这么长时间,可能是个bug。如果只是简单地等待3到10分钟有帮助吗?如果是的话,也许我们遇到了同样的问题。