如何使用xrandr创建虚拟显示器且不扩展HDMI屏幕宽度?
如何使用xrandr创建虚拟显示器且不扩展HDMI屏幕宽度?
我完全懂你的痛苦,这种滚动式的扩展真的太影响工作效率了!咱们一步步来排查解决这个问题:
问题根源分析
你当前的xrandr命令里,把VIRTUAL1和HDMI-0都设置成了--right-of eDP1,这会导致两个屏幕重叠在eDP1的右侧,Xorg会生成一个超大的虚拟桌面,而你的HDMI显示器只能显示其中一部分,因此出现了滚动行为。
解决方案步骤
1. 先重置当前显示配置
先回到初始状态,避免之前的错误设置干扰:
xrandr --auto
2. 重新设置正确的显示布局
把虚拟显示器放在HDMI-0的右侧,确保三个屏幕依次排列,位置连续且无重叠:
xrandr \ --output eDP1 --mode 1368x768 --pos 0x0 \ --output HDMI-0 --mode 1920x1080 --pos 1368x0 --right-of eDP1 --primary \ --output VIRTUAL1 --mode 1920x1080 --pos 3288x0 --right-of HDMI-0
这里3288x0是eDP1的宽度(1368) + HDMI-0的宽度(1920)的计算结果,确保VIRTUAL1刚好接在HDMI-0的右侧,不会和任何物理屏幕重叠。
3. 排查桌面环境的自动调整干扰
有些桌面环境(比如GNOME、KDE)会自动调整显示布局,可能会覆盖你的xrandr设置。可以先禁用自动设置再尝试:
- 以GNOME为例:
gsettings set org.gnome.settings-daemon.plugins.xrandr active false
执行完xrandr命令后,如果需要恢复自动设置,再运行:
gsettings set org.gnome.settings-daemon.plugins.xrandr active true
4. 确认Intel显卡配置生效
你的20-intel.conf配置看起来没问题,但如果还是不生效,可以尝试:
- 检查是否有其他优先级更高的配置文件(比如
/etc/X11/xorg.conf.d/下的文件)覆盖了当前设置 - 重启Xorg(或直接重启电脑),确保配置加载生效
额外排查小技巧
如果还是有问题,可以先简化布局测试:
- 先关闭eDP1,只保留HDMI-0和VIRTUAL1:
xrandr --output eDP1 --off xrandr --output HDMI-0 --mode 1920x1080 --primary xrandr --output VIRTUAL1 --mode 1920x1080 --right-of HDMI-0
如果这样正常,再逐步添加eDP1:
xrandr --output eDP1 --mode 1368x768 --left-of HDMI-0
这样可以快速定位是哪个环节出了问题。
备注:内容来源于stack exchange,提问作者thiagobraga
相关产品推荐
相关产品推荐

