web-dev-qa-db-ja.com

TwinViewは、外部モニターを取り外したときにデスクトップを引き伸ばす

NVidiaカードを搭載したHPラップトップを使用しており、Ubuntu 11.04(安定版)を使用しています。 nVidia Xサーバー設定アプリケーションを使用してTwinViewをセットアップしました。セカンダリモニターが接続されていない状態で起動すると、デスクトップが引き伸ばされて解像度が失われます。 Unityとメインパネルは正常に機能しますが、実行しているアプリケーションも拡張されており、解像度が間違っているため、ほとんど使用できません。セカンダリモニターを(HDMI経由で)プラグインして起動すると、すべて正常に動作します。

これをxorg.confファイルにドリルダウンしました。ファイルを削除して再起動すると、プライマリモニターは正常に動作しますが、nVidiaを構成してTwinViewを再度使用する必要があります。単一のモニターと複数のモニターを絶えず切り替えるラップトップの場合、これは迷惑になります...

だから基本的に私の質問は次のとおりです。1台のモニターのみが接続されている場合、デュアルモニター設定が無視されるようにUbuntuをセットアップできますか。これは10.10で正常に機能しました(そのxorg.confファイルがまだあるので、同じ問題が発生します)。

これが私の現在のxorg.confファイルです。

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 270.29  (buildd@allspice)  Fri Feb 25 14:42:07 UTC 2011

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Seiko/Epson"
    HorizSync       30.0 - 75.0
    VertRefresh     60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 230M"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "metamodes" "DFP-0: nvidia-auto-select +1920+0, DFP-1: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
3
Michael

これがハイブリッドグラフィックラップトップの場合、bumblebeeをインストールしてIntelカードとNvidiaカードの両方を同時に動作させ、マルチスクリーン構成にgnome-display-propertiesを使用してみてください。最近のnvidia twinviewよりも優れています: https ://launchpad.net/~hybrid-graphics-linux

 sudo apt-get install git 
#type password 
 git clone http://github.com/MrMEEE/bumblebee.git
cd bumblebee /
 sudo ./install.sh
optirun glxgears 
#速度を確認し、実行と比較します:
 glxgears 
#google-chromeがインストールされている場合、 optirunあり/なしで試してみて、メーリングリストでFPS値を報告できます。
 optirun google-chrome http://webglsamples.googlecode.com/hg/aquarium/aquarium.html
2
719016

私の最初の提案は、xorg.confを使用しないことです。解決するよりも多くの問題を引き起こす傾向があるからです。

私が代わりに提案するのは、disper起動時に実行でき、モニターが検出されない場合、解像度は切り替わりません。より複雑な設定がある場合は、この回答で行ったように異なるディスパー設定でスクリプトを作成できます- ラップトップのドックでモニターを自動的に切り替える方法

1
Cas

私もこれに取り組みました。私のために働く現在のファイルは最後にあります。

仕様を維持する主な設定は次のとおりです。

Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "CRT: nvidia-auto-select, DFP: nvidia-auto-select"
Option "TwinViewOrientation" "RightOf"

これにより、解像度を気にせずに、さまざまなモニター(ブート時に接続)を使用することもできます。

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Dell SE198WFP"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8400M GS"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "CRT-0"
    Option         "metamodes" "CRT: nvidia-auto-select, DFP: nvidia-auto-select"
    Option          "TwinViewOrientation" "RightOf"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
0
AgentK