我使用以下xrandr
命令将我的 17 英寸笔记本电脑镜像到 27 英寸外接显示器,这样我就可以用它来进行演示:
xrandr --output LVDS1 --mode 1600x900 --output HDMI1 --mode 1920x1080 --same-as LVDS1
但是,外部显示器 (HDMI1) 的分辨率会回落到 1600x900,而不是 1920x1080。
xrandr 输出:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
LVDS1 connected primary (normal left inverted right x axis y axis
1600x900 60.0 +
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
1920x1080 60.0*+
1680x1050 59.9
1280x1024 75.0 60.0
1440x900 75.0 59.9
1280x960 60.0
1152x864 75.0
1024x768 75.1 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3 56.2
640x480 72.8 75.0 66.7 60.0
720x400 70.1
DP1 disconnected (normal left inverted right x axis y axis)
答案1
如果您不介意在笔记本电脑上平移,请尝试以下操作:
xrandr --output LVDS1 --rate 60 --mode 1920x1080 --fb 1920x1080 --panning 1920x1080* --output HDMI1 --mode 1920x1080 --same-as LVDS1
答案2
xrandr --fb 1920x1080 --output LVDS1 --mode 1600x900 --scale-from 1920x1080 --output HDMI1 --mode 1920x1080 --scale 1x1 --same-as LVDS1
或者您可以采用另一种方法,使用 LVDS1 的分辨率作为基本分辨率,但 HDMI1 的质量会较低。
答案3
当显示器的分辨率不同时,似乎xrandr
不太擅长在配置中处理双显示器。--same-as
除了回退到两台显示器的最高通用分辨率(这种分辨率可能不令人满意或者甚至可能不存在)之外,解决方法是使用该--scale
选项。如果您想要[monitor 1]
分辨率[resx1]x[resy1]
和[monitor 2]
分辨率[resx2]x[resy2]
,您可以使用例如
xrandr --output [monitor 1] --mode [resx1]x[resy1] --output [monitor 2] --same-as [monitor 1] --scale `echo "[resx1]/[resx2]" | bc -l`x`echo "[resy1]/[resy2]" | bc -l`
其中`echo "[res*1]/[res*2]" | bc -l`
计算所需的比率。但不保证完美品质;此外,请记住,上述设置的分辨率的质量受到 的分辨率的限制[monitor 1]
。
答案4
设置分辨率就是xrandr源如果您指定--same-as
关系,则执行以下操作:
case relation_same_as:
output->x = relation->x;
output->y = relation->y;
你有没有尝试过:
xrandr --output HDMI1 --mode 1920x1080 --output LSVD1 --mode 1600x900 --same-as HDMI1
?