今までEl Capitanを使っていましたが、なんか勝手にSierraのインストーラーを突っ込まれ、Twitterでも「Sierraのほうがいい」と言われたのでSierraにしました。
TimeMachineのバックアップもありましたし、更新自体は問題なく終わったのですが......
#なんか解像度がおかしくね?
今までEl Capitanではタイトルのように疑似解像度1920x1200で使用してました。
それがSierraにしたら勝手に設定ファイルが元に戻され、解像度も1280x800に戻されていました。
これでは非常に使い勝手が悪いです。ということで1920x1200に戻すことにしました。
#うまくいかない......
El Capitanのときも参考にさせてもらったサイトを確認しながら行ったのですが、なぜかうまく行きません。
その後、試行錯誤を行い、うまく出来たのでその方法を示します。
#方法
###1.自分の画面を確認する
まずは自分の画面がどの設定ファイルを書き換えれば動くのかを確認する作業から始めます。
ターミナルを開いて次の2つのコマンドを順番に実行して下さい。(多分grepをうまく使える人なら1回で出来るかと)
ioreg -lw0 | grep DisplayVendorID
ioreg -lw0 | grep DisplayProductID
この2つのコマンドを実行すると僕のMBP Early 2015の場合、次のようになりました。
| | | | | | "DisplayVendorID" = 1552
| | | | | | "DisplayProductID" = 41002
この数字がファイルを書き換えるときに必要なのでメモしておきます。
###2.SIPを無効化する
次にSIPを無効化します。SIPとはEl Capitanから導入されたシステムファイルの書き換えを防止する機能です。
今回はシステムファイルを書き換えるため一時的に無効化します。
まず、Macの電源を切りCommand+Rを押しながらMacを起動させます。これでMacがリカバリモードで起動するはずです。
次にメニューバーの「ユーティリティ」から「ターミナル」を起動します。そして、次のコマンドを入力します。
csrutil enable --without fs
これでSIPが無効化されました。これで通常起動に戻ります。
僕の場合はrEFIndをインストールするために無効化した状態で放置していたのでこの作業は行っていません。SIPが無効化されているかどうかは次のコマンドで確認できます。
csrutil status
###3.書き換えるファイルを見つける
通常起動に戻りましたら、ターミナルを開いて次のコマンドを実行します。これで設定ファイルが保管されているディレクトリに移動します。
cd /System/Library/Displays/Contents/Resources/Overrides/
移動した後にlsコマンドを実行するとDisplayVendorID-から始まるディレクトリが複数あると思います。
ここで先程調べたDisplayVendorIDが必要になってきます。
ですが、ディレクトリ名のほうは16進数になっています。調べた値は10進数で出てるので変換が必要になります。
ここでサクッと10->16進数変換をしてしまいましょう。すぐに出来ない人は電卓のプログラマーモードを使うと便利かもしれません。
1552は0x610となるのでDisplayVendorID-610がお目当てのディレクトリとなります。では、移動しましょう。
cd DisplayVendorID-610
移動したらまたlsコマンドを実行します。すると次はDisplayProductID-から始まる大量のファイルがあります。
そして、先程同様16進数で書いてあります。ここでまた変換を行います。
今回は41002ですので0xa02aとなります。
つまり、DisplayProductID-a02aがお目当てのファイルです!
###4.書き換える
やっとこれで設定ファイルを書き換えられます。その前にバックアップを一応のためにとっておきます。sudo実行が必要です。
sudo cp DisplayProductID-a02a DisplayProductID-a02a.bak
これでバックアップが出来ました。では、このファイルを好きなエディタで開きます。今回はVimを使用しました。これもsudo実行が必要です。
sudo vim DisplayProductID-a02a
開くと分かる人ならすぐにplistファイルだと分かるはずです。まあ、分からなくても書き換えには影響しません。
重要なのは<array></array>
で囲まれたエリアにある<data></data>
の行です。
ここに解像度の情報が書いてあります。では、1920x1200の情報を追加しましょう。</array>
の上の行に次の1行を追記します。
この際、他の行とインデントをあわせておきましょう。
<data>AAAPAAAACWAAAAAB</data>
これで1920x1200の情報が入りました。これでファイルを保存してエディタを閉じます。
###5.設定の確認
再起動して、設定が出来ているかを確認します。システム環境設定からディスプレイを開き、解像度を確認します。
1680x1050の上にもう一つ解像度があれば成功です。ない場合は多分書き換えるファイルを間違えていると考えられます。
###6.SIPを有効化する
無効化したSIPを有効化します。正直、これはどっちでもいいと思います。僕もずっと無効ですが特に問題は起きてないので......
有効化するには2.の手順でターミナルを開いて次のコマンドを実行すれば有効化されます。
csrutil enable
#これで広い環境が手に入った
13インチで1920x1200っていうと今のノートパソコンなら普通かもしれません。(普通は1920x1080か)
ですが、この作業を行わないと1680x1050止まりになっています。せっかくのRetinaディスプレイなのですからもっと上の解像度でもいいと思うんですけどね。
あと、この投稿が僕の初めての投稿ですがMarkdownに全く慣れてません。
なのでところどころおかしなところがあるかもしれませんが大目に見てください。
#参考にしたサイト
13inch MacBookPro Retina で解像度 1920×1200 を HiDPI モードで使う方法
MacBook Pro Retina 13で、擬似解像度をWUXGA相当(Retina)に設定可能にする