¿Cómo formulo un script que verifica la resolución de la pantalla con xrandr y cambia la resolución dependiendo de cuál sea actualmente? Es decir, alterna la resolución.
Salida de muestra dexrandr -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
¿Cómo se debe redactar para verificar si la resolución actual es 1600x900 y luego ejecutar xrandr -s 0
, pero si la resolución actual es 1920x1080, ejecutar xrandr -s 4
?
En resumen, la pregunta es cómo hacer que el script reconozca la salida de xrandr -q para poder alternar resoluciones. Por ejemplo:
#!/bin/bash
if <current resolution is 1920x1080>
then
xrandr -s 5
elif <current resolution is 1600x900>
then
xrandr -s 0
else
<do nothing>
fi
Básicamente necesito un medio para que el script reconozca en qué línea está el asterisco y lo cambie a la otra. ¿Cómo se lograría eso?
Respuesta1
Ejemplo de solución
La solución se puede personalizar según sus necesidades.
#!/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