Macでコマンドからスリープを操作する方法

※本ページにはプロモーション(広告)が含まれています。
Macでコマンドからスリープを操作する方法

ターミナルでさっとMacをスリープにしたいけれど、どのコマンドを使えば安全か迷っていませんか。

この記事を読めば、即時スリープや予約スリープのコマンド、SSH経由で遠隔からスリープさせる方法、そして日常で使える自動化スクリプトまで、実際に手を動かしてすぐ使えるやさしい手順で学べます。

項目内容
独自コンテンツ1安全に即時スリープさせる具体的コマンドと使い方のコツ。
独自コンテンツ2SSHやAutomatorやショートカットを使った実用的な自動化例とスクリプト。
独自コンテンツ3電源設定やネットワーク接続に関する注意点と復帰をスムーズにするプログラマー視点の裏ワザ。

難しく考えずに順を追って少しずつ試せるようにまとめてあるので、気軽に手を動かして自分の環境で動くことを確認してみてください。

Macエンジニア

コマンド操作は最初は緊張するけれど、慣れると作業がとても早くなりますから安心して一つずつ試していきましょう。

目次

Macでターミナルから即時にスリープにする方法

Macでターミナルから即時にスリープにする方法

ターミナルからすぐにMacをスリープにする方法は、ちょっと席を外すときや作業を一時停止したいときにとても便利です。初めてでも安心して使えるように、画面に影響の出ない方法を中心にやさしく紹介します。

代表的なやり方はpmsetを直接使うパターンと、AppleScript経由でSystemEventsに頼るパターンの二つです。用途に合わせて選べるので、まずは自分に合うやり方を試してみてください。

どの方法も実行前に作業を保存することと、管理者パスワードが必要になる場合があることを覚えておいてください。以降では実際のコマンドや手順、よくある注意点を具体的に示します。

  • pmsetコマンドのsleepnowサブコマンドで即時にスリープにする。最も手早く確実な方法です。
  • AppleScript経由でSystemEventsにスリープを指示する方法。GUIに近い動きをします。
  • pmsetでスケジュールや省エネ設定を調整する応用パターンも使えます。

pmsetで即時スリープするパターン

pmsetで即時スリープするパターン

pmsetは電源まわりの設定を操作できるコマンドで、sleepnowを使うと瞬時にスリープに移行します。管理者権限が必要な場面が多いので、sudoを付けて実行するのが一般的です。

ディスプレイだけをスリープさせるパターンや、スケジュール登録で自動的にスリープするパターンもあります。すぐに試したい場合は次のコマンドをターミナルで実行してください。

sudo pmset sleepnow

ターミナルを開いてsudo pmset sleepnowを実行する手順と注意点

手順
ターミナルを開く

SpotlightやLaunchpadからターミナルを起動します。迷ったときは画面右上の虫眼鏡アイコンで検索すると早いです。

手順
コマンドを入力して実行

sudo pmset sleepnowと入力してEnterを押します。パスワードを求められたらログインパスワードを入力してください。

手順
実行前の確認

実行すると即座にスリープするので、作業内容は保存しておいてください。リモート接続中の場合は切断される点にも注意してください。

Macでコマンドで指定時刻や繰り返しのスリープを予約する方法

Macでコマンドで指定時刻や繰り返しのスリープを予約する方法

コマンドからスリープを予約すると、夜中に手動で操作しなくてもMacを静かに休ませられます。おすすめはpmsetコマンドで、1回だけの日時指定と曜日ごとの繰り返しの両方に対応しています。どちらも管理者権限が必要なのでsudoを使います。

一回だけの予約にはscheduleを使い、曜日単位の繰り返しにはrepeatを使うのがシンプルで確実です。scheduleは特定の日付と時刻を直接指定し、repeatは週のどの曜日に何時に動かすかを設定できます。

  • 一回だけ予約する: sudo pmset schedule sleep ‘MM/DD/YYYY HH:MM:SS’。
  • 曜日ごとに繰り返す: sudo pmset repeat sleep 曜日文字列 HH:MM:SS。
  • すぐにスリープさせたい場合: sudo pmset sleepnow。
Macエンジニア

初めてでも大丈夫です。ゆっくり落ち着いてコマンドを打てば思いどおりにスリープを管理できます。失敗しても簡単に取り消せるので安心してください。

pmsetのscheduleとrepeatで一回予約と繰り返しを設定するパターン

pmsetのscheduleとrepeatで一回予約と繰り返しを設定するパターン

pmsetのscheduleとrepeatは用途が違うので使い分けると管理が楽になります。scheduleは単発の日時指定に向いていて、repeatは週単位で同じ時刻に繰り返したいときに便利です。どちらもsudoで実行し、実行後に設定を確認するのが安全です。

sudo pmset schedule sleep '10/31/2025 23:00:00'
sudo pmset repeat sleep MTWRF 23:00:00

設定後はpmset -g schedでスケジュール済みのイベントを確認し、pmset -gで現在の設定を確認してください。予定が不要になったらscheduleのcancelやrepeatのcancelで解除できます。

ターミナルでsudo pmset scheduleを使って日時を指定しsudo pmset repeatで曜日と時刻を設定する手順と確認方法

手順
ターミナルを開く

LaunchpadやSpotlightでターミナルを起動します。管理者権限が必要なので作業中はユーザパスワードを用意しておきます。

手順
一回だけ日時を予約する

sudo pmset schedule sleep ‘MM/DD/YYYY HH:MM:SS’を実行します。この日付形式の例は’10/31/2025 23:00:00’のようになります。

手順
曜日ごとの繰り返しを設定する

sudo pmset repeat sleep 曜日文字列 HH:MM:SSで設定します。例はMTWRFで月~金23:00の繰り返しです。

手順
設定を確認する

pmset -g schedで予約済みのイベントを確認します。不要ならpmset schedule cancelまたはpmset repeat cancelで解除します。

Macでコマンドからスリープを防いで処理を継続する方法

Macでコマンドからスリープを防いで処理を継続する方法

長時間の処理中にMacが勝手にスリープして困ることはよくあります。ターミナルから簡単にスリープを抑止できるので、落ち着いて作業を続けられます。

使うのはcaffeinateというシンプルなコマンドです。指定した秒数だけ止めたり、あるコマンドが終わるまで止めたりできるのでダウンロードやビルド中に便利です。

ここでは代表的な使い方をわかりやすく示します。まずは短時間だけ止める方法と実行中だけ止める方法を覚えると応用が利きます。

Macエンジニア

眠ってほしくない処理があるときはこれを使えば安心です。やさしく順を追って説明するので落ち着いて試してみてください。

caffeinateで一定時間またはコマンド実行中にスリープを抑止するパターン

caffeinateで一定時間またはコマンド実行中にスリープを抑止するパターン

caffeinateでよく使うパターンは二つあります。一つは-tオプションで秒数を指定して一定時間だけスリープを抑止する方法。もう一つは任意のコマンドをcaffeinateでラップして、その実行が終わるまでスリープを抑止する方法です。

caffeinate -t 3600

長い処理やスクリプトを安全に終わらせたいときはコマンドラップが便利です。ラップ方式なら処理が終われば自動で通常のスリープ動作に戻ります。

caffeinate sh longtask.sh

ターミナルでcaffeinate -t 3600やcaffeinate コマンドを実行して指定時間や実行中だけスリープを防ぐ手順

手順
ターミナルを開く

LaunchpadやSpotlightでターミナルを起動してください。すぐにコマンドが入力できる状態にします。

手順
指定秒数で止める

短時間だけ止めたいときはcaffeinate -t 3600のように秒数を指定して実行します。終了後は自動で元に戻ります。

手順
コマンド実行中だけ止める

長い処理を安全に終わらせたいときはcaffeinate コマンドの形でラップします。処理が終われば通常のスリープに戻ります。

Macでコマンドからディスプレイだけをスリープさせる方法

Macでコマンドからディスプレイだけをスリープさせる方法

ディスプレイだけを素早くオフにしたいときは、ターミナルからの操作が一番手早く確実です。コマンドを実行するだけでディスプレイだけをスリープにできるので、作業を中断せずに画面だけ消したい場面で便利です。

方法はいくつかありますが、ここでは即時オフとディスプレイタイマーをコマンドで切り替えるやり方を紹介します。GUI操作に慣れていない人でも、コマンドを覚えておくと作業効率が上がります。

エンジニア目線の小技として、よく使うコマンドはシェルスクリプト化してショートカットキーに割り当てると快適です。管理者権限が必要なコマンドはsudoを使う点だけ注意してください。

  1. ターミナルで即時に画面をオフにする方法を使う
  2. pmsetでディスプレイのアイドルタイマーを変更して自動でスリープさせる
  3. ホットコーナーやショートカットと組み合わせて使いやすくする

pmsetでディスプレイのみ即時スリープとディスプレイタイマーを変更するパターン

pmsetでディスプレイのみ即時スリープとディスプレイタイマーを変更するパターン

pmsetはmacOSの電源管理ツールで、ディスプレイだけをスリープさせる設定が可能です。即時オフとタイマー設定を組み合わせれば手動と自動を使い分けられます。

よく使う組み合わせは即時オフコマンドと、displaysleepの値を変更するコマンドです。以下のコマンドをターミナルで実行するとすぐに試せます。

pmset displaysleepnow
sudo pmset -a displaysleep 10

ターミナルでpmset displaysleepnowを実行して即時に画面をオフにしsudo pmset -a displaysleep 10でタイマーを変更する手順

手順
ターミナルを起動する

SpotlightやLaunchpadでターミナルを開きます。

手順
即時に画面をオフにする

pmset displaysleepnowを実行すると画面がすぐにオフになります。

手順
ディスプレイタイマーを変更する

sudo pmset -a displaysleep 10を実行してディスプレイが10分でスリープするよう設定します。

手順
設定を確認する

pmset -gで現在の設定が反映されているか確認してください。

Macでコマンド操作してスリープが効かないときの確認と対処法

Macでコマンド操作してスリープが効かないときの確認と対処法

Macがスリープしないと慌てなくて大丈夫です。まずは何が邪魔しているかを見つけることが近道です。ここではターミナルを使って原因を特定し、すぐにできる直し方をやさしく案内します。

  • ターミナルでpmset -g assertionsを実行してスリープ抑止の情報を確認する。
  • 該当プロセスをActivity Monitorまたはkillコマンドで終了する。
  • システム環境設定の電源関連設定でスリープを妨げる項目がないか確かめる。
  • 上記で直らない場合は再起動やSMCリセットを試してみる。

pmsetの状態確認とスリープを妨げるプロセスを停止するパターン

pmsetの状態確認とスリープを妨げるプロセスを停止するパターン

pmset -g assertionsはスリープを妨げる「assertion」を一覧で出してくれます。出力にはassertionの種類と、該当するプロセスのPIDや名前が一緒に表示されます。

PIDが分かればActivity Monitorから普通に終了させるか、ターミナルでkill PIDを実行します。どうしても止まらないときはkill -9で強制終了できますが、保存が必要な作業がないか先に確認してください。

ターミナルでpmset -g assertionsを実行して原因を特定し該当プロセスを確認して終了する手順

手順
pmsetで抑止を確認

ターミナルでpmset -g assertionsを実行して、Sleepに関するassertionと該当プロセスのPIDや名前を確認する。問題の行をメモしておくと安心です。

手順
プロセスを終了

Activity Monitorで該当プロセスを選んで終了するか、ターミナルでkill PIDを実行する。普通の終了でダメならkill -9 PIDで強制終了するが保存は先に確認する。

手順
効果を確かめる

もう一度pmset -g assertionsを実行してassertionが消えたことを確認し、sudo pmset sleepnowで即時スリープが動くか試してみる。

よくある質問

よくある質問
pmset sleepnowとosascriptでのスリープ指示は何が違いますか

pmset sleepnowは低レベルの命令で即座にスリープに入るので反応が速いです。osascriptでSystem Eventsに頼む方法はGUI経由で指示するため権限周りで楽に動くことが多いです。画面だけ消したいときはpmset displaysleepnowが使いやすいです。

pmset sleepnowを実行するのにsudoは必要ですか

多くの環境ではsudoなしでもpmset sleepnowは動きます。ただしシステム構成やリモート環境によっては権限不足でエラーになることがあるので、その場合はsudoを付けて実行してください。osascriptで代替すると回避できる場合もあります。

スリープに入らないときはどう調べればよいですか

pmset -g assertionsでスリープを妨げているプロセスや断言を確認できます。caffeinateでブロックされているケースも多いので該当プロセスを止めると解消することが多いです。さらに詳しく知りたいときはコンソールログを確認してください。

SSH経由でリモートのMacをスリープさせられますか

できます。SSHでpmset sleepnowやsudo pmset sleepnowを実行すればリモートでスリープに入ります。ただしログイン状態やスケジュール設定が影響することがあるのでpmset -g schedでスケジュールを確認しておくと安心です。

まとめ

まとめ

最後まで読んでくれてありがとう。ターミナルからすぐにMacをスリープにする方法は大きく分けてコマンド実行とショートカット化の二つで、状況に応じて手軽に選べます。AppleシリコンでもIntelでも基本の手順は同じで、実際に使い分けると日々の作業がずっと楽になります。

最も手早いのは専用コマンドを使うことで、画面だけを眠らせたいときと完全にスリープさせたいときでコマンドを使い分けると便利です。リモート操作はsshでコマンドを送るだけで動くので、離れた場所からのメンテナンスにも向いています。権限周りは環境によって違うので、必要ならsudoの確認や管理者権限の調整をしてください。

日常的にはエイリアスやショートカットに登録してワンクリックで動くようにすると、習慣化しやすくなります。コマンド実行前は作業を保存してから行い、万が一に備えて短時間でのテストをしておくと安心です。ちょっとした準備でスリープ操作が安全で気持ちよく使えるようになります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次