如何防止 Mac 笔记本电脑在合盖时进入睡眠模式?

7

我正在使用C语言编写一个程序,希望它有一个选项,即使笔记本电脑的盖子关闭,也能保持其唤醒状态,以便进程可以继续运行。关于这个主题似乎很少有信息可用,所以我真的不知道从哪里开始。如果有人知道如何实现这一点或者我在哪里可以找到更多信息,我会非常感激(例如,我是否需要处理BIOS,还是有内置函数?)。此外,如果使用其他语言更容易,那也没问题,因为我并不固执地要使用C。

4个回答

3
你需要为此编写一个内核扩展程序。操作系统默认不支持此功能,因为笔记本电脑没有设计好使其在盖子关闭且内部显示器启用时能够适当冷却。SleepLess是一款10美元的实用工具,也可以达到你想要的效果。如果出现了屏幕变形等问题,那就是你自己的责任。:-)。
如果你想自己编写程序,LidSleep.kext看起来是个不错的开始(它实现了相反的功能,即在盖子关闭时休眠),并附带源代码。
(使用外部输入设备唤醒某些Mac笔记本电脑并关闭屏幕是可行和受支持的。)

顺便提一下,应该可以仅防止空闲睡眠,而不防止显示器睡眠。 - Hasturkun

1

正如该问答中提到的那样,您只能使用IOPM断言来防止空闲睡眠,而无法防止强制睡眠(例如盖上电脑盖子)。 - Nicholas Riley
@Nicholas:啊,我好像错过了那个注释。 - Hasturkun

0

-1
如果您的笔记本电脑是相当新型的,您不需要添加任何东西。如果您正在运行Lion系统,它简单地就能工作。如果您正在运行较旧的操作系统,则必须通过从外部键盘或鼠标发送按键或单击来唤醒笔记本电脑。请参见http://support.apple.com/kb/ht3131

1
不,这不是用于外部键盘或鼠标的。这是为了在笔记本电脑关闭时非交互式程序可以继续运行。 - Kevin Vermeer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接