macOSシステムは 1 台以上の外部ディスプレイ接続に対応していますが、ディスプレイの設定が動作しない状態になることがあります。この状態になると、ディスプレイが何も表示されない、拡張ディスプレイがメインディスプレイから切り離されてアクセスできなくなるなど、さまざまな問題症状が現れます。
A. 問題症状
たとえば、外付けモニタを90度回転させて縦長モードに設定し、USB グラフィック変換アダプタを使ってコンピュータに接続すると、macOSのウィンドウマネージャがクラッシュして、ユーザーのログイン画面に戻ってしまう現象になることがあります。
このような問題を解決するには、外部モニタをコンピュータから取り外し、保存されているディスプレイ設定をすべて削除する必要があります。そのあとでモニタを横置きにして接続すれば表示ができます。
B. 外部ディスプレイ構成情報
macOSは、外部ディスプレイの解像度、位置、回転、カラープロファイルなどのディスプレイ構成情報を 2 カ所に保存しています。
- ユーザー固有のディスプレイ構成の保存先:
/home/{username}/Library/Preferences/com.apple.windowserver.{uniqueID}.plist
file - システム全体のディスプレイ構成の保存先:
/Library/Preferences/com.apple.windowserver.plist
file
C. 解決方法
上記のディスプレイ構成ファイルは何らかの理由で破損することがあり、再起動やシステム・スリープ、時にはログオフして再ログインしなおした場合などに、以前の状態が再現できないこともあります。またファイル内に何らかの誤った構成が保存されていると、ログイン時にウィンドウ・マネージャーがクラッシュして、何度もログイン画面に戻る、というような症状が起こることがあります。
このような症状に陥ったときは、この 2 つの構成ファイルを一度削除することで、システムの初期の状態に戻すことが可能です。システム全体の設定ファイルを削除したり変更するには管理者権限が必要ですが、ユーザー固有の構成ファイルであれば、ユーザーが自分で削除や変更できます。
D. 構成ファイル削除の手順
注意: システム構成ファイルの変更には常にリスクが伴います。システム全体の構成ファイルの変更をする場合は、事前にシステムのフルバックアップを取得してください。
- Mac システムから、外部モニタを取り外します。(Mac Mini の場合は、HDMI ポートに直接 1 台のモニタだけを接続した状態にします。)
- Terminal を起動します。(Finder > サービス >フォルダに新規ターミナル)
- この時点でログインしているユーザー固有のディスプレイ構成情報を削除するために、下記コマンドを実行します。
rm ~/Library/Preferences/com.apple.windowserver.*.plist
- システム全体のディスプレイ構成情報を削除するために、下記コマンドを実行します。
sudo rm /Library/Preferences/com.apple.windowserver.plist
- システムを再起動します。
- 同じユーザーアカウントで再度ログインします。
- 外部モニターを再接続し、正しい解像度、位置、モニターの向き(横置きなど)の設定を行います。