如何編寫一個使用 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