是否可以编写AppleScript以使显示器进入睡眠状态(如果计算机设置为锁定睡眠状态,则会锁定显示屏)?您可以通过输入 ^⇧⏏( shift + control + eject )从键盘执行此操作;这使得所有程序等都在运行,而只是会关闭屏幕。
答案 0 :(得分:16)
我一直希望这样做一段时间。我只是在手册页中找到了。您可以使用以下命令实现即时显示睡眠。 (我在OS X 10.10上测试过它。)
pmset displaysleepnow
(无需root权限/ sudo!)
我不确定这是否适用于10.9.4,但无论如何都要试一试!
答案 1 :(得分:8)
您可以使用:tell application "Finder" to sleep
或使用bettertouchtool。它是一个小应用程序,除了applescript之外,您还可以使用本机函数。
答案 2 :(得分:3)
编辑2015-08-23:从OS X 10.9开始,这是可能的(从shell开始)! Go see user3064009's answer for the update :-)
没有好办法做到这一点;有a SuperUser question关于同样的事情。但是,根据您的需要,我知道有一种解决方法:激活屏幕保护程序。 (这是他们在SuperUser上的建议)。您可以使用launch application id "com.apple.ScreenSaver.Engine"
在AppleScript中执行此操作,也可以通过运行应用程序/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine
从命令行执行此操作。我不知道这是否在技术上记录在任何地方,但现在它已经适用于操作系统的几次迭代。它可能没有完全符合您的要求 - 例如,您的屏幕保护程序可能是丰富多彩的,如果您想要一个黑屏,这没有用 - 但它会是相同的,如果你有这个设置它会锁定屏幕起来。
有关其他解决方法的详细目录,请查看this MacScripter thread:它记录了
key code EJECT
,因为没有这样的密钥代码。pmset
告诉显示屏在一分钟内进入睡眠状态,但您必须等待。答案 3 :(得分:2)
do shell script "pmset displaysleepnow"
答案 4 :(得分:1)
我还没有找到一种以编程方式执行此操作的简单方法,但我找到了一个非常小的免费应用程序,可以立即将显示器置于睡眠状态,称为“SleepDisplay”。 (还有另一个同名的应用程序对我不起作用。)
所以你可以
tell application "SleepDisplay" to activate