Linux での Nvidia モニターの位置設定を再起動後も維持するにはどうすればよいですか?

Linux での Nvidia モニターの位置設定を再起動後も維持するにはどうすればよいですか?

私はモニターを 2 台持っていて、Linux で「TwinView」付きの独自の Nvidia ドライバーを使用して両方を実行しています。Linux Mint 13 をインストールしたばかりですが、インストール後、再起動するたびにモニターが間違った位置に表示されます (コンピューターは左のモニターが右にあると認識します)。

起動後、Nvidia config を実行してモニターの位置を修正し、構成ファイルを正常に保存することもできます。しかし、再起動するとすぐに、モニターが再び切り替わった状態で表示されます。

何が原因なのか(そしてもっと重要なのは、どうすれば解決できるのか)誰か分かるでしょうか?

* 編集 *

次のように xorg.conf を手動で編集してみました。

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "CRT-1"
    Option         "metamodes" "CRT: 1280x1024, DFP: 1280x1024"
    Option         "TwinViewOrientation" "RightOf"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

しかし、間違ったモニターが右側に表示されます。

「RightOf」を「LeftOf」に変更すると、起動時に黒い画面が表示され、マウス/キーボードがフリーズします。

答え1

実行してsudo nvida-settings「X 構成ファイルに保存」をクリックします。

ここに画像の説明を入力してください


アップデート:

それでも問題が解決しない場合は、次の操作を試してください。

  • /etc/X11/xorg.confまず、 nvidia ユーティリティを使用して新しいものを生成します。

    $ sudo nvidia-xconfig
    

    現在のxorg.conf(ある場合)は次のように保存されます。/etc/X11/xorg.conf.nvidia-xconfig-original

  • nvidia-settings次に、上記のスクリーンショットのように、すべてを希望どおりに設定し、xorg.conf に保存します。

    $ sudo nvidia-settings
    

    必ず変更してください何かそうしないと、nvidia-settings変更を保存できません。

  • この時点で、/etc/X11/xorg.conf次のような行を含むファイルが作成されているはずですSection "Screen"

    Option         "metamodes" "CRT: 1440x900 +1600+0, DFP: 1600x900 +0+0"
    

    詳細は異なりますが、この行は、CRT (VGA) モニターの解像度が 1440x900、水平オフセットが +1600 であることを意味します。言い換えると、これは私のラップトップ (DFP) のモニターの右側にあります。

  • 取り除く全てその行からオフセット値(+1600+0および+0+0上記)を取り出し、次のように画面の位置を設定します(オフセットを使用することもできますが、これがより明確だと思います)。

    Option         "metamodes" "CRT: 1440x900, DFP: 1600x900"
    Option         "TwinViewOrientation" "RightOf"
    

    このオプションは、TwinViewOrientationプライマリモニターに対するセカンダリモニターの位置を設定します。、、、、、を使用RightOfできます。LeftOfAboveBelowClone

  • 最後に、ファイルを保存し、ログアウトして再度ログインします。

次のリソースは、xorg.conf と NVIDIA に関する優れた情報源です。

答え2

ほぼ同じ状況で作成したスクリプトがあります(スクリプト作成は初心者なので、下手かもしれません)。これは、ラップトップの画面をオフにして、2 つのモニター画面を使用します。必要ないと思われる部分はコメントアウトしました。これがうまく機能するかどうかをお知らせください。

#!/bin/bash
# Monitor Config script

#INTERN1=LVDS1
EXTERN1=VGA1
EXTERN2=HDMI1

if $(xrandr --prop |grep -q "$EXTERN1 connected"); then
    #xrandr --output $INTERN1 --off
    xrandr --output $EXTERN2 --mode 1920x1080
    xrandr --output $EXTERN1 --mode 1920x1080
    xrandr --output $EXTERN1 --left-of $EXTERN2
    xrandr --output $EXTERN1 --primary
fi

それでもうまくいかない場合は、ターミナルで xrandr と入力してモニター名を調べます。左と右のモニター名を変更します... そうです。

起動時にスクリプトを実行するには、カーネルについて Google で検索してください...クラスにアクセスする必要があります:\

これが役に立つことを願っています!

答え3

この質問がされてからかなり時間が経ちましたが、なぜ「X 構成ファイルに保存」で、root であってもエラーが発生するのか不思議に思われるかもしれません。ターミナルには、実行できないという内容が表示されました/usr/share/screen-resolution-extra/nvidia-polkit(ディストリビューションではパスが異なる可能性があります。ターミナルの出力を確認してください)。これに実行権限を追加すると、問題は解決しました。

関連情報