一条xrandr命令可同时设置双屏分辨率与刷新率,但需确保--rate紧跟--mode且对应模式已存在;否则静默失败。需先用xrandr -q确认输出名及支持模式,缺失模式须用cvt+--newmode添加;多--output必须连写,不可分条执行。

怎么用 xrandr 同时设置两个显示器的分辨率和刷新率
直接用一条 xrandr 命令就能搞定,但必须注意参数顺序和依赖关系:刷新率(--rate)必须跟在 --mode 后面,且该模式本身得支持对应刷新率。否则命令静默失败,屏幕没变化,还查不出错。
常见错误现象是执行后只有主屏生效、副屏退回低分辨率,或者 xrandr 报 “cannot find mode” —— 这往往是因为你指定的 --rate 144 对应的模式根本没被枚举出来。
- 先运行
xrandr -q,确认两个输出名(比如eDP-1和HDMI-2)以及它们各自支持的Mode列表 - 如果某个分辨率+刷新率组合没出现在列表里(例如
3840x2160 120.00*),不能硬加--rate 120,得先用cvt+--newmode注册它 - 命令中多个
--output必须连写,不能拆成两条命令(否则第二条会覆盖第一条的布局状态)
示例:把笔记本屏设为 1920x1080@60,外接 4K 屏设为 3840x2160@120 并放在右侧:
xrandr --output eDP-1 --mode 1920x1080 --rate 60 \
--output HDMI-2 --mode 3840x2160 --rate 120 --right-of eDP-1
为什么 --rate 加了也不生效
--rate 不是独立开关,它只在当前 --mode 已存在多个刷新率变体时起作用。比如 xrandr -q 输出里有:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
HDMI-2 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 3840x2160_60.00 60.00* 59.98 3840x2160_120.00 120.00
这时 --mode 3840x2160 --rate 120 才有效;但如果列表里只有 3840x2160_60.00,那 --rate 120 就被忽略。
- 某些显卡驱动(尤其是开源
amdgpu或intel)对高刷 4K 支持不全,即使 HDMI 2.1 线缆也没用,得看内核日志:dmesg | grep -i "drm\|edid" - NVIDIA 闭源驱动下,
--rate可能被无视,改用--mode 3840x2160_120.00这种完整模式名更可靠 - 刷新率超限会导致显示器黑屏几秒后自动回落,不是命令失败,是硬件拒绝同步信号
不同分辨率双屏时鼠标越界异常或任务栏错位
这不是分辨率设错了,而是 X Server 的“虚拟屏幕”尺寸不够大。比如左屏 1920x1080、右屏 3840x2160,横向总宽 5760,但系统默认最大只允许 4096x4096(旧驱动或内核限制),结果右屏下半部分被裁掉,鼠标划过去就卡在边界。
- 临时修复:用
--pos手动偏移右屏位置,避开重叠,例如--pos 1920x540(把右屏上沿对齐左屏垂直居中) - 根治方法:修改
/etc/X11/xorg.conf,在Section "Screen"下加Virtual 5760 2160,数值要 ≥ 两屏最大宽高 - Wayland 用户绕不开这个坑 —— 它不支持跨分辨率自由排列,GNOME/KDE 都会强制缩放副屏来对齐,此时
--scale是唯一选择,但文字会模糊
4K + 1080p 双屏时字体/界面缩放不一致
这是 DPI 自动探测失效的典型表现:X 认为两块屏物理尺寸相同,但像素密度差一倍,导致 HiDPI 屏上图标小得看不见,或者 LoDPI 屏上文字糊成一片。
- 不要用
--scale 2x2粗暴放大 4K 屏 —— 它会拉伸整个帧缓冲,UI 元素边缘发虚 - 推荐方案:让 4K 屏走
--scale 1.5x1.5+--panning 5760x2160,保留可滚动区域;1080p 屏保持--scale 1x1 - GTK/Qt 应用需额外设环境变量:
GDK_SCALE=2、QT_SCALE_FACTOR=2,但只对本屏生效,得配合DISPLAY分屏启动 - 最稳的解法其实是换 Wayland(GNOME/KDE Plasma 6.3+),它原生按屏设置
scale,但代价是部分老旧应用窗口管理异常
真正麻烦的从来不是设分辨率,而是让不同物理规格的屏在同一个坐标系里不打架 —— DPI、Virtual size、EDID 信息、驱动对 CRTC 的约束,任何一环松动都会让 xrandr 的输出变成“看起来设了,其实没生效”。










