Linux下的xrandr命令详解
xrandr 是 Linux 下用于配置显示器的命令行工具(基于 X Window System),可调整分辨率、刷新率、屏幕旋转、多显示器布局等。以下是详细说明和常见用法:
临时设置分辨率:xrandr -s 1024x768
1. 基础命令
🔹 查看当前显示配置
xrandr
输出示例:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
1920x1080 60.00*+ 50.00 59.94
1280x720 60.00 50.00 59.94
1024x768 75.03 70.07 60.00
DP-1 disconnected
connected/disconnected:显示接口状态。primary:主显示器。*:当前分辨率,-
+:推荐分辨率。

2. 常用场景与配置示例
场景1:设置分辨率
xrandr --output HDMI-1 --mode 1920x1080 --rate 60
--output:指定显示器接口(如HDMI-1)。--mode:分辨率(必须是xrandr列表中支持的值)。--rate:刷新率(可选,如60)。
场景2:扩展屏幕(多显示器)
xrandr --output HDMI-1 --auto --right-of DP-1
--auto:自动启用接口并使用推荐分辨率。--right-of/--left-of/--above/--below:相对位置。
场景3:镜像显示(复制屏幕)
xrandr --output HDMI-1 --same-as DP-1 --mode 1920x1080
场景4:关闭/启用显示器
xrandr --output HDMI-1 --off # 关闭
xrandr --output HDMI-1 --auto # 重新启用
场景5:旋转屏幕
xrandr --output HDMI-1 --rotate left # 向左旋转90度
xrandr --output HDMI-1 --rotate inverted # 180度倒置
xrandr --output HDMI-1 --rotate normal # 恢复默认
场景6:自定义分辨率(需先添加模式)
# 生成新分辨率模式
cvt 2560 1440 60
# 添加模式并应用
xrandr --newmode "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
xrandr --addmode HDMI-1 2560x1440_60.00
xrandr --output HDMI-1 --mode 2560x1440_60.00
3. 典型配置文件示例
将常用配置写入 ~/.xprofile 或 ~/.config/autostart/xrandr.sh(开机自动执行):
#!/bin/bash
# 双显示器:主屏在左,副屏在右
xrandr --output DP-1 --mode 2560x1440 --primary --left-of HDMI-1 --mode 1920x1080
4. 常见问题
❌ 报错:Configure crtc X failed
- 原因:分辨率/刷新率超出硬件支持范围。
- 解决:使用
xrandr列出的有效参数,或通过cvt生成合法模式。
❌ 配置重启后失效
- 持久化方案:
- 写入
~/.xinitrc(StartX 环境)。 - 使用桌面环境(如 GNOME/KDE)的显示设置工具。
- 写入
❌ NVIDIA 显卡兼容性问题
- 改用
nvidia-settings工具调整。
5. 其他实用技巧
- 获取显示器名称:
xrandr --listmonitors
- 调整亮度(需要硬件支持):
xrandr --output HDMI-1 --brightness 0.7 # 范围 0.1~1.0
总结表格
| 功能 | 命令示例 |
|---|---|
| 设置分辨率 | xrandr --output HDMI-1 --mode 1920x1080 |
| 扩展屏幕 | xrandr --output DP-1 --right-of HDMI-1 |
| 镜像显示 | xrandr --output HDMI-1 --same-as DP-1 |
| 旋转屏幕 | xrandr --output HDMI-1 --rotate left |
| 关闭显示器 | xrandr --output HDMI-1 --off |