回答:
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ソフトウェアをお勧めします私の意見)。ソフトウェアは比較的高価(50ドル)ですが、すべての機能を備えた30日間の無料試用版があります。iPhoneからPower Managerを制御することもできます。これは、コンピューターから離れているがスリープまたはシャットダウンするように設定する場合に便利です。
ローカルネットワーク上のiPhoneからMacの電源を制御するために、次の24時間以内にシステムアクション(シャットダウン、ロック、再起動、ログオフ、スリープ)をスケジュールできるOff Remoteを使用しました。 iPhoneアプリから指示を受け取るには、Macに追加のヘルパーアプリをインストールする必要があります。
ここでの別の回答では、50ドルのPower Managerソフトウェアを使用することを提案しましたが、Power Managerより少し直感的ではありませんが、電源管理を超える柔軟性を備えた36ドルのKeyboard Maestroソフトウェアをお勧めします。Macのスリープをスケジュールする機能を探していると、このユーティリティがあり、KMのマクロコンポーネントをすばやくドラッグアンドドロップして、一定時間一時停止したスクリプトを作成し、Macを睡眠:
…Keyboard Maestroには、指定された時間にトリガーされるマクロ(Macをスリープ、シャットダウン、再起動など)をスケジュールするアクションもあります。
Keyboard Maestroはお使いのMacの使用を強化できるマクロを開発するために安価で堅牢ですが、Power Managerアプリケーションよりも少し学習曲線があります。
sudo sh -c 'wget http://download.com/file.zip; pmset sleepnow'
。sleepコマンドは、wgetが終了したときにのみ実行されます。