스크립트로 화면 해상도를 전환하는 것은 어떻습니까?

스크립트로 화면 해상도를 전환하는 것은 어떻습니까?

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

관련 정보