6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

リフレッシュレートを変えてしまい外部スクリーンが見えなくなった際の対処(Mac)

Last updated at Posted at 2020-05-13

(2020.05.13初稿)

使用環境

  • Mac mini
  • Mac OS Mojave(10.14.6)
  • スクリーン:プリンストン製 HTBNE-24W

問題発生

スクリーンの解像度などの設定を変えようと、「システム環境設定」から「ディスプレイ」を開き、もともと60ヘルツ(Hz)のリフレッシュレートを24Hzに変更してしまった。
(リフレッシュレートの意味も知らなかったための愚行、、、)

すると、画面が一度消えてから、ディスプレイ側からの出力で「範囲外」という画面が出てきてしまいMacからの出力を見ることができない状態に。

当然だが、ディスプレイが映っていないだけなので、キーボード、マウス等からの操作は可能である。

まず、最初の解決策としては

こちらにあるように、対応していないリフレッシュレートに変更してしまった直後、何も操作しないまま15秒ほど待つと自動的にリフレッシュレートが戻る、というもの。

ただサイト内の情報が最新ではないため、最新のOSで解決できるかは未検証。

加えて、今このページを見てくださっている方はそのタイミングを逃してしまった方だと思うので(もちろん僕も)、それ以外の解決策を考える。

また、ネットを調べて様々情報が出てくる中、少なくとも僕と同じ環境ではどれがうまくいかないのか、という情報も有益だと思うので、失敗した方法についても説明する。

以下の方法は、見れなくなってしまったモニター(以下では"元モニター"と呼ぶ)と別に、奇跡的に自分の持っていたHDMI接続が可能なプロジェクター(以下では"替モニター"と呼ぶ)に接続して画面を見ながら操作を行った。

そのため、替のモニター、あるいは出力できる機器(AirDisplay対応機器など?)が無いと厳しいかもしれない。

解決策?(NVRAMのリセット等)

一度変えてしまったモニターごとの設定は当然ながらMac側に保存されてしまっているので、これを削除してしまえばいいのでは無いかという方法。

まず元モニターにつないでシステムを終了する。
画面が見えないが、control + eject (ノートでは 電源ボタン)を押すと以下のポップが出てきているはずなので、続けてEnterを押せばシステムを終了できる。

スクリーンショット 2020-05-13 12.05.25.png

続けて再度起動する際に、困った時のNVRAM(またはPRAM)のリセット(方法は以下)

とセーフモードでの起動(方法は以下)

を行った。

するとセーフモードで起動すると(数十秒から数分?かかるが根気よく続ける)、なんとモニターが表示される!

ただ、これはセーフモード(右上に赤字でセーフブートと表示されているはず)で起動していることによる一時的なものであるので、さらに環境設定からリフレッシュレートを設定し直す必要がある。

僕が調べた中では一番多く出てくるのがこの方法で、このあとパスワードを入力してログインを行い、「システム環境設定」から「ディスプレイ」を開き元のリフレッシュレートに戻す、という手順になっている。

のだが、僕の場合ログインを行った瞬間にまた元の「範囲外」の画面が出てきてしまいモニターが表示されなくなってしまう。

そのため、これでもダメだった。

また、モニターごとの設定が保存されているという

/Library/Preferences/mac.apple.windowserver.plist

を削除するという方法も行ったが、これも効果はなかった。

成功した解決策(cscreenを使用)

「Mac リフレッシュレート 変更」
などで検索していても、設定を間違えて画面が見れなくなった僕のような愚か者用の情報はあまり多くない。

そのため、コマンドライン上でリフレッシュレートを変更できれば、替モニターでターミナル等を開いておき、元モニターにつなぎ直してコマンドを実行すれば元に戻せるのでは、という発想で調べ直すと、実際に以下の参考になるページが見つかった。

画面共有を使用していて、物理画面が接続されていないときに解像度を変更するにはどうすればよいですか?

なお、もともと英語のページが自動で翻訳されており、あまりよろしくない日本語で書いてあるので、英語が壊滅的に苦手ではない人は英語に表示を戻すのをオススメする。
ここで分かった方法を以下で説明する。

cscreen

Macではコマンドライン上で解像度やリフレッシュレートの設定を確認・変更を行えるcscreenが用意されている。

これはHomebrewを使って簡単に導入できるので、替モニターにつないでコマンドライン上で、

$ brew cast install cscreen

を実行しcscreenのインストールを行う。
成功したら、

$ cscreen -v

を実行することで今接続されているモニターの、設定可能な解像度やリフレッシュレートの情報が一覧で表示される。

  $ cscreen -v
DisplayID  Index     Depth     Width     Height  Refresh
27c00902       1        32      1920       1080    60
27c00902       2        32      1920       1080    60
27c00902       3        32      1280        720    60
27c00902       4        32       720        480    60
27c00902       5        32       640        480    60
27c00902       6        32      1920       1080    50
27c00902       7        32       720        576    50
27c00902       8        32      1280        720    50
27c00902       9        32      1920       1080    50
27c00902      10        32      1920       1080    24
27c00902      11        32       800        600    60
27c00902      12        32      1024        768    60
27c00902      13        32      1024        576    60
27c00902      14        32      1280        960    60
27c00902      15        32      1344       1008    60
27c00902      16        32      1344        756    60
27c00902      17        32      1600        900    60
use -h to display all usage options

cscreenコマンドを使えばこの中の解像度やリフレッシュレートを指定して設定を変更できる。

使い方は、コマンドライン上で、

$ cscreen -d <彩度> -x <width> -y <height> -r <リフレッシュレート>

を実行することで、希望のリフレッシュレート等を指定し変更できる。

ただ、問題は上の図のような設定可能な解像度やリフレッシュレートの情報は、見れなくなってしまっている元モニターでは確認できない。

そのため、自分の使っているモニターの型番等を調べ、ネットでオンラインマニュアル・仕様書等を見つけて、設定可能な解像度やリフレッシュレートの情報を確認しよう。

確認ができたら、僕の場合は最高解像度が1920x1080、リフレッシュレートは60Hzだったので、替モニターでターミナルを開いてから元モニターに接続し、見えない画面の中で以下のように入力し実行した。

  $ cscreen -d 32 -x 1920 -y 1080 -r 60

すると、一瞬の暗転の後、画面が元どおり映った!!
歓喜の瞬間、声を出してこの奇跡を喜びました。

特にcscreenの導入に障壁もないので、替のモニターさえあれば、大体のMacユーザーはこの方法で解決できるんじゃないかと思います。

注意点として、

※ 参考にしたサイトでは、
$ cscreen -i <screenID> 〜〜
のようにモニターのIDも指定していましたが、これは画面が映らない限り確認できない情報であり、僕は入力しなくても実行できました。

※ 彩度については、大抵の最近のスクリーンであれば-d 32で指定しておけば問題ないはずです。

終わりに

いつもはqiitaは自分の作業メモ用に非公開で使用しているのですが、自分が何時間も無駄にしてなかなかに困ったので、同じトラブルにあっている人がすぐに解決できるように思わず記事にしてしまいました。

1人でもこのお粗末な記事で助かる方がいれば幸いです。

6
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?