web-dev-qa-db-ja.com

外部モニターを切断するときにディスプレイ設定を更新しない

モニターをラップトップから切断しても、Ubuntuはまだ接続されていてディスプレイを更新しないと考えているようです。この問題はUbuntu固有で(Windowsでは発生しません)、私のモニターは別のラップトップ(Ubuntu 13.04、まったく同じドライバー)で正常に機能しました。

クイックフィックス:

  • system settingsを開きます
  • Displaysをクリックします

有用な仕様:

  • グラフィックドライバー:nvidia-313(他の専用ドライバーでも問題が発生します)
  • グラフィックカード:Nvidia Quadro K1000M
  • モニター:Benq ET-0019-N
  • ケーブル:VGA D-sub DE15
  • OS:Ubuntu 13.04

モニターケーブルが切断されるたびに、Ubuntuが自動的にディスプレイ設定を更新するようにします。どうすればいいですか?

8
Joren

Launchpadには古いバグがあります- bug#306735 -無効とマークされ、既知の問題であるがかなり複雑であるという説明があります(詳細な説明 here )。

だから、私が知る限り、あなたが本当の意味で尋ねたもののためのautomaticメソッドはありません。ただし、 autorandr を使用できます(インストールする必要があります disper 最初に-からSudo apt-get install disperを実行します- 端末 )、 Stefan Tomanek によるスクリプト。このスクリプト(autorandr)を使用すると、autorandr --changeコマンドのキーボードショートカットを追加できます。外部モニターを接続または切断するときは、そのキーボードショートカットを押すだけで済みます。これらはすべて この回答 (Ubuntu 13.04でテストしたばかりで、すべてうまくいきます)で非常にうまく説明されています。

ターミナルでスクリプトをテストした後、スクリプトのカスタムキーボードショートカットを追加する場合は、次の投稿を確認する必要があります。

2
Radu Rădeanu

NVIDIAドライバーのREADMEの付録B から:

Option "UseHotplugEvents" "boolean"

このオプションを有効にすると、NVIDIA Xドライバーは、ディスプレイがNVIDIA GPUに接続または接続解除されたときにRandRディスプレイ変更イベントを生成します。一部のデスクトップ環境は、これらのイベントをリッスンし、ディスプレイが追加または削除されたときにデスクトップを動的に再構成します。

このオプションを無効にすると、DisplayPort以外のディスプレイ(VGA、DVI、またはHDMIを介して接続されたディスプレイ)のこれらのRandRイベントの生成が抑制されます。 DisplayPortを介して接続されたディスプレイのホットプラグイベントを抑制することはできません。

このオプションが有効であるか無効であるかに関係なく、ディスプレイ構成のプローブ(xrandrまたはnvidia-settingsなど)により、RandRディスプレイ変更イベントが生成される場合があることに注意してください。さらに、一部のVGAポートはホットプラグ検出ができません。このようなポートでは、ディスプレイの追加または削除は、ディスプレイ構成を再プローブすることによってのみ検出できます。

デフォルト:オン。ディスプレイが追加または削除されると、ドライバーはRandRイベントを生成します。

したがって、このオプションを無効にしていないと仮定すると、問題は次のいずれかの選択肢に狭まります。

  • VGAケーブルまたはカードのVGAコネクタの一部のDDCピンが破損しています(ピン12、ピン15、またはピン9)。別のVGAケーブルを接続して、もう一度試してください。

  • Nvidia Quadro K1000Mベースのビデオカードには、この検出をサポートしないコネクタがあり、xrandrまたは同等のもの(ディスプレイ設定を開く)を呼び出すと、この検出が起動します。その場合、これは機能しませんが、他のオペレーティングシステムでも検出は機能しません。しかし、これを直接目にしたことはありません。

  • または、NVIDIAドライバーにこの検出が適切に機能しないバグがある可能性があります。別のドライバーバージョン(304など)を試して、問題が解決しないか確認してください。

If nvidia独自のドライバーを実行している場合、Jorgeの回答で述べたように、xrandrを単独で実行するだけで問題が解決するようです。

0
ccpizza