xrandr命令可临时修改分辨率,需先用xrandr查看输出设备及支持模式,再用--output指定设备和--mode设置分辨率;自定义分辨率需cvt生成参数、--newmode注册、--addmode绑定、--mode启用;开机生效需将命令写入~/.profile并加环境判断。

用xrandr命令临时修改分辨率
当图形界面卡死、设置项灰显或外接显示器识别异常时,终端命令是最快捷的干预手段,所有操作仅对当前会话生效,重启后自动恢复原设置。
第一步:按下 Ctrl+Alt+T 打开终端,输入 xrandr 并回车,查看已连接的输出设备名称(如 eDP-1、HDMI-1 或 Virtual1)以及当前支持的分辨率列表。
第二步:确认目标分辨率已在列表中(例如 1920x1080),直接执行 xrandr --output eDP-1 --mode 1920x1080,将 eDP-1 替换为你实际的输出名。
第三步:若只需快速切换且不指定输出设备,可使用简写命令 xrandr -s 1920x1080;但注意该方式在多屏环境下可能作用于主屏以外的设备,【务必先用 xrandr 确认当前主输出】,否则可能黑屏或画面错位。
添加并启用自定义分辨率
当你需要的分辨率(比如 2560×1440@60Hz)未出现在 xrandr 列表中,说明系统未从显示器EDID读取到该模式,必须手动创建并注册。
方法一:生成标准时序参数
在终端中运行 cvt 2560 1440 60,复制输出中 Modeline 后面整行内容(不含“Modeline”三字),例如:"2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync。
方法二:注册新显示模式
执行 xrandr --newmode 加上刚才复制的整行参数,确保引号、空格、符号完全一致,任何字符错误都会导致命令失败。
方法三:绑定到物理输出
运行 xrandr --addmode eDP-1 "2560x1440_60.00",此处 eDP-1 必须与 xrandr 输出中你打算使用的设备名严格匹配,【大小写和连字符不可省略】。
最后一步:立即启用该模式
输入 xrandr --output eDP-1 --mode "2560x1440_60.00",画面将在1秒内刷新,若出现严重偏移或闪烁,立刻按 Ctrl+C 中断并改用已知安全分辨率。
让分辨率设置开机自动生效
临时设置每次重启就失效,要固化为默认配置,需将命令注入系统启动流程。最稳妥的方式是写入用户级启动脚本,避免权限冲突和X服务未就绪问题。
打开终端,执行 nano ~/.profile,在文件末尾另起一行,粘贴如下内容:if [ -n "$DISPLAY" ] && [ -x /usr/bin/xrandr ]; then xrandr --output eDP-1 --mode 1920x1080_60.00 >/dev/null 2>&1; fi
保存退出后,执行 source ~/.profile 立即加载新配置,下次登录即可自动应用。
这行脚本加了双重防护:先判断图形环境是否存在($DISPLAY),再确认 xrandr 可执行,最后静默运行避免终端报错干扰登录流程。若你用的是其他输出名或分辨率,请同步替换对应字段。











