Ubuntu Bash脚本过滤命令输出实现xrandr自动设置1920x1080分辨率
Bash脚本实现1920x1080 60Hz分辨率自动设置
核心过滤逻辑说明
- 提取cvt有效参数:
cvt 1920 1080 60的输出中,第二行Modeline后的内容就是xrandr需要的模式参数,通过正则过滤掉Modeline前缀即可。 - 提取主显示器名称:xrandr输出中主显示器的行带有
connected primary标识,取行首第一个字段即为设备名。
完整可运行脚本
#!/bin/bash # Script that sets resolution to 1920x1080 at 60Hz # 过滤cvt输出,提取有效模式参数 CVTOUT=$(cvt 1920 1080 60 | grep -oP '(?<=Modeline ).*') # 过滤xrandr输出,提取主显示器设备名 DISPLAYNAME=$(xrandr | awk '/ connected primary/ {print $1}') # 若你的设备无primary标识,可替换为下面这行取第一个识别到的显示器 # DISPLAYNAME=$(xrandr | awk '/ connected/ {print $1; exit}') # 开始执行分辨率设置逻辑 xrandr --newmode $CVTOUT xrandr --verbose --addmode $DISPLAYNAME "1920x1080_60.00" xrandr --output $DISPLAYNAME --mode "1920x1080_60.00"
运行说明
直接赋予脚本执行权限后运行即可,适配你提供的Ubuntu 20.04 + Xorg运行环境,所有依赖工具均为系统预装。
内容的提问来源于stack exchange,提问作者fhc
相关产品推荐
相关产品推荐

