如果你和我一样在银河麒麟上插过外接显示器,大概率遇到过这种场景:系统设置里分辨率列表只剩 1024x768 和 800x600,1920x1080 就像被系统遗忘了;或者接上会议室的老投影仪,输出的画面拉伸变形,怎么调都找不到合适比例。这时候桌面设置界面基本帮不上忙,但别急着重装驱动——X11 下这类问题的标准解法是xrandr,银河麒麟虽然改成了国产化系统,但桌面层依然是 Xorg/X11,xrandr这套机制完全通用。
从"查看当前显示器支持哪些分辨率"到"临时切换一个不存在于列表的模式",再到"把自定义分辨率固化进系统配置让重启不失效",我会按实际排障的顺序把xrandr的用法完整走一遍。如果你是系统运维、信创终端管理员,或者只是普通用户想解决分辨率选项缺失的问题,这篇都适用。黑屏怎么救、报错BadMatch怎么查、开机怎么自动加载,这些坑我也会逐一说清楚。
1. 先弄清银河麒麟上分辨率"调不动"的三种典型原因
1.1 最常见的现象:不是分辨率没有,而是系统"读不到"
很多人遇到分辨率问题时第一反应是显卡驱动坏了。实际上,银河麒麟桌面出现分辨率异常,大多数情况下驱动本身没大问题,问题出在显示输出的"协商"环节。显示器通过 HDMI、VGA、DP 线缆连接后,显卡要读取显示器里存储的 EDID 信息——一个包含支持分辨率、刷新率、物理尺寸等参数的扩展数据块。如果 EDID 读取失败、被干扰或者被转接头"翻译"错了,Xorg 就只能按保守默认值输出,分辨率列表里自然只剩几个基础选项。
我自己在办公机上接过一条劣质 HDMI 转 VGA 线,开机后显示正常,但分辨率最高只有 1280x1024。换一根带芯片的双向转接线,EDID 能完整读回来,2K 选项立刻出现在列表里。所以排查顺序很重要:先换线、换口、直接插拔一次看有没有变化,再谈软件层。
1.2 第二个元凶:显卡驱动没加载对,或加载成通用框架
同样一块 NVIDIA 显卡或 AMD 显卡,在银河麒麟上如果没装对应闭源驱动,系统会退回fbdev或vesa这类通用驱动。这些驱动的能力非常有限,只能输出最基础的 VESA 标准分辨率,GPU 的真实模式列表根本不会暴露给 Xorg。检查方法很简单,打开终端执行:
lspci | grep VGA确认显卡型号后,再看系统实际加载的驱动:
glxinfo | grep renderer如果输出里带着llvmpipe或者末尾是Software Rasterizer,说明 3D 加速没起来,显示驱动大概率不是硬件厂商的原生驱动。此时 xrandr 能看到的模式列表也会明显偏少。先解决驱动加载,再谈分辨率调整。银河麒麟的应用商店里有部分驱动包,但内核版本对不上时容易踩坑,我通常建议优先用厂商提供的 deb 包或压缩包安装。
1.3 第三个原因:桌面控制面板只是"前端",它掩盖了真实信息
麒麟桌面的"显示设置"打开后,很多版本只列出系统已经启用过的模式,不会主动扫描所有潜在可用的 timing。这有点像手机相册默认只显示"最近项目",而 xrandr 是那个"全部文件"入口。理论上某个分辨率显示器硬件完全支持,但控制面板没显示,就不代表它不存在。
银河麒麟桌面基于 UKUI/MATE 体系,底层走的是 XRandR 协议,控制面板只不过是把xrandr的查询功能用图形界面包了一层。所以当你发现系统设置里找不到想要的分辨率时,别急着灰心,先打开终端跑一遍xrandr,很可能你需要的模式正在列表里,问题只是怎么把它激活而已。
2. 现状摸底:xrandr 输出的每一行分别代表什么
2.1 基础查看命令与一次完整输出
在应用 xrandr 之前,一定要养成先查询的习惯。什么都不带直接运行:
xrandr典型输出如下(我用一台联想台式机接 HDMI 显示器做示例):
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384 eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm 1920x1080 60.02*+ 59.97 1680x1050 60.00 1400x1050 60.00 1280x1024 60.00 1280x800 59.81 1280x720 60.00 1024x768 60.00 800x600 60.00 640x480 59.94 HDMI-1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 521mm x 293mm 1920x1080 60.00*+ 59.94 1600x900 60.00 1280x1024 60.00 1280x720 59.94 1024x768 60.00 800x600 60.00 640x480 59.94第一行的含义最容易被忽略。current 1920 x 1080是 X 服务当前输出的总画布尺寸,maximum 16384 x 16384是 GPU/驱动允许的最大帧缓冲,这个值限制了你能添加多大自定义分辨率。有些旧驱动上限被写得很小,比如最大只能到 4096x4096,那你想加 5120x1440 就根本没戏,再折腾 newmode 也没用。
第二段开始是每个显示接口的状态。connected表示有设备接入且有信号,disconnected表示接口空闲或线缆没检测到信号。eDP-1、HDMI-1这类是输出接口的名字,同一台机器叫法可能有差异。
2.2 接口命名规则与状态标记速查
输出接口的命名有规律可循,知道规则后就不会把命令写错。
| 接口类型 | 常见命名 | 备注 |
|---|---|---|
| 笔记本内屏 | eDP-1、LVDS-1、DSI-1 | 一般固定存在 |
| HDMI | HDMI-1、HDMI-A-1 | 多路时递增数字 |
| VGA | VGA-1、VGA-2 | 老投影仪常见 |
| DP/DP++ | DP-1、DisplayPort-1 | 部分机型叫 DP-0 |
| 扩展坞/USB-C 转接 | DP-2、DP-3、HDMI-2 | 取决于 GPU 重新枚举的端口名 |
每行接口下方是模式列表。模式行的三个关键标记要记住:*表示当前正在使用的模式,+表示该接口的推荐模式,既无*也无+的就是可用但还没启用的模式。所以当你有1920x1080的+标记时,基本可以确定显示器原生支持这个分辨率,问题只是切换过去而已。
2.3 几个值得一用的进阶查询参数
基础xrandr输出已经很直观,但排障时往往需要更细的信息:
xrandr --listmonitors:输出当前逻辑显示器信息,包括编号、尺寸、位置,适合多屏布局核对。xrandr --verbose:展示每个输出的详细状态,包含 EDID 是否加载成功、亮度参数、连接类型(重要),还能看到scaling mode等相关信息。xrandr --dryrun --output HDMI-1 --mode 1920x1080:假装执行切换但实际不生效,用来验证命令本身有没有写错。
如果你发现某个接口显示disconnected但明明插着屏幕,可以看看--verbose输出里EDID那段是不是invalid。EDID 状态异常往往是线缆质量、转接头供电不足的信号,而不是系统配置问题。
3. 临时修改分辨率:命令背后的参数逻辑与黑屏自救
3.1 一条命令完成切换:--output、--mode 与 --rate 的关系
xrandr修改分辨率的语法并不复杂,最常用的形式是:
xrandr --output HDMI-1 --mode 1920x1080 --rate 60这里的逻辑拆开看很清晰:--output指定你想改的是哪个接口,--mode指定模式名(不一定非要写分辨率数字,也可以直接写模式列表里的完整名称,比如1920x1080_60.00),--rate指定刷新率。只要模式列表中已经存在你想要的分辨率,这条命令就能立刻生效,不需要额外添加任何东西。
另一个常见写法是xrandr -s 1920x1080。这个简化参数会自动把有该分辨率的主输出切过去,适合单显示器场景。但多显示器时我建议始终用--output,否则 xrandr 可能把模式套在错误的接口上。
切换前有个小细节值得养成习惯:先查看当前哪个接口处于connected状态。笔记本用户尤其要注意,明明插的是投影仪,接口名却是HDMI-1而不是VGA-1;如果接的是扩展坞,可能还要先确认坞站的 DP 口被枚举成了DP-1-1之类带编号的名字。命令写错接口名,xrandr 会直接报output ... cannot find,不会造成任何实际影响。
3.2 切换后黑屏怎么办:先别按电源,按这个顺序救
这是我被问得最多的问题之一。改分辨率后屏幕突然黑了、或者进入无法使用的花屏状态,大多数人第一反应是强制重启。但在 X11 下,请先给系统 10 到 15 秒的观察时间——部分桌面环境(包括麒麟的 MATE/UKUI 桌面)在应用了新显示设置后会有短暂的信号重新握手过程,这段时间黑屏是正常的。如果超过 15 秒还黑着,再进入自救流程。
最稳妥的自救路径是:
# 1. 按 Ctrl + Alt + F2 切到字符终端(tty) # 2. 在终端里直接用 xrandr 把输出切回一个已知安全的分辨率 xrandr --output HDMI-1 --mode 1024x768 # 3. 按 Ctrl + Alt + F7(或 F1)切回图形桌面在这个流程中,tty 与图形桌面的 X server 是共享的,xrandr在 tty 下执行同样能修改正在运行的 X 会话,这是 X11 的设计特性。如果切到终端后xrandr命令提示找不到HDMI-1,先查一下xrandr不带参数时的输出,确认接口名再执行。只要模式切换没有涉及不可修复的硬件故障,这个方案几乎能救回所有黑屏。
如果担心改错了回不来,还有一个更聪明的做法:执行切换命令时顺手加一个自动回滚的兜底:
xrandr --output HDMI-1 --mode 1920x1080 && sleep 5 && xrandr --output HDMI-1 --mode 1024x768每 5 秒自动切回安全分辨率,适合在不确定某个模式是否可用的场合做试探。确认没问题后再删掉sleep和后面的回滚命令。
3.3 多显示器场景:主屏、副屏、镜像和扩展一次说清
--mode只是修改单个输出的分辨率,但多屏用户还需要处理画面布局。xrandr 支持最常用的四种布局操作:
- 扩展桌面:
xrandr --output HDMI-1 --right-of eDP-1,把副屏摆到主屏右侧,并各自保持独立分辨率。 - 镜像画面:
xrandr --output HDMI-1 --same-as eDP-1,两个屏显示相同内容,适合做演示。 - 指定主屏:
xrandr --output HDMI-1 --primary,把系统任务栏、快捷键弹窗等放到该屏。 - 单独关闭某屏:
xrandr --output HDMI-1 --off,比拔线干净,也能省电。
多屏情况下,每个输出都可以单独执行--mode,比如笔记本内屏用 2560x1440,外接屏用 1920x1080,完全互不影响。需要注意,当两个屏幕分辨率不同时,可以配合--scale参数做缩放对齐,比如:
xrandr --output HDMI-1 --scale 1.2x1.2--scale 1.2x1.2表示把该输出实际帧缓冲放大 1.2 倍再输出,适合用 1080p 的副屏对齐 2K 主屏的缩放比例。不过这个功能有一定副作用(显示会略糊),非必要不常用。
4. 自定义分辨率:从 cvt 到 newmode 的完整添加链路
4.1 为什么系统模式列表里没有我需要的分辨率
有些显示器比较"老实",它的 EDID 里只列出了少数几个标准模式,比如老式 1024x768 面板;有些则是新面板支持 2560x1440,但转接头或采集设备把 EDID 过滤成了 1080p。不管哪种情况,Xorg 只会把 EDID 中存在的模式加进列表,这也是模式列表不全的根本原因。
自定义分辨率的思路就是"绕过 EDID,手动告诉显卡:请你输出一个这样的信号。" 最安全、兼容性最好的方式是用 VESA 标准中的 CVT 算法计算模式参数,再通过 xrandr 注入到图形服务器里。系统没有的分辨率,就用这个链路手动添加。
4.2 cvt 命令计算模式参数:那些数字代表什么
首先生成目标分辨率的 mode line:
cvt 1920 1080 60输出类似:
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync这一串不是随机数字,里面包含像素时钟(173.00 MHz)、水平前肩/后肩/同步宽度(2048、2248、2576)、垂直同步参数(1083、1088、1120)以及同步极性(-hsync +vsync)。这些参数共同描述了一个 60Hz 的 1080p 信号时序,绝大多数支持 1080p 的显示器都能接受这个标准 timing。
如果你需要 30Hz 而不是 60Hz,可以执行cvt 1920 1080 30,像素时钟会大幅下降,模式参数随之变化。老投影仪或者通过采集卡连接的场景,30Hz 往往比 60Hz 更容易点亮。而gtf命令用的是另一套 GTF 标准,跟 CVT 互不兼容,一般以 CVT 的cvt为准即可。
4.3 三步注入:newmode、addmode 与最终切换
拿到 Modeline 后,完整的添加过程分三步:
# 第一步:把模型参数注册进 X server 的模式库 xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync # 第二步:把新模式绑定到具体输出接口 xrandr --addmode HDMI-1 "1920x1080_60.00" # 第三步:应用该模式 xrandr --output HDMI-1 --mode "1920x1080_60.00"执行第一、二步时不会有任何显示变化,只有第三步真正切换过去。建议先把三步命令写在一个脚本里再执行,避免中途打错一个字符导致后面无法接续。
一旦模式被--newmode注册,它就会出现在该会话的 xrandr 模式列表里,此时你加不加+号都能被识别。注意模式名建议直接用 cvt 生成的名字,比如"1920x1080_60.00",不要自定义名字,否则后续 Xorg 静态配置引用时容易对不上。
如果某次场景用完想删掉模式,反向操作即可:
xrandr --delmode HDMI-1 "1920x1080_60.00" xrandr --rmmode "1920x1080_60.00"4.4 BadMatch 报错排查:不是命令写错,是设备不配合
执行--addmode或--mode时报BadMatch,是自定义分辨率最常见的失败信号。它表示 X server 认为你要添加的模式与硬件不兼容。我总结了一下,最常踩到这几个原因:
- 输入的模式名与 newmode 注册时不一致,尤其是漏了引号或空格,X server 找不到模式,会直接拒绝。
- 显示器/转接头/采集链路的实际带宽不够,比如 VGA 老线在长距离传输下无法承载高时钟频率。
- 添加的模式像素时钟超过了 GPU/驱动允许的最大值,此时第一行的
maximum字段会给出线索,如果最大画布只有 4096x4096,那你添加高于这个尺寸的模式基本必然报错。 - 输出接口正在被另一个会话占用(少见,但远程桌面和本地同时操控时可能出现)。
排查手法可以这么做:先在另一个输出接口上执行--addmode,比如从HDMI-1换到eDP-1,如果同样报BadMatch,基本锁定是模式本身超出硬件能力;如果只有特定接口报错,则问题在那个接口的线缆或转接链路上。用xrandr --dryrun --output ... --mode ...做预演排查,也是一个好习惯。
4.5 添加分辨率时容易被忽略的细节
第一个细节:添加的刷新率未必需要和系统默认完全一致。有些显示器 EDID 里只声明了 59.94Hz,而 cvt 给的是 60Hz 标准值,此时有些挑剔的屏幕会沿用 59.94,xrandr 会显示为59.94 *,这不影响使用。只要画面不抖、不闪,刷新率数字差 0.06Hz 完全不用纠结。
第二个细节:如果cvt生成的模式在你的屏幕上显示模糊,优先排查分辨率是不是没有和屏幕物理像素做 1:1 映射,最常见的是笔记本内屏有 HiDPI 缩放。可以配合xrandr --dpi 96调整 DPI 值,也可以不管它——应用层字体缩放和 xrandr 的 DPI 设置是两个维度,很多人混在一起调,越调越乱。
第三个细节:别一口气添加十几个自定义模式。每加一个模式都会写入 X server 的显示配置,添加过多会影响启动速度,还会让 xrandr 列表变得难以阅读。只要把你实际用的那几个模式加好就收手,保持系统干净。
5. 让分辨率永久生效:三种持久化方式的对比与实操
5.1 为什么重启之后 xrandr 设置会全部丢失
xrandr 对模式列表和输出布局的所有修改,都是发生在当前运行的 X server 内存里的。一重启或注销,整个 X server 被重新拉起,之前 newmode 注册的模式自然烟消云散。这不算缺陷,是 X11 的机制设计如此——它希望系统每次启动时都按固定的静态配置来组织显示,把动态微调交给用户。
所以,想让自定义分辨率真正"固定"下来,只有两条路线:要么把 Modeline 写进 Xorg 的静态配置文件,要么把 xrandr 命令包装成登录时自动执行的脚本。两种路线各有适用场景,下面逐一说明。
5.2 方式A:登录脚本自动执行 xrandr 命令
最直觉的想法是把第三、四章的 xrandr 命令段放进一个脚本,在图形会话启动时自动执行。创建/etc/profile.d/下的脚本不推荐,因为 profile 只在登录 shell 中执行,图形会话的启动时机未必能对上。更接近"标准答案"的路径是用户级.xsessionrc或桌面自启动项。
最简单粗暴的写法是把以下内容追加到~/.xsessionrc:
# ~/.xsessionrc 在 X session 启动前被读取 xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync xrandr --addmode HDMI-1 "1920x1080_60.00" xrandr --output HDMI-1 --mode "1920x1080_60.00"每个用户都要配置一份,适合单机办公环境。缺点也很明显:每次启动 X 都会先执行一遍,如果启动时 HDMI 还没枚举出来(拔掉显示器开机,稍后才插上),命令会因为找不到输出而报错,模式不会自动"晚点再试"。这种情况下你还需要额外延时或循环判断,脚本复杂度就上来了。
5.3 方式B:Xorg 静态配置里写 Modeline(最稳妥)
如果目的是"系统级、对所有用户都生效、开机即恢复",我建议用 Xorg 配置。创建/etc/X11/xorg.conf.d/10-custom-resolution.conf:
Section "Monitor" Identifier "HDMI-1" Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync Option "PreferredMode" "1920x1080_60.00" EndSection如果你的接口名在不同机型上不固定,可以把Identifier换成更通用的匹配方式,比如用VendorName和ModelName匹配特定显示器,或干脆省略 Identifier 让它全局生效。但全局生效的风险是:如果你的电脑还接过一台不支持 1080p 的老显示器,切换过去后 X 会尝试套用这个 Modeline,容易花屏,所以还是建议绑定到具体接口。
写好配置文件后,重启或重新登录 X session。注意,这个方式要求 X server 启动时就能解析 Modeline,所以模式参数里的"1920x1080_60.00"这个名字必须和你在登录脚本里 newmode 时用的名字一致,否则两套体系会各自注册两份模式,混乱排查起来很头疼。
5.4 方式C:桌面自动启动项(GUI 登录时执行)
如果你不想碰 xorg.conf,也不想抢着改~/.xsessionrc,还有个折中方案:用桌面自启动目录。在~/.config/autostart/下创建resolution.desktop:
[Desktop Entry] Type=Application Name=CustomResolution Exec=/home/你的用户名/bin/set-modes.sh X-GNOME-Autostart-enabled=trueset-modes.sh里的内容和 5.2 完全一样。这个方案的好处是只在图形桌面登录后执行,给了桌面足够的时间完成设备枚举;坏处是如果你用的桌面环境启动顺序特殊(比如等待网络、等待外接显示器),脚本可能在设备接好前运行完,依然会失败。
如果脚本失败,可以在脚本开头加一句sleep 5再执行 xrandr,缓解设备枚举时序问题。这个土办法实测下来比大多数 fancy 的等待机制都管用。
5.5 三种持久化方式对比
| 持久化方式 | 生效层级 | 适用场景 | 缺点 |
|---|---|---|---|
~/.xsessionrc脚本 | 用户会话 | 日常办公单机 | 每个用户都要配,时序敏感 |
| Xorg xorg.conf.d | 系统级 X server | 机房运维、固定机型 | 需要重启 X,按接口绑定需小心 |
| 桌面 autostart | 用户 GUI 登录 | 临时性更强、适合家用 | 登录后才有,时序上不如 xorg.conf |
按我的实操习惯,系统级优先用方式B,个人开发机用方式A,遇到不想改系统配置的临时任务用方式C即可。
6. 实战场景:外接投影、远程桌面与虚拟机里的麒麟
6.1 投屏演讲:老投影仪死活没有对应分辨率
投影仪是 xrandr 的高频场景。很多会议室投影仪只有 1024x768 或 1280x720 的固定物理分辨率,接上后笔记本虽然能显示,但画面比例拉伸,字是全的但糊。这时候直接:
xrandr --output HDMI-1 --mode 1024x768 --rate 60切到投影仪的原生分辨率,文字会立刻变清晰。如果投影仪支持 1080p 但系统列表里没有,用第四章的方法先加模式再切换。注意做到一半黑屏是投屏常见的惊吓时刻,直接按 3.2 的黑屏自救流程处理,切回安全分辨率即可。
另一个实用场景是接了一块分辨率高于笔记本内屏的显示器,你想把主屏和外接屏以不同比例缩放对齐。比如笔记本是 125% 缩放,外接屏是 100%,可以只在 X 层面做--scale 1.25x1.25,而不去改系统全局缩放,这样窗口在两屏间拖拽时的尺寸感知会更一致。
6.2 远程桌面:win 客户端连接麒麟时分辨率被锁
用 Windows 自带远程桌面连接银河麒麟,有时会话分辨率会被锁死在 1024x768 或 1280x720。登录进去后执行xrandr,你会看到虚拟显示器只有一个固定模式,列表里根本没有更高的选项。
这种情况下,先尝试在远程客户端设置里改分辨率(一般叫"显示设置"里选择"全屏"或自定义分辨率),多数场景能解决问题。如果客户端调整无效,可能是 xrdp 服务端的配置限制了会话画布,安装的桌面会话模板里把分辨率写死了,需要在 xrdp 配置中调整后重启服务。
如果 xrdp 配置属于系统管理员管理的范围,普通用户能做的事就是在会话里执行xrandr --output ... --mode 更高分辨率,前提是虚拟显示器驱动支持添加模式。多数虚拟驱动只支持固定模式,所以远程桌面下 xrandr 能发挥的空间有限——一般认为这是远端会话架构限制,不是 xrandr 命令的问题。
6.3 虚拟机里的银河麒麟:分辨率上不去先看增强工具
银河麒麟跑在 VMware 或 VirtualBox 里时,分辨率上不去的概率比物理机高得多。原因也很简单:默认的虚拟显卡只模拟了最基础的 VGA 显示器,EDID 能力有限,模式列表里可能只有 800x600 和 1024x768。
这时候不要直接硬上 xrandr 自定义模式(虚拟显卡的 mode 范围受虚拟硬件限制),优先装好虚拟机增强工具:
- VMware:安装
open-vm-tools-desktop - VirtualBox:安装 VirtualBox Guest Additions
- QEMU/KVM:使用 virtio-vga 显卡并安装对应的 virtio 驱动
装好后重启虚拟机,再执行xrandr,你会看到列表自动多了很多标准分辨率,直接切换即可。如果增强工具装完还是缺分辨率,再去考虑自定义模式。这个顺序很重要,前者是"重建 EDID 能力",后者是"强行注入时不兼容就报错"。
6.4 驱动层面的最后检查:查日志比乱试命令高效
所有 xrandr 手段都试过仍然失败时,不要继续盲试。把精力转回驱动和 EDID 层面,先查两个地方:
# 查询显卡驱动加载日志 dmesg | grep -i drm # 查询 X 图形服务是否有显卡相关报错 cat /var/log/Xorg.0.log | grep -i "(EE)"(EE)行如果出现screen 0 fails或者virtio_gpu之类的字样,说明在更底层就有问题,xrandr 层面的任何操作都是治标不治本。此时回到第一章的思路,检查线缆、换接口、重装驱动,把底层链路修通后再回来用 xrandr 微调。
我自己经历过的案例:一台麒麟工作站接双屏,外接屏始终只有 1360x768,所有 xrandr 添加模式都报BadMatch,后来dmesg里发现是 Intel 核显在双屏高分辨率下撞到了带宽限制,换了一个 DP 接口后 4K 直接能上。显卡某些输出口支持的带宽是不同的,这个问题远比想象中常见。
最后分享一个配合 xrandr 用着很顺的小技巧:把你自己常用的几条设置命令整理成/usr/local/bin/res这个脚本,以后执行res就能一键恢复到熟悉的分辨率组合,比每次敲一长串参数靠谱得多。因为 xrandr 虽然强大,但命令字符串长、接口名难记,一旦环境切换多次,靠脑子背命令迟早把某个参数记串。脚本化之后,你的常用显示配置就变成了一条短命令,既降低出错率,也方便其他同事接手你的机器。