如何编写一个脚本,使用 xrandr 检查屏幕分辨率并根据当前分辨率更改分辨率?也就是说,切换分辨率。
示例输出xrandr -q
1920x1080 59.98 + 59.97 59.96 59.93
1680x1050 59.95 59.88
1600x1024 60.17
1400x1050 59.98
1600x900 59.99* 59.94 59.95 59.82
如何表述来检查当前分辨率是否为 1600x900,然后运行xrandr -s 0
,但如果当前分辨率为 1920x1080,则运行xrandr -s 4
?
简而言之,问题是如何让脚本识别 xrandr -q 的输出以切换分辨率。例如:
#!/bin/bash
if <current resolution is 1920x1080>
then
xrandr -s 5
elif <current resolution is 1600x900>
then
xrandr -s 0
else
<do nothing>
fi
基本上,我需要一种方法让脚本识别星号所在的行并将其切换到另一行。如何实现?
答案1
解决方案示例
该解决方案可以根据您的需求进行定制。
#!/bin/bash
MYRES=$(xrandr -q | grep "\*" | awk '{ print $1; }')
echo -e "\nResolution is $MYRES\n"
case "$MYRES" in
"1920x1080")
echo "Size = 5"
xrandr -s 5
;;
"1680x1050")
echo "Size = 4"
xrandr -s 4
;;
"1600x1024")
echo "Size = 4"
xrandr -s 4
;;
"1400x1050")
echo "Size = 3"
xrandr -s 3
;;
"1600x900")
echo "Size = 0"
xrandr -s 0
;;
*)
echo "Do nothing."
;;
esac