はじめに
MacBookのRetinaディスプレイは綺麗で満足しているけれど、標準の解像度だとスケーリングの選択肢が少なく表示領域が狭く感じることが多々あったので、なんと設定を変えられないか調べた結果をまとめる。
MacBookPro13インチ解像度
2,560 x 1,600
標準で選択可能な解像度の選択肢
1,680 x 1,050
1,440 x 900
1,024 x 640
追加する解像度
1920 x 1200
設定方法
SIPの無効化
OSX El Capitan
以降はSIPによってOSのシステムファイルが保護されており、通常であればroot権限でコマンドを実行しても変更が出来ない。
システムファイルを書き換える必要があるため、一時的に無効化するためには起動時に⌘+r
でリカバリモードでmacOS
を起動させる。
ユーティリティ
からターミナル
を起動させ下記のコマンドでcsrutil
を無効化する。
$ csrutil disable
変更対象の情報を取得する
ディスプレイのベンダIDとプロダクトIDが機種ごとに異なるので、ディスプレイ情報を取得するため下記コマンドでを実行します。
$ ioreg -lw0 | grep -e DisplayVendorID |sed -e 's/.*= //g' | xargs printf DisplayVendorID-'%x\n'
$ ioreg -lw0 | grep -e DisplayProductID |sed -e 's/.*= //g' | xargs printf DisplayProductID-'%x\n'
$ ioreg -lw0 | grep -e DisplayVendorID |sed -e 's/.*= //g' | xargs printf DisplayVendorID-'%x\n'
DisplayVendorID-610
$ ioreg -lw0 | grep -e DisplayProductID |sed -e 's/.*= //g' | xargs printf DisplayProductID-'%x\n'
DisplayProductID-a034
対象のファイルを変更する
取得した情報をもとに対象のファイルを変更します。
$ cd /System/Library/Displays/Contents/Resources/Overrides/
$ cd DisplayVendorID-610
$ vim DisplayProductID-a034
1920 x 1200
の解像度を追加したい場合は、
<key>scale-resolutions</key>
の次にある<array>
の最後に、<data>AAAPAAAACWAAAAAB</data>
を追加します。
(※ MacBook 12インチは1680 x 1050
までしか認識しなかったので
代わりに<data>AAANIAAACDQAAAAB</data>
を追加します。)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DisplayVendorID</key>
<integer>1552</integer>
<key>DisplayProductID</key>
<integer>41012</integer>
<key>DisplayProductName</key>
<string>Color LCD</string>
<key>DisplayLeakage</key>
<real>0.419</real>
<key>DisplayLowestLevel</key>
<real>2</real>
<key>DisplayLowestMeasured</key>
<real>0.4323</real>
<key>DisplayBacklight</key>
<real>575.50</real>
<key>DisplayDarkReflection</key>
<real>1.10</real>
<key>DisplayBrightReflection</key>
<real>573.10</real>
<key>IOGFlags</key>
<integer>4</integer>
<key>scale-resolutions</key>
<array>
<data>AAANIAAACDQA</data>
<data>AAALQAAABwgA</data>
<data>AAAKAAAABkAA</data>
<data>AAAIAAAABQAA</data>
<data>AAAKAAAABkAAAAABACAAAA==</data>
<data>AAAKAAAABaAAAAABACAAAA==</data>
<data>AAAHgAAABLAAAAABACAAAA==</data>
<data>AAAHgAAABDgAAAABACAAAA==</data>
<data>AAAFAAAAAtAAAAABACAAAA==</data>
<data>AAAGcgAABBoAAAAB</data>
<data>AAAFoAAAA4QAAAAB</data>
<data>AAAFAAAAAyAAAAAB</data>
<data>AAAEgAAAAtAAAAAB</data>
<data>AAAEAAAAAwAAAAAB</data>
<data>AAADSAAAAg0AAAAB</data>
<data>AAADIAAAAlgAAAAB</data>
<data>AAACgAAAAeAAAAAB</data>
<data>AAANIAAACDQAAAAJAKAAAA==</data>
<data>AAALQAAABwgAAAAJAKAAAA==</data>
<data>AAAKAAAABkAAAAAJAKAAAA==</data>
<data>AAAIAAAABQAAAAAJAKAAAA==</data>
<data>AAAKAAAABaAAAAAJAKAAAA==</data>
<data>AAAGcgAABBoAAAAJAKAAAA==</data>
<data>AAAHgAAABLAAAAAJAKAAAA==</data>
<data>AAAHgAAABDgAAAAJACAAAA==</data>
<data>AAAFAAAAAtAAAAAJACAAAA==</data>
<data>AAAPAAAACWAAAAAB</data>
</array>
<key>target-default-ppmm</key>
<real>10.0699301</real>
<key>edid-patches</key>
<array>
<dict>
<key>offset</key>
<integer>72</integer>
<key>data</key>
<data>AAAAEAAAAAAAAAAAAAAAAAAA</data>
</dict>
</array>
</dict>
</plist>
再起動
再起動後、システム環境設定
> ディスプレイ
> 解像度
> 変更
に追加した解像度が増えていれば成功です。
SIPの有効化
システムファイルの保護を無効にしたままだとよろしくないのでSIPを有効な状態に戻す。
無効化したときと同様に、起動時に⌘+r
でリカバリモードでmacOS
を起動させユーティリティ
からターミナル
を起動させ下記のコマンドでcsrutil
を有効化する。
$ csrutil enable