Как мне сформулировать скрипт, который проверяет разрешение экрана с помощью 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