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 4
elif <current resolution is 1600x900>
then
xrandr -s 0
else
<do nothing>
fi
기본적으로 스크립트에서 별표가 있는 줄을 식별하고 다른 줄로 전환하는 방법이 필요합니다. 이것이 어떻게 달성될 것인가?
답변1
프로세스 대체 사용:
#! /bin/bash
read resolution _rest < <(xrandr | grep '\*')
if [[ $resolution = 1920x1080 ]] ; then
xrandr -s 5
elif [[ $resolution = 1600x900 ]] ; then
xrandr -s 0
else
echo Unknown resolution >&2
fi