viernes, 19 de enero de 2024

¿Cómo cambio el modo gráfico y la resolución de la consola de Linux?

Reunido con exponentes del sindicalismo en Casa de Gobierno, Juan Perón expone como alterar la resolución de la consola de GNU con Linux.

¡Trabajadores!

Antes que un sistema GNU con Linux pueda siquiera cargarse en memoria, ha de poder presentar al mundo lo que quiere decir.

Indudablemente el sistema de video cobra para ello una enorme importancia. El ambiente de visualización básico al fin y al cabo es la terminal, y esta suele contar con una resolución heredada del viejo y peludo estándar VESA, al que intenta consagrar. Dicho estándar nos habla de una resolución de video sin privilegios, de 640x480 pixeles, adecuada para insuflar la pantalla con 25 filas de 80 columnas de caracteres.

No caben dudas que esto - que debería ser suficiente para todos - choca con los límites de la utilidad práctica de los hombres que trabajan.

La idea básica no era mala, pero somos conscientes que las organizaciones del trabajo nos han solicitado integrar nuevas tipografías, y que si al menos estas no son escalables, al menos puedan elegirse conjuntos de mayor o menor tamaño. Los sindicatos saben que conforme aumenta la resolución de pantalla, el tamaño de las letras disminuye en forma inversamente proporcional.

A la oligarquía poco le ha importado: al fin y al cabo ellos han intentado ocultarle el kernel al Pueblo tras un escritorio gráfico. Pero los Descamisados han comprendido que tienen bajo sus dedos la posibilidad de levantar una o más consolas de terminal, simplemente indicando Ctrl+Alt+(F1-F6).

Estas pueden servir en caso de emergencia para restaurar el sistema, incluso si no hemos cargado un entorno gráfico, o si el mismo nos da problemas. También sabemos que que ante cambios fortuitos y poco pensados, nos podrá servir como remedo para restaurar las leyes...

Pues bien señores, contaremos con una manera de alterar la resolución de la pantalla de la consola de Linux. Esto se hace desde el arrancador Grub, que nos permite utilizar distintos modos gráficos, que avalan diferentes resoluciones gráficas. 

Como dije, el menor denominador será una modesta resolución de 640x480x8, lo que significa 640 píxeles de ancho, por 480 píxeles de alto, con 8 bits de profundidad de color (256 colores en total). Este estándar SVGA es superado, sin embargo, en la mayoría de las máquinas actuales de mas potencia, por el Full HD, cuyo estándar se revela de 1920x1080x24 (nos ofrece una gran resolución y gama de color). Ciertas máquinas portátiles no tan encumbradas cuentan con dispositivos de video capaces de presentar un máximo de 1366x768x16, que también es común.

El procedimiento para cambiar la resolución de nuestra consola Linux implica entonces modificar a mano las configuración del arrancador Grub, por medio de la cadena GRUB_GFXPAYLOAD_LINUX. Se afectará así la(s) consola(s) que podremos acceder con Ctrl+Alt+F1/F6 (Normalmente la consola número 7 que accedemos con Ctrl+Alt+F7 es la consola gráfica X).

Para hacerlo efectivo conviene seguir un cuidadoso procedimiento. Primero, instalamos el analizador de video xrandr y lo ejecutamos:

sudo apt-get install xrandr ;
xrandr

Este listará aquellos modos de pantalla disponibles para nuestro sistema de video, e indicará el modo activo en la actualidad:

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
   1920x1080     60.00*+  59.94    50.00  
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94  
HDMI-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)

Con estas ratificaciones nos haremos peritos conociendo cuáles son los modos que podemos elegir. Debemos notar que "maximun" no es el máximo posible, sino teórico. Debemos recurrir al máximo del monitor usual. Es importante también discernir que a mayor resolución, menor será la velocidad de refresco de la pantalla. Consideremos también que si disponemos de una resolución mayor que la que es capaz de presentar el monitor, se producirán errores de difícil solución (por ejemplo, si conectamos un monitor de menor resolución, no se verá bien lo cual podría ser un inconveniente mayúsculo para ciertas acciones críticas de servidor).

En cualquier caso, para cambiar la resolución debemos recurrir a editar el fichero de configuración del arrancador Grub, el /etc/default/grub:

sudo nano /etc/default/grub

Esto cargará el editor GNU Nano con el fichero de configuración grub. Asumiendo que teníamos un fichero previamente no editado, realizaremos las siguientes modificaciones:

La variable GRUB_CMDLINE_LINUX_DEFAULT debería contener al menos la entrada  nomodeset, tal vez con el agregado de quiet y splash si nuestro sistema es de escritorio. Estas serían las encargadas de presentarnos un logotipo a la hora de iniciar el sistema.

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

En los sistemas servidores este logotipo "splash" se deja de lado, presentándose todo un listado de status al inicio. Para ello debemos descomentar GRUB_TERMINAL=console para verlos (se presentarán en debida rápida sucesión antes de activar el escritorio gráfico).

Por otro lado, comentamos antecediendo con un # la línea que asignaba la resolución VGA m{as básica, ésta:

#GRUB_GFXMODE=640x480

...y al final del fichero, agregamos la siguiente línea:

#Agregado para tener una resolución de 1920x1080
GRUB_GFXPAYLOAD_LINUX=1920x1080x16

o reemplazamos el valor por cualquier otro modo/s indicado por xrandr que también sea(n) soportados por nuestro hardware (podremos separar varios con coma, por ejemplo GRUB_GFXPAYLOAD_LINUX=1920x1080x16,1024x1768x8,800x600x8). Los valores text, keep, auto, vga y ask también deberían funcionar.

Finalmente, guardamos los cambios al fichero editado /etc/default/grub con Ctrl+o, y salimos con Ctrl+x, lanzamos el siguiente comando para que surtan efecto las modificaciones:

sudo update-grub
sudo reboot

Naturalmente, si alteramos la resolución gráfica, las letras se verán chiquitas. En ciertos casos podríamos querer cambiar el tipo y tamaño de tipografía de la consola Linux, como ya he explicado.
 
Normalmente existen tres tipos de fuentes para escoger, en distintas modalidades de condificación. "VGA" tiene el aspecto tradicional de las placas de video VGA, con dicha fuente en la ROM, y consta de una cobertura media de los glifos internacionales. "Fixed" tiene un aspecto simplista finito, y una mejor cobertura de los glifos internacionales. En tanto, "Terminus" suele ser la que se utiliza por defecto en la mayoría de las pantallas de consola Linux, tanto con o sin framebuffer (su versión Bold no usa framebuffer). Puede ayudar a reducir la fatiga visual, aunqeu algunos símbolos tienen aspecto similar, lo que puede ser un problema para los programadores.
 
Estas se cambian con el comando setfont, y las mismas se encuentran en /usr/share/consolefonts/. Os diré que yo uso Lat15-TerminusBoldVGA16.psf.gz.

No hay comentarios:

Publicar un comentario