将宽屏显示器一分为二

将宽屏显示器一分为二

我有一台宽屏显示器,想将其分成两个虚拟屏幕。xrandr 说:

Screen 0: minimum 8 x 8, current 3840 x 1600, maximum 32767 x 32767
DVI-D-0 disconnected primary (normal left inverted right x axis y axis)
HDMI-0 connected 3840x1600+0+0 (normal left inverted right x axis y axis) 880mm x 367mm
   3840x1600     60.00*+  30.00  
   3840x2160     59.94    50.00    29.97    25.00    23.98    23.98  
   3840x800      59.99  
   1920x1600     59.95  
   1920x1200     59.88  
   1920x1080     60.00    59.94    50.00  
   1920x800      59.88  
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.93    59.94  

..我按照这篇 10 年前的帖子中的说明进行操作:

将显示器一分为二

并编写了这个脚本:

xrandr --setmonitor A 1920/440x1600/367+0+0 HDMI-0
xrandr --setmonitor B 1920/440x1600/367+1920+0 none

xrandr --listactivemonitors 返回:

Monitors: 2
 0: A 1920/440x1600/367+0+0  HDMI-0
 1: B 1920/440x1600/367+1920+0 

所以它似乎已经接受了命令。但是 xrandr --fb 不起作用,我仍然有相同的 3840x1600 显示器:

~$ sudo xrandr --fb 1920x1600
xrandr: specified screen 1920x1600 not large enough for output HDMI-0 (3840x1600+0+0)
xrandr: Configure crtc 0 failed
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  21 (RRSetCrtcConfig)
  Value in failed request:  0x0
  Serial number of failed request:  33
  Current serial number in output stream:  33

怎么了?我使用带有 MATE 的 Ubuntu 21.10。

答案1

这是我自己的问题的答案。我希望它能节省一些人的时间。昨天我为我的 GT1030 卡使用了 NVidia 驱动程序,它的单个 HDMI 端口名为 HDMI-0。今天我删除了专有驱动程序,现在端口的名称为 HDMI-1,并且可以正常工作。

我为 3840x1600 显示器制作了两个脚本。第一个脚本按 1:1 分割(跳过一个像素以在虚拟屏幕之间创建一条细垂直线)

#!/bin/bash
xrandr --setmonitor A 1920/440x1600/367+0+0 HDMI-1
xrandr --setmonitor B 1919/440x1600/367+1921+0 none

另一个创建 3 个虚拟屏幕,它分割 (0.5+0.5):2

#!/bin/bash
xrandr --setmonitor A 1280/293x800/184+0+0 HDMI-1
xrandr --setmonitor B 1280/293x800/183+0+800 none
xrandr --setmonitor C 2559/587x1600/367+1281+0 none

这就是我现在喜欢的软件开发设置。要恢复上述设置,请使用:

#!/bin/bash
xrandr --delmonitor A
xrandr --delmonitor B
xrandr --delmonitor C
xrandr --listactivemonitors

链接(非常旧)帖子的 xrandr --fb 命令不再需要。

相关内容