Answers:
该pmset
终端的命令应该做你想要什么。以下内容将使计算机在2014年12月2日23:45:00进入睡眠状态。不过,该命令必须从管理员帐户运行:
sudo pmset schedule sleep "12/02/14 23:45:00"
MM / DD / YY日期格式无法更改;因此,如果您习惯使用其他格式,请谨慎使用。
如果您定期执行此操作,则可以编写一个函数并将其保存到您的~/.profile
:
# Schedule sleep in X minutes, use like: sleep-in 60
function sleep-in() {
local minutes=$1
local datetime=`date -v+${minutes}M +"%m/%d/%y %H:%M:%S"`
sudo pmset schedule sleep "$datetime"
}
sleep-in:local:2: not an identifier: 23:35:31
。事实证明(至少在我的安装(zsh)上),您需要将该日期反引号表达式包装在双引号中。这样做:local datetime="`date -v+${minutes}M +"%m/%d/%y %H:%M:%S"`"
function sleep-cancel-all() {\n NUM_OF_SLEEPS=$(pmset -g sched | wc -l)\n if [[ $NUM_OF_SLEEPS -gt 0 ]]; then\n # The first line of output is a header, ignore it.\n NUM_OF_SLEEPS=$(expr $NUM_OF_SLEEPS - 1)\n seq $NUM_OF_SLEEPS | xargs -Iz sudo pmset schedule cancel 0\n fi\n }
\ n
默认情况下,无法使用系统偏好设置中的选项来执行此操作。
但是,您可以使用简单的命令从命令行执行此操作:
sleep 10; osascript -e 'tell application "System Events" to sleep'
sleep 10
将以下命令的执行暂停10秒钟。如果要分钟或小时,则必须将10更改为所需的秒数。osascript -e 'tell application "System Events" to sleep'
使计算机进入睡眠状态。sleep
接受等参数10s
,5m
,3h
用于分别秒,分钟和小时。
以上所有答案均有效,但如果您希望定期执行此操作,则建议使用Power Manager软件,该软件可让您轻松设置一次和周期性事件的自定义睡眠时间(比使用Terminal命令更容易)。我的想法)。该软件相对昂贵(50美元),但是有一个免费的30天试用版,其中包含所有功能。您还可以通过iPhone控制电源管理器,如果您不在计算机旁但希望将其设置为睡眠或关闭,则非常有用。
为了通过本地网络上的iPhone对Mac进行电源控制,我使用了Off Remote,它还可以在接下来的24小时内安排系统操作(关机,锁定,重新启动,注销,睡眠),并且在iOS中仅为3美元商店,但需要在Mac上安装其他辅助应用程序才能接收来自iPhone应用程序的说明。
这里的另一个答案是建议使用价格为50美元的Power Manager软件,但我建议使用36美元的Keyboard Maestro软件,它比Power Manager的直观性要差一些,但具有比电源管理更大的灵活性。在寻找安排Mac进入睡眠状态的能力时,我记得我有此实用程序,能够快速拖放KM中的宏组件以创建一个在设定的时间段内暂停然后将Mac放入睡觉:
…Keyboard Maestro中还有一个动作,还可以安排宏(使Mac进入睡眠,关机,重新启动等)在指定时间触发:
Keyboard Maestro在开发可以增强Mac使用的宏的过程中更便宜,更健壮,但是与Power Manager应用程序相比,它的学习曲线要多得多。
sudo sh -c 'wget http://download.com/file.zip; pmset sleepnow'
仅在wget退出时才执行sleep命令。