Resolución monitor

Para conocer la pantalla conectada y las posibles resoluciones admitidas haremos

# xrandr

Para cambiar a una resolución de las enumeradas por el comando anterior, por ejemplo 1400×1050 haremos

xrandr -s 1400x1050

Pero por desgracia suele ocurrir que la resolución que queremos no está. Para crear una nueva resolución se necesitan unos datos “muy extraños” como son la frecuencia vertical, horizontal, máxima, mínima, total… Pero Linux también tiene la solución con el comando “cvt”, una utilidad para calcular los modos VESA necesarios para alcanzar una resolución. Calculamos con

# cvt x y z

Donde la x y la y son los datos de la resolución y z la frecuencia de refresco en Hz, por ejemplo

# cvt 1280 1024

Aparecerá algo como esto:

# 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz
Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync

Si lo quisiera a 85 Hz haría

# cvt 1280 1024 85

Dando

# 1280x1024 84.84 Hz (CVT 1.31M4) hsync: 91.46 kHz; pclk: 159.50 MHz
Modeline "1280x1024_85.00"  159.50  1280 1376 1512 1744  1024 1027 1034 1078 -hsync +vsync

Ahora copiamos la información de la linea Modeline para crear un nuevo modo

xrandr --newmode "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync

Luego toca asignarlo a la pantalla en cuestión, cuyo nombre nos habrá salido en la segunda línea del xrandr, por ejemplo VGA-1

xrandr --addmode VGA-1 1280x1024_60.00

Y finalmente lo aplicamos

xrandr --output VGA-1 --mode 1280x1024_60.00

Todo esto puede hacerse con un script:

resolucion.sh
#!/usr/bin/env bash
xrandr --newmode "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
xrandr --addmode VGA-1 1280x1024_60.00
xrandr --output VGA-1 --mode 1280x1024_60.00

Como alternativa, también podría generarse el modeline con gtf en lugar de con cvt.

Lo escrito a continuación no funciona del todo…

Hasta aquí todo muy bonito pero hay un problema, al reiniciar el equipo las configuraciones se pierden. No me parece buena idea ajustar el refresco de pantalla cada vez que entramos en el equipo, tiene que haber una forma de dejarlo fijo. Vamos a ello.

En Linux hay un fichero de configuración que poco a poco y a medida que el hardware fue mejor reconocido por las distribuciones, fue quedando en el olvido. Su nombre con ruta completa es /etc/X11/xorg.conf. El fichero de configuración de todos los parámetros que hacen que el entorno gráfico funcione.

En LXDE (entorno de escritorio X11 ligero) el fichero no existe, con lo cual hay que crearlo, cosa que no es fácil. Una posible solución es hacer lo siguiente:

  1. Nos salimos del entorno gráfico, vamos a una terminal pulsando CTRL + ALT + F1. Recordar que el entorno gráfico es CTRL + ALT + F7.
  2. Nos validamos y apagamos el entorno gráfico:
    # /etc/init.d/lightdm stop
  3. A continuación ejecutamos la configuración de X:
    # X -configure
  4. Se crea un fichero de nombre xorg.conf.new el cual es el que debemos mover a su sitio y modificar:
    # mv xorg.conf.new /etc/X11/xorg.conf
  5. Si todo está correcto y queremos volver a arrancar el entorno gráfico:
    # /etc/init.d/lightdm start

Configurar xrandr para que arranque al inicio. Este método varía dependiendo del entorno de escritorio que utilices (gnome, kde, xfce).

  • En openbox, agrega el comando xrandr en ~/.config/openbox/autostart.sh
  • En fluxbox, realiza la misma operación pero en el archivo ~/.fluxbox/startup
  • Dependiendo del entorno de escritorio que utilices, puedes agregar xrandr en ~/.xinit
  • doc/tec/sis/gnu/resolucion_monitor/inicio.txt
  • Última modificación: 2023/08/10 14:38
  • por 127.0.0.1