xrandr 配置多屏更可靠可复现,需先用 xrandr --query 查清显示器名称与连接状态,再用 --right-of 等参数设定相对位置,配合 --auto 或显式分辨率、--primary 指定主屏,并注意缩放、dpi 及开机脚本持久化。

直接用 xrandr 配置多屏排列,比图形界面更可靠、可复现,也更适合脚本化或频繁切换场景。但必须先搞清显示器名称和物理位置关系,否则容易把屏幕“摆反”或窗口飞出可视区。
怎么查当前连接的显示器名和状态
这是所有操作的前提。终端运行:
xrandr --query
输出中每行以 eDP-1、HDMI-1、DP-2 这类名字开头的,就是你的显示器标识。注意看后面是否带 connected(已连)还是 disconnected(未识别)。常见坑点:
- 热插拔后名字可能变,比如
HDMI-1变成HDMI-2,不能硬记 - 笔记本合盖时
eDP-1仍显示connected,但实际不可用 -
--query不会刷新状态,拔插后建议重跑一次
如何用 xrandr 指定左右/上下排列顺序
核心是 --left-of、--right-of、--above、--below 这四个相对定位参数。它们必须配合两个 --output 使用,且顺序无关紧要,但逻辑要自洽:
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 想让
DP-1在笔记本屏eDP-1右侧:用xrandr --output DP-1 --right-of eDP-1 --auto - 想上下堆叠:用
--above eDP-1或--below eDP-1,注意不是--above-of(语法错误) - 如果执行后某屏黑了,大概率是分辨率不匹配,先加
--auto让它用默认推荐值 - 不要混用
--right-of和--left-of指向同一对屏,xrandr 不校验逻辑冲突,但结果不可预测
为什么设置后窗口总跑到错误屏幕,或拖拽边界失效
这通常不是排列命令本身的问题,而是主屏(primary)没设对,或缩放比例不一致导致坐标系错位:
- 主屏决定任务栏、应用启动位置、快捷键弹窗落点。用
--primary显式指定,例如:xrandr --output eDP-1 --primary - 如果一个屏是 100% 缩放、另一个是 200%,即使物理排列正确,窗口拖拽时的“边缘对齐”会严重偏移
- GNOME 桌面下,
xrandr设置的缩放(--scale)和 GNOME 的 UI 缩放(gsettings set org.gnome.desktop.interface scaling-factor)是两套机制,别混用 - 某些程序(如 VS Code)读取的是
DISPLAY环境变量而非 xrandr 布局,重启应用才能生效
如何保存配置并开机自动应用
xrandr 命令本身不持久,关机就丢。最轻量的做法是写个 shell 脚本,然后加到开机启动:
- 新建
~/bin/dual-screen.sh,内容类似:#!/bin/sh xrandr --output eDP-1 --primary --mode 1920x1080 --pos 0x0 \ --output HDMI-1 --right-of eDP-1 --mode 2560x1440 --pos 1920x0 - 加执行权限:
chmod +x ~/bin/dual-screen.sh - 在“启动应用程序”里添加该脚本,或放入
~/.profile末尾(注意加sleep 2避免桌面未就绪) - 别往
/etc/X11/xorg.conf里硬写——Ubuntu 20.04+ 默认用 X11 动态配置,改这个文件反而容易冲突
真正容易被忽略的是:不同显示器的物理尺寸和 DPI 差异会导致光标移动速度不一致,这不是 bug,是 xrandr 对坐标的线性映射所致。调准排列后,建议用 xrandr --listmonitors 再核对一次最终坐标系。










