Macの電源関係ターミナルコマンドまとめ

本記事では以前紹介したMacBookシリーズの蓋を閉じてもスリープにさせない方法を含めてターミナルで指定できるMacの様々な電源関係のコマンドをまとめる。

コマンドフラグ

本題に入る前にコマンドのフラグについて解説しておく。

電源関係の設定をターミナルで変更する際は「sudo pmset」の後にフラグを指定するがそれぞれのフラグの意味は下記のようになる。

コマンドとフラグ対象
pmset -aAll(全て)
pmset -bBattery(バッテリー)で動作時
pmset -cCharger(電源アダプタ)で動作時
pmset -uUPSで動作時

例えば「バッテリー動作時」に「スリープするまでの時間を30分」に指定したい場合以下のようなコマンドになる。

sudo pmset -b sleep 30

電源(pmset)コマンド一覧

下記の表の一部のコマンドは現在主流のmacOSで使用できない(効果がない)コマンドもあるため、管理人が実際にテストして効果がなかったコマンドは「Catalina以降での有効性」という項目に◯・△・×で表記している。

テスト環境はMacBook Pro 13 Mid 2019 + macOS Catalina及びMac mini 2018 + macOS Big Sur Beta 8。

また、下記表にもある通り現在「pmset」に指定している設定は下記コマンドで表示可能だ。

pmset -g

説明不要かもしれないが、下記表では特に表記がない限りコマンドの「値」は「1」が有効(オン)、「0」が無効(オフ)である。

コマンド初期値実行内容Catalina以降での有効性
pmset -gN/A現在のpmsetの設定を表示する
man pmsetN/Apmsetのマニュアルを表示する

このマニュアルは全ての設定を網羅しているわけではない
disable sleep0蓋を閉じた際も含めたMacのスリープの有効/無効(1/0)

macOS Catalina以降でも有効だが「-b」や「-c」といったフラグは無視される

詳しくはこちらの記事にて

このコマンドはマニュアルにはない
Sleep On Power Button1電源ボタンを押した時にスリープにする機能の有効/無効(1/0)
autorestart0電源喪失時に自動的に再起動する機能の有効/無効(1/0)
standbydelaylow10800(秒)バッテリーの残量が少ない際にスタンバイに移行するまでの時間

デフォルトでは10800秒(3時間)
standby1スタンバイ機能有効/無効(1/0)
womp1Wake On Magic Packetによるスリープ解除機能有効/無効(1/0)
lessbright1画面を少し暗くする機能の有効/無効(1/0)

このコマンドはマニュアルにはない
halfdim0ディスプレイスリープ時に画面の明るさを最大輝度と消灯の中間の明るさにする機能の有効/無効(1/0)×
hibernatefile/var/vm/sleepimageハイバネート時のディスクイメージの保存先を指定

ハイバネーションが機能しなくなる可能性があるため変更は非推奨
proximitywake1デバイス接近時にスリープ解除機能の有効/無効(1/0)

Proximity(接近)デバイスがないため検証不能
powernap1PowerNap機能有効/無効(1/0)

省エネルギー設定のPowerNap設定と同じ
gpuswitch2GPUの動作を指定

0=CPU内蔵グラフィックス

1=ディスクリートGPU

2=自動

例としてバッテリー動作中にCPU内蔵グラフィックスのみを使いたい場合のコマンドはsudo pmset -b gpuswitch 0となる
networkoversleep0ネットワークアクセスによるスリープ解除の有効/無効(1/0)

省エネルギー設定と同じ
disksleep10(分)ディスプレイが消灯してからディスクがスリープするまでの時間
standbydelayhigh86400(秒)バッテリーの残量に余裕がある場合にスタンバイに移行するまでの時間

デフォルトでは86400秒(24時間)
sleep10(分)スリープになるまでの時間

省エネルギー設定と同じ
hibernatemode3ハイバネーションモードを指定

0=一部のデスクトップ型Macの初期値

3=ノート型Macの初期値

25=ターミナルでのみ指定可能。指定するとハイバネーションの際にメモリへの電力などもオフになる
ttyskeepawake1リモートログインの際のスリープの有効/無効(1/0)
displaysleep10(分)ディスプレイがオフになるまでの時間

省エネルギー設定と同じ
tcpkeepalive1スリープ時のTCP Keep Alive(Wikipedia)の有効/無効(1/0)

無効(0)にするとスリープ中のほぼ全てのネットワーク機能が停止する

Find My(Macを探す)機能も停止する
highstandbythreshold50(%)standbydelaylowと
standbydelayhigh
の閾値
acwake0電源を接続した際にMacBookをスリープ解除する機能の有効/無効(1/0)×
lidwake1蓋を開けた際にMacBookをスリープ解除する機能の有効/無効(1/0)×
destroyfvkeyonstandby0スタンバイ時にFireVaultの暗号鍵を破棄する機能の有効/無効(1/0)

hibernatemodeが25に設定されている必要がある

このコマンドはマニュアルにはない
restoredefaultsN/A設定をデフォルトに戻す

全ての設定がデフォルトに戻るわけではないので注意

このコマンドはマニュアルにはない

MacBookシリーズで蓋を開けた際の自動起動を無効にする

「pmset」のコマンドではないが、別の記事でもまとめた「蓋を開けた際のMacBookの自動起動を無効にする」コマンドは以下となる。

なお、あくまで電源オフ時に蓋を開けた際のMacの自動起動を無効にするのであって、蓋を開けた際のスリープ解除を無効にするわけではない。

sudo nvram AutoBoot=%00

元に戻す場合は下記コマンドを実行する。

sudo nvram AutoBoot=%03

電源関係の設定がおかしくなってしまった場合の対処法

もし本記事のコマンドを実行して電源関係の挙動がおかしくなってしまった場合は下記コマンドで「pmset」の値をデフォルトに戻そう。

sudo pmset -a restoredefaults

上記コマンドを実行しても依然として問題が解決しない場合はMacのシステムを終了させ、下記の操作を実行してSMC、及びNVRAMもリセットしよう。

SMCのリセット方法(T2チップ搭載ノート型Mac)

  1. Macをシステム終了します。
  2. 内蔵キーボードで、以下のキーをすべて長押しします。場合によっては、Macの電源が入ります。
  3. キーボードの左側の「control 」キー
  4. キーボードの左側の「option (Alt) 」キー
  5. キーボードの右側の「shift 」キー
  6. 上記3つのすべてのキーを7秒間押し続け、電源ボタンも長押しします。Macの電源が入っている場合は、キーを押し続けている間に電源が切れます。
  7. 4つすべてのキーをさらに7秒押し続けてから、指を放します。
  8. 数秒待ってから、電源ボタンを押してMacの電源を入れます。

SMCのリセット方法(デスクトップMac)

  1. Macをシステム終了し、電源コードを外します。
  2. 15秒待ってから、電源コードを接続し直します。
  3. 5秒待ってから、電源ボタンを押してMacの電源を入れます。

NVRAMのリセット方法

  1. Macをシステム終了してから、電源を入れ、すぐに「option」「command」「P」「R」の 4つのキーを同時に押し、20秒ほど押し続けてからキーを放します。その間、Mac は再起動しているように見えます。
  2. 起動音が鳴るMacの場合は、2回目の起動音が鳴った時点でキーを放してかまいません。
  3. Apple T2セキュリティチップを搭載したMacコンピュータの場合は、2 回目の Appleロゴが表示され、消えた後でキーを放すことができます。
  4. Macの起動が終わったら、必要に応じて、システム環境設定を開いて、リセットされた設定内容 (音量、画面解像度、起動ディスクの選択、時間帯など) を調整してください。

T2非搭載のノート型MacのSMCのリセット方法、及び詳細は下記Appleサポートページを参考にして頂きたい。

参考 MacのSMCをリセットする方法Apple

まとめ

以上、電源関係のターミナルコマンドをまとめた。

上記のコマンドは全て特別なソフトウェアやコマンドラインツールを用いずともターミナルで全て実行可能なため、Macの電源関係の設定を細かく指定したい場合は参考にしてほしい。