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
xrandr -s 0
현재 해상도가 1600x900인지 확인한 다음 실행하고 , 현재 해상도가 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