我有一台宽屏显示器,想将其分成两个虚拟屏幕。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 命令不再需要。