MacBookがスリープから復帰した後、外部モニターの解像度設定が失われる


12

最近、MiniDisplay-to-VGAアダプターを使用してMacBook Pro(Late 2009)に接続している外付けモニターを購入しました。OS X Lionで、外部モニターとMacBookのモニターの両方を「最高の解像度」に設定しています。コンピュータがスリープ状態から「ウェイクアップ」すると、外付けモニタの解像度設定が「忘れられ」ます。コンピュータが「ウェイクアップ」するたびに、外部モニタの解像度がMacBookのモニタと一致するように設定されます。

DVIケーブルではなくVGAケーブルを使用している唯一の理由は、MiniDisplay-to-DVIアダプターがないためです。DVIに切り替えると問題は解決しますか?ユーティリティを毎回手動で解像度をリセットする以外に、この問題を解決する既知の方法はありますか?

ありがとう。


それが問題かどうかはわかりません。お使いのコンピュータは、接続された以前のスクリーンプロファイルのリストを保存していないようです。画面に接続すると、設定されている解像度、画面の配置、壁紙などの情報を含むプロファイルがどこかに保存されていることを知っています。保存に失敗したようです。私の疑いは、ファイル~/Library/Application Support/Preferences/com.apple.desktop.plistが更新されていないことです。しかし、それが格納されているかどうかはわかりません。
チャドマーモン2013年

この問題はまだ解決されていますか?最近のアップデート(10.8.3から)以来、私は(今)同じことに直面しています。私はまた、(更新以降)Bluetoothマウスが私のスリープ状態から覚醒しているように見えることにも気づきました。これまでは使用していなかったため、以前はBluetoothキーボードを使用してスリープを解除できませんでした... PRAMのリセットでは修正できませんでした私:/
nzcoops 2013年

問題は引き続き発生しますが、NVRAMをリセットしてから(承認された回答に示されているように)、頻度ははるかに少なくなります。
Christian Correa 2013年

現在、非常によく似たことが起こっています。Macbook Pro 2016エディション、外付けLG 4Kモニターのみを使用(MBPクローズ)。スリープから復帰した後、4Kモニターがいくつかの非常に低い1080p解像度などに低下したようです
ジョニー

回答:


15

NVRAMをリセットすることをお勧めします。このチップは画面解像度に関する情報を保存するため、破損することがよくあります。cmd+ opt+ P+ を押しながらMacを起動すると、リセットできますR。Macのチャイムが聞こえたら、再起動してもう一度チャイムを鳴らします。次に、保持しているキーを放します。詳細はこちら


情報ありがとうございました。あなたが述べた指示でNVRAMをリセットした後、コンピュータがスリープ状態から戻った後、解像度は正しく「記憶」されているようです。
Christian Correa 2013年

6

私はこれを回避する簡単な方法を見つけました。それが人々の役に立つことを願っています。NVRAMをリセットしてみましたが、役に立ちませんでした。OSのアップグレードの問題が原因だと私は確信しています。

これが修正です。左上隅に移動するとビデオが停止するようにビデオを設定します。スリープ状態が解除されたときに解像度が低い場合は、マウスを左上に移動してビデオをオフにします。マウスをその位置で左クリックすると、MacBook Pro 15の場合と同様に、最適な解像度にリセットされます。


1
このソリューションを機能させるには、「スリープ状態から抜けたとき」が必要です。つまり、Macがスリープ状態ではなく、外部モニターの解像度が低い場合は、Macをスリープ状態にして(アップルメニュー)、スリープ解除してから、「解像度は低いです。」
安藤

3
「左上隅に移動するとビデオが停止するようにビデオを設定してください。」- これは何を意味するのでしょうか?
oarfish '10年

1

これが私に起こったときのための非常に簡単な修正を見つけました。外付けモニターが電源タップに接続されており、電源タップをオフにしてから再びオンにすると、Macbook Pro(Mid 2010)のディスプレイ設定にある場合、外付けモニターにディスプレイ解像度のオプションが表示されます。これがお役に立てば幸いです。


1

まあ、これは私にはうまくいきませんでした。これは、問題が見つかる前に行ったことです。

コンピューターがスリープ後に復帰した後(macbook proマーベリックス、8gigs ram、網膜を備えた悲鳴を上げるコンピューター)、VGA-> DVIで接続した2つのモニターのうち、右側のモニターが1600x900から800x600にリセットされ続けた。私は...するだろう:

  • MacからDVIポートを取り外します。運が悪い。
  • モニターのプラグを抜いて電源を切り、電源を入れ直して差し込みます。
  • プラグを抜いて、モニターの電源を切り、Macを再起動し、プラグを差し込み、電源を入れます。運が悪い。
  • ディスプレイの設定に移動し、押しOptionて「ディスプレイの検出」を取得し、クリックします。変更はありません。
  • すべてオフにして、Command+ Option+ P+ を押しながらコンピュータを再起動し、すべてオンにして、再びR差し込みます。リセットしても、そのモニタの最適なディスプレイに戻りません。

言うまでもなく、私はかなりイライラしていました。私が考えるまで、DVIアダプターからVGAを外すとどうなりますか?さて、私はそれをしました、一緒に戻って接続して出来上がり、画面リセット。

したがって、今後この問題が発生する人にとっては、実際のDVIアダプターの問題である可能性もあります。すべてが失敗する場合は、モニターケーブルからアダプターを外してみて、機能するかどうかを確認してください。それは私のためにした。


0

2009年からiMacで同様の問題がありました。2台目のディスプレイは、firewire-to-VGAアダプタを介して接続されています。私はこの問題を修正するためにあらゆることを試みましたが、nvramのリセットは再起動後に機能しましたが、次にモニターが「スリープ」したときに問題が再び発生しました。解像度を手動で設定しようとすると、「オプション」キーを押してさらに解像度を表示しても、解像度(1920x1080)が表示されませんでした。

embdev.netのAndreas Schwarzによるこの投稿で解決策を見つけました(次のコード内のリンクを参照してください。2つを超えるリンクを投稿することはできません)。これは直接問題を修正することを意図したものではありませんが、私には問題はありません。

この問題は、ディスプレイがRGBのみをサポートすることをOS Xに伝えるために、ディスプレイのEDIDデータを上書きすることで解決できます。これは、「ioreg -l」を使用してEDIDを読み取り、問題のあるビットを変更し(Wikipediaの記事の仕様を参照)、OS Xの表示構成オーバーライドファイルを作成することで実行できます。

次に、このオーバーライドファイルを作成するルビスクリプトを提供しました。

#!/usr/bin/ruby
# Create display override file to force Mac OS X to use RGB mode for Display
# see http://embdev.net/topic/284710
# 
# Update 2013-06-24: added -w0 option to prevent truncated lines

require 'base64'

data=`ioreg -l -w0 -d0 -r -c AppleDisplay`

edid_hex=data.match(/IODisplayEDID.*?<([a-z0-9]+)>/i)[1]
vendorid=data.match(/DisplayVendorID.*?([0-9]+)/i)[1].to_i
productid=data.match(/DisplayProductID.*?([0-9]+)/i)[1].to_i

puts "found display: vendorid #{vendorid}, productid #{productid}, EDID:\n#{edid_hex}"

bytes=edid_hex.scan(/../).map{|x|Integer("0x#{x}")}.flatten

puts "Setting color support to RGB 4:4:4 only"
bytes[24] &= ~(0b11000)

puts "Number of extension blocks: #{bytes[126]}"
puts "removing extension block"
bytes = bytes[0..127]
bytes[126] = 0

bytes[127] = (0x100-(bytes[0..126].reduce(:+) % 256)) % 256
puts 
puts "Recalculated checksum: 0x%x" % bytes[127]
puts "new EDID:\n#{bytes.map{|b|"%02X"%b}.join}"

Dir.mkdir("DisplayVendorID-%x" % vendorid) rescue nil
f = File.open("DisplayVendorID-%x/DisplayProductID-%x" % [vendorid, productid], 'w')
f.write '<?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">'
f.write "
<dict>
  <key>DisplayProductName</key>
  <string>Display with forced RGB mode (EDID override)</string>
  <key>IODisplayEDID</key>
  <data>#{Base64.encode64(bytes.pack('C*'))}</data>
  <key>DisplayVendorID</key>
  <integer>#{vendorid}</integer>
  <key>DisplayProductID</key>
  <integer>#{productid}</integer>
</dict>
</plist>"
f.close

「ruby patch-edid.rb」を使用してターミナルでこのスクリプトを実行すると、「DisplayXXX」という名前のフォルダーが作成されます

含まれているフォルダーを/ System / Library / Displays / Overridesに移動します。再起動後、モニターにRGBカラーが使用されていることが表示されます。

再起動後、解像度は正しくありませんでしたが、ディスプレイ設定で正しい解像度を設定できました。


0

私や同僚に役立つこのソリューションはどこにもありませんでした。Macのアップデートがあるかどうかを確認します。知らないセキュリティアップデートがあったので、モニターを接続せずにアップデートして再起動したところ、問題なく起動しました。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.