用脚本切换屏幕分辨率,如何?

用脚本切换屏幕分辨率,如何?

如何编写一个使用 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

相关内容