web-dev-qa-db-ja.com

デュアルモニターのセットアップ、1つのモニターには2倍の幅があり、他のモニターにスクロールします

私は周りを見回したが、この問題はどこにも見つかりません...

そのため、Ubunutu 14.04デスクトップに2台のモニターをセットアップしています。ソフトウェアと更新ツールを使用してビデオカードの独自のNVIDIAドライバーに切り替えて、奇妙なマウスの問題を解決し、コンピューターを再起動しました。私は問題を修正しましたが、新しい問題が出てきました。

2台のモニターをセットアップしていますが、両方とも1920x1080の解像度です。どちらも必要なことをしているように見えますが、マウスを右側の画面に移動しようとすると、左側のモニターがそれに沿って右にスクロールします。私はそれをどのように説明するのかよくわかりませんが、マウスを右端まで動かすと、ミラー表示になります!次に、マウスを左に戻すと、左のモニターが2つの別々のモニターに戻るまでスクロールして戻ります。

プログラムを起動するたびに、ウィンドウが中央に表示され、2つの画面にまたがります。どういうわけか左画面の解像度が高くなりすぎたと思うようになりますが、[ディスプレイ]の下の[システム設定]を見ると、両方の解像度が同じ1920 x 1080になっています。正しい画面は、期待どおりに完全に動作します。

更新:xrandrの設定をいじった後、2つの1920x1080画面を1つの3840x1080デスクトップのように動作させ、どちらのモニターにもパンしないようにすることを決定しました。私は現在、これを達成する方法に悩まされています(xrandrは非常に新しいです)。私が試してきたコマンドは、主に次のバリエーションです:

xrandr --output DVI-I-0 --size 1920x1080+1920 --panning 1920x1080 --output HDMI1 --size 1920x1080+1920 --panning 1920x1080

DVI-I-0は私の左(およびプライマリ)モニターです。 HDMI1は私の正しいものです。

これが役立つかどうかはわかりませんが、以下はxrandrの出力です。

    Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
DVI-I-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm panning 3840x1080+0+0
   1920x1080      60.0*+   59.9     50.0     60.1     60.0     50.0  
   1680x1050      60.0  
   1600x1200      60.0  
   1440x900       59.9  
   1280x1024      75.0     60.0  
   1280x720       60.0     59.9     50.0  
   1024x768       75.0     60.0  
   800x600        75.0     60.3  
   720x576        50.0     50.1  
   720x480        59.9     60.1  
   640x480        75.0     59.9     59.9  
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected
HDMI1 connected 1920x1080+0+0 509mm x 286mm panning 1920x1080+0+0
   1920x1080      60.0*+
   1680x1050      59.9  
   1280x1024      75.0     60.0  
   1440x900       59.9  
   1280x960       60.0  
   1280x800       59.9  
   1152x864       75.0  
   1280x720       60.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     66.7     60.0  
   720x400        70.1  
HDMI2 disconnected
HDMI3 disconnected
VIRTUAL1 disconnected
  1920x1080 (0x49)  148.5MHz
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock   67.5KHz
        v: height 1080 start 1084 end 1089 total 1125           clock   60.0Hz
  1280x1024 (0x2c2)  135.0MHz
        h: width  1280 start 1296 end 1440 total 1688 skew    0 clock   80.0KHz
        v: height 1024 start 1025 end 1028 total 1066           clock   75.0Hz
  1280x1024 (0x2c3)  108.0MHz
        h: width  1280 start 1328 end 1440 total 1688 skew    0 clock   64.0KHz
        v: height 1024 start 1025 end 1028 total 1066           clock   60.0Hz
  1024x768 (0x2c8)   65.0MHz
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock   48.4KHz
        v: height  768 start  771 end  777 total  806           clock   60.0Hz
  800x600 (0x2c9)   49.5MHz
        h: width   800 start  816 end  896 total 1056 skew    0 clock   46.9KHz
        v: height  600 start  601 end  604 total  625           clock   75.0Hz
  800x600 (0x2ca)   40.0MHz
        h: width   800 start  840 end  968 total 1056 skew    0 clock   37.9KHz
        v: height  600 start  601 end  605 total  628           clock   60.3Hz
  640x480 (0x2cf)   31.5MHz
        h: width   640 start  656 end  720 total  840 skew    0 clock   37.5KHz
        v: height  480 start  481 end  484 total  500           clock   75.0Hz
5
Mattholomew

いくつかのことを試してみて、何が悪いのかを理解しました。両方のモニターを同じグラフィックカードの同じ種類のポートに接続する必要がありました。自宅でケーブルを掘るのに苦労しましたが、1対のHDMIケーブルを手にしたら、問題なくモニターを正しくセットアップすることができました。

今では振り返ってみると明らかなように思えますが、特に同じマシンにWindowsをインストールすると元のセットアップ(2種類のポート、2つの異なるデバイス)を十分に処理できるようになったので、これは起こりませんでした。これは完全に理にかなっています。

2
Mattholomew

同じバグに遭遇しました。あなたのトリックは、単にバグが落ちないようにするトリガーです。あなたの回避策が私のために働かなかったので、私は少し掘り下げて、 解決策を持っている素敵な人 を見つけましたまあ。

主な問題は、ここで遭遇したバグにより、他の画面にスクロールしているモニターが、両方の画面のサイズを合計した仮想画面を持つことです。そのため、ソリューションは、モニターの解像度に合わせて、その画面上の余分な仮想スペースを無効にしているように見えるかもしれません。これは通常、--panning AxB引数を使用して行われます。これを使用して、仮想空間のサイズを設定します。

これはあなたがそれを行う方法です:

xrandr \
  --output LVDS-1-0 --mode 1920x1080 --panning 1920x1080 --pos 1920x0 \
  --output HDMI-0   --mode 1920x1080 --panning 1920x1080 --pos 0x0    --primary

(スラッシュ\は、コマンドで改行を使用するために追加されました。)

悲しいことに、ここでの問題は、ドライバー(つまりバグ)が設定した(または設定しない)パンを上書きするように見えることです。しかし、パンの別の部分を設定することではありません:トラッキングエリア!トラッキング領域は、実際には、カメラがモニター上のカーソルを追う画面の一部です。

そのため、パンニングをドライバーとして設定するが、代わりにトラッキングエリアを制限するという考え方です

これは、次のコマンドで実行されます。

xrandr \
  --output LVDS-1-0 --mode 1920x1080 \
  --output HDMI-0   --mode 1920x1080 --panning 3840x1080+0+0/1920x1080+1920+0/0/0/0/0    --primary

「最初の4つのパラメーター[of [panning argument]は合計パンエリアを指定し、次の4つはポインター追跡エリア(デフォルトは同じエリア)を指定します。最後の4つのパラメーターは境界線を指定し、デフォルトは0です。」 [ man xrandr ]

0
Sebastian Barth