xrandr 是 Linux 系统中管理屏幕分辨率、旋转、多显示器布局的核心命令行工具。下面从基础查询高级配置为你详细解读。


💡 基础操作:查询与识别

xrandr

这是最常用的命令,直接运行会列出所有连接的显示输出(如 eDP-1HDMI-1)。输出中:

  • connected:表示已连接。

  • *:表示当前正在使用的分辨率。

  • +:表示首选(推荐)分辨率。

⚙️ 核心配置选项

大部分的配置都是通过 --output 选项指定显示器,后跟具体参数。

功能分类 选项与示例 说明
基本设置 --mode 1920x1080 指定分辨率。
--rate 60 指定刷新率(需要模式支持)。
--auto 启用显示器并使用其首选分辨率(或接近 96dpi)。
--off 关闭指定显示器。
位置排列 --left-of--right-of 将显示器放在另一台显示器的左侧或右侧。
--above--below 将显示器放在另一台显示器的上方或下方。
--same-as 设置为与另一台显示器相同的画面(镜像模式)。
--pos 0x0 精确指定屏幕上的起始坐标(左上角)。
变换效果 --rotate normalleftrightinverted 旋转屏幕(正常/左转/右转/上下翻转)。
--reflect xyxy 反射屏幕内容(沿X轴/Y轴/双轴)。
扩展功能 --primary 将该显示器设为主显示器(任务栏通常在此显示)。
--scale 0.8x0.8 缩放画面(<1 为放大,>1 为缩小),可解决高分屏缩放问题。

📐 进阶技巧:自定义分辨率

当系统未检测到你需要的分辨率时,可以手动添加,步骤如下:

  1. 生成模型线:使用 cvt 计算参数。例如,生成 1920x1080 60Hz 的参数:cvt 1920 1080

输出示例:Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

新建模式:将 Modeline 后面的部分(去掉 Modeline 关键词)复制并执行:

xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

绑定设备:将新建的模式添加到你的显示器(如 HDMI-1):

xrandr --addmode HDMI-1 "1920x1080_60.00"

应用生效

xrandr --output HDMI-1 --mode "1920x1080_60.00"

💻 实战场景案例

场景一:双屏扩展(笔记本外接显示器)
将外接显示器 HDMI-1 放在笔记本屏幕 eDP-1 的右侧,并设置外接为主显示器。

xrandr --output eDP-1 --auto --output HDMI-1 --auto --right-of eDP-1 --primary

场景二:单屏高分辨率
强制指定分辨率为 1920x1080。

xrandr --output HDMI-1 --mode 1920x1080 --rate 60

场景三:关闭屏幕
单独关闭笔记本屏幕,只用外接显示器。

xrandr --output eDP-1 --off --output HDMI-1 --auto

⚠️ 注意事项与持久化

  1. 临时生效:通过 xrandr 进行的配置是临时的,重启或注销后将失效。

  2. 持久化保存:若需永久保存设置,推荐以下方式:

    • 脚本开机自启:将命令写入 ~/.xprofile 或通过启动应用程序添加。

    • 桌面环境设置:使用 GNOME(gnome-control-center display)、KDE(systemsettings)或 arandr(xrandr 图形化前端)保存布局。

  3. 高级参数:对于特殊需求,还可使用 --transform(矩阵变换,用于矫正投影)和 --panning(平移,用于超大虚拟桌面),这些参数通常需要配合 --fb 调整总 Framebuffer 大小

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐