双显示器设置,一台显示器具有双倍宽度并滚动到另一台显示器

Mat*_*mew 7 xrandr resolution multiple-monitors

我环顾四周,在任何地方都找不到这个问题......

所以我的 Ubunutu 14.04 桌面上有两个显示器设置。我刚刚通过软件和更新工具切换到显卡的专有 NVIDIA 驱动程序解决了一个奇怪的鼠标问题,并重新启动了我的计算机。我解决了这个问题,但出现了一个新问题。

我有一个双显示器设置,都是 1920x1080 分辨率。他们似乎都在做他们应该做的事情,但是当我尝试将鼠标移动到右侧的屏幕时,我的左侧显示器随之向右滚动。我不知道如何描述它,但是当我将鼠标一直向右移动时,我最终得到了一个镜像显示!然后,当我将鼠标移回左侧时,左侧显示器向后滚动,直到它回到两个独立的显示器。

每当我启动任何程序时,窗口就会出现在中间,横跨两个屏幕。这让我相信左屏幕的分辨率设置得太高了,但是当我查看“显示”下的“系统设置”时,它们的分辨率是相同的,1920 x 1080。不太确定为什么会这样。正确的屏幕表现得非常完美。

更新:在摆弄 xrandr 设置后,我确定我想要两个 1920x1080 的屏幕,就像一个 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
Run Code Online (Sandbox Code Playgroud)

Mat*_*mew 2

在尝试了一些事情之后我已经弄清楚出了什么问题。我必须将两台显示器插入同一个显卡上的同一种端口。我在家里费了一番功夫才找到电缆,但一旦我拿到了一对 HDMI 电缆,我就能够轻松地正确设置显示器。

现在回想起来,这似乎是显而易见的,但我并没有想到这一点,特别是因为我在同一台计算机上安装的 Windows 似乎可以很好地处理原始设置(两种类型的端口,两种不同的设备)。但这是完全有道理的。


Seb*_*rth 0

我遇到了同样的错误。你的技巧只是一个触发器,使错误不会陷入困境。由于你的解决方法对我不起作用,我深入研究了一下,找到了一个好人,他的解决方案也可能对其他人有帮助。

主要问题是,我们在这里遇到的错误会导致滚动到另一个屏幕的显示器出现一个虚拟屏幕,其大小与两个屏幕的大小相加。因此,该解决方案似乎会禁用该屏幕上的额外虚拟空间以适应显示器的分辨率。这通常是通过--panning AxB参数来完成的 - 我们用它来设置虚拟空间大小。

您可以这样做:

xrandr \
  --output LVDS-1-0 --mode 1920x1080 --panning 1920x1080 --pos 1920x0 \
  --output HDMI-0   --mode 1920x1080 --panning 1920x1080 --pos 0x0    --primary
Run Code Online (Sandbox Code Playgroud)

\添加斜线以在命令中使用换行符。)

可悲的是,这里的问题是驱动程序(即错误)似乎覆盖了我们设置(或未设置)的平移。但它没有设置平移的另一部分:跟踪区域!跟踪区域实际上是摄像机跟随显示器上的光标的屏幕部分。

因此,我们的想法是将平移设置为驱动程序,但限制跟踪区域。

这是通过以下命令完成的:

xrandr \
  --output LVDS-1-0 --mode 1920x1080 \
  --output HDMI-0   --mode 1920x1080 --panning 3840x1080+0+0/1920x1080+1920+0/0/0/0/0    --primary
Run Code Online (Sandbox Code Playgroud)

“ [panning参数]的前四个参数指定总平移区域,接下来的四个参数指定指针跟踪区域(默认为同一区域)。最后四个参数指定边框,默认为 0。” [男人 xrandr ]