xrandr(X Resize, Rotate and Reflect Extension)是一个非常强大的Linux命令行工具,用于设置显示输出的大小、方向及分辨率等属性。它是X Window系统用户和管理员设置显示器的首选工具,特别是对于需要动态调整窗口大小或多显示器设置的用户来说,xrandr是他们的好帮手。
Linux xrandr命令适用的Linux版本
xrandr命令是X Window系统的标准部分,几乎所有的Linux发行版都支持它,包括但不限于Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian等。如果您的系统中没有xrandr,可以使用以下命令安装:
# 基于apt的发行版(如Debian、Ubuntu、Raspbian、Kali Linux等)
sudo apt-get update && sudo apt-get install x11-xserver-utils
# 基于yum的发行版(如RedHat,CentOS 7等)
sudo yum update && sudo yum install xorg-x11-server-utils
# 基于dnf的发行版(如Fedora,CentOS 8等)
sudo dnf update && sudo dnf install xorg-x11-server-utils
# 基于apk的发行版(如Alpine Linux)
sudo apk add --update xrandr
# 基于pacman的发行版(如Arch Linux)
sudo pacman -Syu && sudo pacman -S xorg-xrandr
# 基于zypper的发行版(如openSUSE)
sudo zypper ref && sudo zypper in xrandr
# 基于pkg的FreeBSD发行版
sudo pkg update && sudo pkg install xrandr
# 基于Homebrew的OS X/macOS发行版
brew update && brew install xrandr
Linux xrandr命令的基本语法
xrandr命令的基本语法如下:
xrandr [options]
Linux xrandr命令的常用选项或参数说明
选项 | 描述 |
---|---|
--output | 指定显示器的名称 |
--mode | 设置显示器的分辨率 |
--rate | 设置显示器的刷新率 |
--rotate | 旋转屏幕的内容(normal, left, right, inverted) |
--help | 显示帮助信息 |
--verbose | 显示详细信息 |
--listmonitors | 列出所有监视器和其属性 |
--listproviders | 列出所有图形卡和其属性 |
--addmode | 添加一个新的模式 |
--delmode | 删除一个模式 |
--rmmode | 删除一个模式(与delmode相同) |
--newmode | 定义一个新的模式 |
--primary | 将某个输出设置为主要输出 |
Linux xrandr命令实例详解
实例1:列出当前显示设置
查看当前的显示配置,包括连接的显示器和每个显示器的分辨率、刷新率等信息。
[linux@bashcommandnotfound.cn ~]$ xrandr
实例2:设置特定分辨率
将默认显示器的分辨率设置为1024x768。
[linux@bashcommandnotfound.cn ~]$ xrandr --output default --mode 1024x768
实例3:旋转显示
将默认显示器的内容旋转90度。
[linux@bashcommandnotfound.cn ~]$ xrandr --output default --rotate left
实例4:添加自定义分辨率
首先创建一个新的模式,然后将其添加到显示。
[linux@bashcommandnotfound.cn ~]$ xrandr --newmode "1024x768_60.00" 64.11 1024 1088 1184 1344 768 771 775 798 -hsync +vsync
[linux@bashcommandnotfound.cn ~]$ xrandr --addmode VGA1 "1024x768_60.00"
[linux@bashcommandnotfound.cn ~]$ xrandr --output VGA1 --mode "1024x768_60.00"
实例5:设置主显示器
在多显示器配置中,选择一个显示器作为主显示器。
[linux@bashcommandnotfound.cn ~]$ xrandr --output HDMI1 --primary
实例6:设置显示器布局
在多显示器设置中,将一个显示器放置在另一个显示器的右侧。
[linux@bashcommandnotfound.cn ~]$ xrandr --output HDMI1 --auto --right-of VGA1
实例7:更改刷新率
更改显示器的刷新率。
[linux@bashcommandnotfound.cn ~]$ xrandr --output VGA1 --rate 75
实例8:关闭显示器
关闭指定的显示器。
[linux@bashcommandnotfound.cn ~]$ xrandr --output VGA1 --off
实例9:重置所有更改
重置所有的更改并回到默认设置。
[linux@bashcommandnotfound.cn ~]$ xrandr --auto
实例10:设置两个显示器的相同输出
将相同的桌面输出到两个连接的显示器。
xrandr --output HDMI1 --same-as VGA1
实例11:设置镜像显示
在两个显示器之间设置镜像显示,这意味着两个显示器将显示相同的内容。
xrandr --output HDMI1 --mode 1920x1080 --output VGA1 --mode 1920x1080 --same-as HDMI1
实例12:关闭所有其他显示器,只启用一个
关闭所有连接的显示器,只留下主显示器。
xrandr --output HDMI1 --auto --output VGA1 --off --output DP1 --off
实例13:设置两个显示器的不同分辨率
设置两个显示器,每个显示器有不同的分辨率。
xrandr --output HDMI1 --mode 1920x1080 --output VGA1 --mode 1280x1024
实例14:调整屏幕亮度
使用xrandr来调整连接的显示器的亮度。
xrandr --output LVDS1 --brightness 0.75
实例15:创建并添加新的分辨率模式
使用cvt
命令生成模式行,然后使用xrandr将其添加到可用的分辨率中。
# 生成新的分辨率模式
cvt 1920 1080 60
# 将输出的模式行复制并创建新的模式
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
# 将新的模式添加到VGA1输出
xrandr --addmode VGA1 "1920x1080_60.00"
# 应用新模式到VGA1输出
xrandr --output VGA1 --mode "1920x1080_60.00"
实例16:更改多个显示器的布局
可以设置多显示器布局,将一个显示器放置在另一个显示器的上方。
xrandr --output HDMI2 --above HDMI1
实例17:显示器扩展桌面到右边
将显示器HDMI1的桌面扩展到VGA1显示器的右边。
xrandr --output VGA1 --right-of HDMI1
实例18:移动显示器位置
将VGA1显示器的位置向右移动100像素单位。
xrandr --output VGA1 --pos 100x0
实例19:更改显示器的色彩设置
更改显示器的RGB色彩设置,例如增加红色的饱和度。
xrandr --output HDMI1 --gamma 1.5:1:1
实例20:保存和加载显示设置
将当前的显示设置保存到一个文件,并在需要时加载这些设置。
# 保存当前设置到文件
xrandr --verbose > ~/.xrandr-settings
# 加载之前保存的设置
sh ~/.xrandr-settings
注意事项
- 每次启动或重启系统后,通过xrandr所做的更改都会被重置。如果想要保持改变,可以把命令添加到启动脚本中(例如
.xprofile
或.xinitrc
)。 - 在使用xrandr添加自定义分辨率之前,需要确保你知道你的显示器和图形卡能够支持这个分辨率。
- 使用xrandr时,确保你正确地指定了输出设备(例如VGA1, HDMI1等)的名字。
- 错误的设置可能会导致屏幕不可用,所以在应用任何新的配置之前,请确保你了解如何恢复到之前的设置。
- 在某些情况下,显示器输出的名称可能会随着图形驱动或系统更新而改变,因此在进行脚本编写或自动化时,请注意这一点。
- 如果您遇到
bash: xrandr: command not found
的错误,请按照上述方法尝试手动安装。
评论区