MacOSX
ライフハック
シャットダウン

PCやり過ぎ防止!Macを指定した時間に強制シャットダウンする方法

僕はまだ意志が強くないので、PCが起動していればずっとPCを使ってしまいます。
なので、毎日指定した時間にPCを強制シャットダウンさせることでPC中毒や寝不足を防いでいます。

Windowsでは、標準アプリ「タスクスケジューラ」を使えば割と簡単に指定した時間に強制シャットダウンを行えます。

ですが、Macにはそのような標準アプリはありません。
システム環境設定にある「省エネルギー」の中のスケジュールがそうなのではないか?と思うかもしれませんが、このスケジュール機能は

  • スリープ中はシャットダウンしない
  • ダイアログ内でキャンセルするとシャットダウンしない
  • ダイアログが出ている時点で強制ではない

という理由により、省エネルギーの中のスケジュール機能を使うのは良い選択とはいえません。

僕が求めているのは、「指定した時間に、有無を言わさず強制的にPCをシャットダウンさせる」方法です。
ググっても方法が見つからなかったので、ここに公開します。

指定した時間に強制シャットダウンする方法

環境

  • MacBookAir
  • MacOSX 10.12.6

手順

1.Automatorを起動

アプリケーションフォルダの中にある「Automator」を起動します。
スクリーンショット 2017-10-28 12.22.47.png

2.カレンダーアラームを選択

起動するとこの画面が出てくるので、「カレンダーアラーム」を選択します。
スクリーンショット 2017-10-28 12.24.39.png

3.AppleScriptを選択

手順2が終わると、この画面になります。
スクリーンショット 2017-10-28 12.27.03.png

左側のリストの中から「AppleScriptを実行」をドラッグして右側のエリアに持って行きます。
すると、この画面になります。
スクリーンショット 2017-10-28 12.28.22.png

4.コードを書く

AppleScriptのコードを書きます。といっても、この1行だけです。
tell application "System Events" to shut down

これを右枠にコピペします。最初からあるコードは消して大丈夫です。
スクリーンショット 2017-10-28 14.11.03.png

5.保存する

メニューのファイル→保存で保存します。名前はわかりやすいように。
スクリーンショット 2017-10-28 14.15.36.png
保存すると、コードが正常に動作する場合シャットダウンされます。保存前にシャットダウンしても大丈夫か確認を忘れずに。

6.スケジュールを組む

カレンダーを開くと、保存した日にちにAutomatorのスケジュールが追加されています。
スクリーンショット 2017-10-28 14.31.22.png

開始時刻をシャットダウンさせたい時刻に変更することで強制シャットダウンが可能になります。
また、通常のスケジュールと同じく繰り返しもできるので、毎日指定した時間に強制シャットダウンができるようになります。
スリープ中でもスリープから復帰後数秒でスケジュールが実行され、シャットダウンされます。

欠点

この方法にはいくつか欠点がありまして。

  • Macがおやすみモードになっている場合は動作しない
  • スリープから復帰後にスケジュールが実行されないときがある
  • テキストファイルの未保存状態などで、シャットダウンが中断される場合がある

など、この方法は万能ではありません。あくまでやり過ぎを補助するものとして使ってください。

さいごに

これで快適なPCライフが実現できますね。
最初はきついかもしれませんが、習慣化していけばPC中毒も自然に治ると思います。
わからないことがあれば、お気軽に質問してください。

(本当は自制できれば一番いい!)