![通过 SSH 唤醒睡眠状态的 Mac 显示器](https://linux22.com/image/1368127/%E9%80%9A%E8%BF%87%20SSH%20%E5%94%A4%E9%86%92%E7%9D%A1%E7%9C%A0%E7%8A%B6%E6%80%81%E7%9A%84%20Mac%20%E6%98%BE%E7%A4%BA%E5%99%A8.png)
我使用 Jenkins 作为 CI 服务器,通过 SSH 连接到运行 OS X Mountain Lion (10.8.4) 的 iMac,在 iOS 应用上运行一些 UIAutomation 集成测试。iMac 实际上距离我 10 英尺(但隔着一张桌子),所以我可以看到屏幕。但是,测试不会唤醒显示器,所以我经常看不到它们。
一旦 Jenkins 通过 SSH 接入,有没有办法从终端唤醒显示器?
到目前为止我已经尝试过使用 Applescript 按箭头键,并使用 Wake Assist 应用程序。我还尝试设置唤醒时间表为当前日期。最后,我尝试使用以下caffeinate
命令:caffeinate -t 300 &
。计算机的“唤醒以访问 Wi-Fi”复选框已启用。
到目前为止,我最好的解决方法就是将 iMac 设置为保持唤醒状态至少 3 小时。但是,保持正常的睡眠行为会更好,因为我假设屏幕从睡眠状态唤醒会以视觉方式提醒我集成测试正在运行。这也更酷 :)
答案1
屏幕保护程序是一个独立程序,它由系统根据设置的触发器(例如时间或热点)启动和停止,并出现在进程状态列表中,但前提是它正在运行时。
我可以通过以下方式停止屏幕保护程序:
killall -1 ScreenSaverEngine
当我用热角触发它时它会再次启动,并且按照正常计时器,我刚刚检查过。