MacOS High Sierraでクラムシェルモードを無効にする

こんにちは、麦茶(@barlog_tech)です。

今回はMacBookシリーズのユーザー向けに、クラムシェルモードを無効化する方法を紹介します。

ただし、この方法は手元のMacOS High Sierra 環境でのみ検証しているものなので、参考にする場合は十分に気をつけて、自己責任でお願いします。

とりあえずざっくり手順

  1. command + R を押しながら起動することで復元モードに入る
  2. 画面上部のutilitiesからターミナルを起動
  3. $ csrutil disable
  4. $ reboot
  5. 通常のターミナルで以下を実行
    • $ sudo nvram boot-args="niog=1"
  6. 再度1. 2. の手順を行った後、以下を復元モードのターミナルで以下を実行
    • $ csrutil enable

背景と詳細は以下。

そもそもクラムシェルモードとは?

MacBookシリーズにはクラムシェルモードという機能があります。 これは、

  1. MacBookを電源に接続している
  2. MacBookを外部ディスプレイに接続している

場合に蓋を閉じるとスリープ状態にならず、外部ディスプレイを用いてあたかもデスクトップマシンかのように使用することができるというものです。

MacBook本体はスタンドに立てておくなどしてクラムシェルモードで運用することで、省スペースでデスクトップのような使い方ができるというメリットがあります。

問題意識・なぜクラムシェルモードを無効にしたいのか

端的に言えば、私はMacBookと外部ディスプレイでデュアルディスプレイ環境として使用しているためです。 あくまでMacBookがメイン、外部ディスプレイがサブなので、 MacBookの蓋を閉じたときには完全にスリープ状態になって欲しいのです

クラムシェルが有効だと、MacBookの蓋を閉じて外部ディスプレイの電源をオフにしてもスリープ状態にならず、バッテリーの熱などが心配になってしまいます。

解決策・詳細な手順

  1. command + R を押しながら起動することで復元モードに入る
  2. 画面上部のutilitiesからターミナルを起動
  3. $ csrutil disable
    • El Capitan以降ではSIP(System Integrity Protection)というセキュリティ強化機能が追加されています。
    • この機能がデフォルトで有効になっているが、あとの処理を通すために一旦無効にします。
  4. $ reboot
  5. 通常のターミナルで以下を実行
    • $ sudo nvram boot-args="niog=1"
      • NVRAM(不揮発性ランダムアクセスメモリ)に起動時オプションを書き込みます。
      • 手順3を踏んだ後でなければこの処理は通りません。
  6. 再度手順1, 手順2を行った後、以下を復元モードのターミナルで以下を実行
    • $ csrutil enable

やっぱりクラムシェルモードを使いたくなったら

上記の5の手順を以下のコマンドに差し替えます

  • $ sudo nvram -d boot-args

まとめ

復元モードから一時的にSIPを無効化した上で、MVRAMに起動時オプションを書き込むことで、クラムシェルモードのON/OFFを切り替えることができます。

これ以外にもmacOSの機能や設定を使いこなして、効率的に作業できる環境を整えていきたいですね。

Share Comments
comments powered by Disqus