如何永久禁用睡眠/暂停?
巧妙地打破比坦率地打破更糟糕。 背景: 我已经在系统设置->电源中禁用了暂停。 齿轮菜单上仍然显示“挂起”选项(不是我希望它消失),并且键盘上的“睡眠(月亮)”按钮仍会触发挂起。 正如其他人所指出的那样,#1中的选项每个月大约一次,很容易被错误击中。 似乎有1%的平台可以正确挂起,因为某个地方的一些驱动程序工程师忘记了唤醒时检查PCIe或IO空间寄存器X是否已恢复。因此,它比坏还糟:醒来后通常一切都很好,但事实并非如此。希望这些损坏的寄存器都不会以蠕动的方式影响可靠性,例如ECC配置或存储FIFO深度。但是它们通常会以一种或另一种形式出现,这是一个原因,例如,为什么针对图形驱动程序的勘误会无限地持续下去,原因是它们在市场上首次亮相多年(“图形芯片X在暂停后恢复正常运行一个小时就死了” )。 应该有一个自动测试来查看在整个睡眠周期中哪些寄存器发生了变化,但是很少有供应商进行这种测试。由于某些寄存器(例如定时器)会发生变化,因此测试变得有些复杂。更糟糕的是,有时您必须以特定顺序或特定粒度读取寄存器,或者首先在其他位置写入读取索引。因此,此过程无法集中在行业中方便的地方,如Canonical的办公室。除非以一种使比较容易的方式重新定义PCIe,否则这确实是真的没有希望。 由于驱动程序开发的混乱状态,将永远不会编写#5中的神奇测试套件。因此,如果没有这一点,我的问题是。 我非常绝望,我不介意在/ etc / whatever_suspend_file上进行黑客入侵,但是如果有一种“礼貌”的方式来做到这一点,那就很不错了,例如“系统设置”->“该电源永久禁用”中不存在的复选框。之所以暂停,是因为它从第一天起就构思不当。” 注意:我在这里不是在谈论休眠,它不应该受上述问题的困扰,因为它涉及到电源循环。尽管从原则上讲,从永久性存储中恢复寄存器可能会遇到类似的问题。