今までもクラムシェルモード無効にしていたが、Sierraになったらこれまでの手順に一手間加える必要があってプチハマりしたので共有。
結論
手順
- 「command + R」を押しながらMacを起動し、復元モードへ
- ターミナルを開く
- クラムシェルモードを無効にするコマンド実行
nvram boot-args="niog=1" - シャットダウンし通常起動すると以降無効な状態
解説
クラムシェルモードとは
Mac ノートブックにて、内蔵ディスプレイを閉じた状態でも外付けディスプレイに映して操作ができる状態をクラムシェルモードと呼ぶ。
ようは外付けキーボードとマウス、ディスプレイを用意して、デスクトップ型のような使い方をできる機能。
公式サポート
https://support.apple.com/ja-jp/HT201834
なぜ無効にしたいか
私は「ノートを閉じる = 画面ロック」としたい派なので。
仕事をする上でデュアルディスプレイは欠かせないのでもちろん外付けディスプレイに繋いでいるが、クラムシェルモードが有効だとノートを閉じても画面ロックにならないから面倒。
外付けディスプレイに繋いでいる状態でノートを閉じると自動的にクラムシェルモードに移行するので、無効化する。
無効方法
NVRAM (不揮発性ランダムアクセスメモリ) に書き込む以外の方法が見つからなかったので、nvramコマンドで無効になるようrootで設定情報書き込み。
クラムシェルモード無効化
nvram boot-args="niog=1"
設定書き込み確認 ※boot-args niog=1 とでればOK
nvram -p | grep boot-args
nvramコマンド詳細はmanコマンド打つなり、調べるなりしてください。
Sierraの場合
実行すると以下のようなエラーが発生した。
nvram: Error setting variable - 'boot-args': (iokit/common) general error
Yosemiteのときは普通にrootで実行すれば書き込みできたが、SierraではSIP(System Integrity Protecton)というセキュリティを強化する機能により、rootでさえ/usr以下など特定領域へのファイルの書き込みおよび削除が不可能になってしまい、普通に実行では無効にできなくなった。
このため、SIP無効な状態でnvramコマンド実行する。
「command + R」を押しながらMacを起動すると、復元モードで起動される。
この状態でターミナル開いてnvramコマンド実行したら書き込みできた。
余談
復元モードで起動してSIPを無効化して、その後通常起動してnvramコマンド実行でも解決はできる。
SIP無効化
csrutil disable
当たり前だがセキュリティレベルは落ちるので、常時無効にして良いかはしかるべき人に確認してください。
この記事を書いた人
- 日本酒好きなWebエンジニアです。わりと幅広く色々やっています。
最近書いた記事
- 2017.09.21Mac ノートブックのクラムシェルモードを無効にする(Sierra)
- 2017.02.23JenkinsのClover pluginを利用したカバレッジレポートページにCSSが適用されない