在Ubuntu系统中,监视器命令是管理和显示显示器信息的重要工具,用户可以通过这些命令查看显示器分辨率、刷新率、连接状态等详细信息,甚至调整显示设置,以下将详细介绍常用的监视器命令及其使用方法,帮助用户更好地管理显示器配置。

xrandr是最常用的命令行工具,用于显示和配置显示器,执行xrandr命令会列出当前连接的所有显示器及其分辨率、刷新率等信息,输出中可能包含HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 480mm x 270mm,其中connected表示显示器已连接,1920x1080为分辨率,+0+0表示显示位置,如果需要查看所有可用分辨率,可以加上--verbose参数,获取更详细的信息,如显示模式、 timings 数据等。
调整显示器设置时,xrandr同样强大,将主显示器设置为HDMI-1,分辨率为1920x1080,刷新率为60Hz,可执行xrandr --output HDMI-1 --mode 1920x1080 --rate 60,如果需要添加第二个显示器并扩展显示,可以使用xrandr --output HDMI-1 --mode 1920x1080 --rate 60 --output DP-1 --mode 1680x1050 --right-of HDMI-1,其中--right-of表示第二个显示器位于主显示器右侧,若需关闭某个显示器,可使用--off参数,如xrandr --output DP-1 --off。
对于需要更高级功能的用户,arandr(基于xrandr的图形化工具)提供了直观的界面,适合不熟悉命令行的用户,通过终端安装sudo apt install arandr后,启动arandr即可拖拽调整显示器布局和分辨率。gtf(Generate Timing for X)和cvt(CVT - Calculate Video Timing)可用于生成自定义分辨率,生成1920x1080分辨率的时序参数,可执行cvt 1920 1080,输出结果可用于xrandr添加新模式,如xrandr --newmode "1920x1080_60" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync,再通过xrandr --addmode HDMI-1 "1920x1080_60"应用。
以下表格总结了常用xrandr参数及其功能:

| 参数 | 功能示例 |
|---|---|
--output <output> |
指定目标显示器,如HDMI-1 |
--mode <mode> |
设置分辨率,如1920x1080 |
--rate <rate> |
设置刷新率,如60 |
--pos <x>x<y> |
设置显示器位置,如0x0 |
--right-of <output> |
将当前显示器置于指定显示器右侧 |
--left-of <output> |
将当前显示器置于指定显示器左侧 |
--same-as <output> |
镜像指定显示器 |
--off |
关闭指定显示器 |
在脚本自动化中,xrandr可结合条件判断实现动态调整,检测到HDMI连接时自动切换分辨率:xrandr | grep "HDMI-1 connected" && xrandr --output HDMI-1 --mode 1920x1080。monitor-edid工具可读取显示器的EDID信息,获取设备唯一标识符,适用于多显示器环境下的配置管理。
需要注意的是,部分命令需要安装额外依赖,如sudo apt install x11-xserver-tools,对于Wayland环境,xrandr可能不可用,需改用wlr-randr,其用法与xrandr类似,但仅适用于Wayland会话。
相关问答FAQs
Q1: 如何在Ubuntu中永久保存显示器配置?
A1: 使用xrandr命令调整显示器后,配置不会在重启后自动保存,可通过创建~/.config/autostart/目录下的.desktop文件,或编写脚本并添加到~/.profile或~/.bashrc中实现开机自启,创建脚本monitor-setup.sh为xrandr --output HDMI-1 --mode 1920x1080 --rate 60,然后赋予执行权限chmod +x monitor-setup.sh,并通过gnome-session-properties添加到启动项。
Q2: 如何解决xrandr报错“Cannot find display”的问题?
A2: 该错误通常由于xrandr无法连接到X服务器导致,可尝试以下方法:1. 确保在图形化桌面环境中运行命令,而非纯终端;2. 检查DISPLAY环境变量是否正确,通常为0,可通过echo $DISPLAY查看;3. 对于Wayland环境,使用wlr-randr替代;4. 若问题依旧,尝试重启X服务器或更新显卡驱动(如sudo apt install --reinstall nvidia-driver-470)。

