スポンサーリンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« Surface Go 2のLTE | トップページ | 開発環境を整備中 »

Big Surでの解像度追加方法

昨日書いたように、作者的には、「sudo mount -uw /」が使えなくなるmacOS 11 Big Surで、現行のTiExtenderにあるモニター解像度の追加処理を実現できるか調査していたのだが、システムボリュームへの書き込みを行わなくても、追加できる事が判った。

macOSでのモニター解像度追加処理は、Windowsで言うところのデバイスドライバが参照するファイルを書き換える事で行う。

具体的には、macOS 10.15 Catalinaでは、/Sysetm/Library/Displays/Contents/Resources/Overrides/ の中にある、接続モニターのベンダーフォルダーの中にある接続デバイス用のファイルを書き換えているのだが、この辺りの基本的なやり方は、少なくとも、TiExtenderの動作対象OSとしている、OSX 10.9からCatalinaまで、基本的には、変わっていない。

基本的には、と、書いているのは、まず、上記のパスが使われる様になったのは、SIPが導入されたmacOS 10.11以降だからだ。

それ以前には、/System/Library/Displays/Overrides が使われていたのだが、更には、macOS 10.11では、SIPが導入されたので、それをOffにしないと、ファイルの書き換えが行えなくなった。

また、macOS 10.15 Catalinaでは、SIPに加えて、システムボリュームが起動時にRead-Onlyでマウントされる様になったので、ファイルの書き換え時には、冒頭に書いた「sudo mount -uw /」で、システムボリュームを書き込み可能な形式でマウントし直す必要も生じた。

しかし、上記の通りなので、とりあえず、現行のCatalinaまでは、/System下にあるモニターのプロパティファイルを書き換える事で、解像度の追加等は行えていた訳だ。

ところが、次のmacOSである所のBig Surでは、上記の「sudo mount -uw /」がエラーする様になったので、Catalinaと同様の手法によってモニターの解像度を追加する事は出来なくなる事が確定している。

なので、TiExtenderの機能の一つとして、解像度追加機能を提供している作者的には、Big Sur対応はどうしようか、と、思っていたのだが、ネットで色々と情報を漁っていると、例えば、以下の様なページが見つかった。

Big Sur’s Signed System Volume: added security protection

で、似たような事が書かれているページもいくつかあって、それらによると、Big Surでも、csrutilを使ってセキュリティ処理を禁止すれば、各種ファイルを変更した新なシステムボリュームをマウントできそうなのだが、その場合には、新しいセキュリティ機能を禁止した状態でないと、ボリュームをマウントし続ける事ができないっぽい訳だ。

作者的には、まだ、上記の手法を確認していないので、意外と、簡単に読み書き可能なボリュームを利用できるようになるかもしれないのだが、その場合には、Appleが推奨している新しいセキュリティ機能が無効化されてしまうし、Appleによるシステムファイルの更新があった時には、多分、書き換えていたファイルは消滅する恰好になる様な気がする。

と、言う事なので、上記の様な手法を使ってシステムファイルを書き換える、というのは、もし可能だったとしても、色々な意味で、危険を伴うので、推奨できる様な手法とはならない様な気がしていたので、作者的には、どうしようかなあ、と、思っていた訳だ。

つまり、macOS 11 Big Surでは、Appleがシステムファイルの書き換えを不可能にしてきたので、TiExtenderの解像度追加機能はBig Sur以降には対応しません!  みたいな宣言をしてしまおうか、と、考えていた訳だ。

しかしまあ、作者的にも、TiExtenderの解像度追加機能は有用で、これがあるから、macOSで動作させているMacは、クライアント/サーバーのどちらになっても、相手側の解像度に合わせられるので、Mirror-DTC接続で便利に使える訳だ。

なので、何とかならないモノか、と、更にネットを漁っていると、以下のページが見つかった。

How to make root volume writeable in Big Sur?

で、上記は、作者と同様に、モニターの解像度を調整したい人の質問になるのだが、作者と同様に、解像度を追加するためには、当然、システムファイルの書き換えが必要、と、考えているので、システムボリュームを書き込み可能にする方法を質問している訳だ。

上記の質問に対し、「Quinn “The Eskimo!” @ Developer Technical Support @ Apple」、と、名乗っているので、多分、Appleの中の人である所のEskimo氏は、まず、書き込み禁止にする、というのは前から言っていた事なんだから、今更、そんな事をするな! みたいな回答をしているのだが、とりあえず、何故、そんな事をしたがるのかについて、質問者に逆に質問もしている。

で、質問者は、その質問に対し、前述の様なモニターのプロパティファイルを弄りたいんだ! みたいに回答しているのだが、それを受けたEskimo氏の回答は、180度、態度が変わっている。

具体的には、その具体的解決方法を示していて、もし、この方法で問題が解決しないなら、それはバグだから、Appleにバグレポートを送ってくれ! みたいに書いている訳だ。

と、言う事で、作者的には、本当かなあ、と、半信半疑で、Eskimo氏の回答通りにやってみたのだが、その結果としては、上記の回答を受けて、作者と同様に実際にやってみたらしい、nbeizer氏と同様の結果が得られた。

つまり、SIPをイネーブルにしたままでも、解像度の追加が可能だった。

と、言う事なので、Big Sur対応版のTiExtenderでは、SIPをイネーブルのままにしておいても、解像度の追加が行える様になる予定なのだが、今日は、上記以外に、Eskimo氏が示した回答を裏付けるドキュメントがあるか探してみたのだが、一つも見つかっていない。

なので、作者的にも少し不安ではあるのだが、実は、上記の手法は、現行のCatalinaから、利用可能になっていた様だ。

つまり、作者的には、ドキュメントが見つからないので、手持ち環境で上記の手法が有効かどうか試してみたのだが、最初は、当然、Big SurをインストールしてあるMac mini Late 2014で確認し、解像度が追加できる事を確認した。

次に、Catalinaで動作しているMacBook Pro 15インチ 2016モデルでも、確認してみたのだが、同様の手法が使えた。

なので、そもそも、Catalinaでも、「sudo mount -uw /」を使わなくても、解像度の追加は行える様になっていたのだが、ネットを検索してみれば判る筈なのだが、そんな書き込みは一つもなく、Catalinaで、解像度追加を行いたい人の全ては、「sudo mount -uw /」を使ってシステムボリュームを書き込み可能にした後、システムボリュームのファイルを書き換えている。

もっとも、更に調べてみた所では、Mojaveでは同様の手法は使えなかったので、上記の様な手法は、Catalinaで、システムボリュームを書き込み禁止にしたのに付随して、流石に、何とか逃げ道は用意しておかないとなあ、という事でAppleが追加した仕様になるのかもしれない。

問題は、そんなドキュメントが何処にもないので、Catalinaでは、誰も、そんな手法は使わずに、Apple的には書き込み禁止にしておきたかったシステムボリュームを書き込み許可にして使う人が続出した、という事だ。

その結果として、Big Surでは、Apple的には、そんなに簡単に書き込み可能には出来なくしてきたのだが、上記の様な手法が用意されている、という事をもっと周知していれば、システムボリュームを書き込み許可にしたがるユーザーは皆無になったかもしれない、と、思うのは作者だけではない筈だ。

« Surface Go 2のLTE | トップページ | 開発環境を整備中 »

2020年8月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google