lunes, 24 de abril de 2023

Cambiando la fuente y el tamaño (TTY)

Si eres seguidor de mi blog, sabrás que tengo tres manuales en el que indico como se realiza este proceso, pero ambos manuales están basados en versiones ya obsoletas de Debian:

- 25 de julio de 2008 - mapa del teclado - Debian 4.0 Etch
- 2 de mayo de 2010 - mapa del teclado en consola - Debian 6.0 Squeeze
- 29 de agosto de 2012 - mapa del teclado en consola - Debian 7.0 Wheeze

Entonces voy a actualizar este manual a fecha de hoy 24 de abril de 2023, sobre Debian 12 bookworm (versión testing en el momento de escribir este manual)

Existen varios factores muy importantes para decidir cambiar el tipo y el tamaño por defecto de la letra en la consola (TTY):

- El tamaño del monitor: Cuanto mas grande es el monitor, mas chica se va a ver el texto
- La edad del usuario: No vemos igual de bien con 20 que con 60 años

- Problemas de visión: uso de gafas, lentillas, deficiencia visual, etc.


Tenemos dos opciones para realizarlo:

Opción 1- Editando el archivo de configuración: /etc/default/console-setup
Opción 2- Usando el script: dpkg-reconfigure console-setup



Cambiando el tipo y el tamaño de la letra en TTY [1-6]

Opción 1: Editando el archivo: /etc/default/console-setup

Solo el usuario administrador (root), puede realizar dicha modificación. En Debian 12, no tenemos que instalar ningún paquete adicional, vamos a usar el que viene instalado y configurado por defecto: console-setup

Lo más rápido es editar el archivo de configuración:

nano /etc/default/console-setup

por defecto el archivo contiene esta configuración:

====================================
ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
CODESET="Lat15"
FONTFACE="Fixed"
FONTSIZE="8x16"
VIDEOMODE=
====================================

Solo tenemos que hacer los cambios en el tipo de fuente y en el tamaño de fuente, que mas nos guste y convenga (las opciones estan indicadas un poco mas abajo, en el apartado: Console-setup)

====================================
ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
CODESET="Lat15"
FONTFACE="Terminus"
FONTSIZE="12x24"
VIDEOMODE=
====================================

Guardamos los cambios y cerramos el editor.

Y ya se puede usar el tipo de letra y con el tamaño que hemos configurado, en todas y cada unas de las consolas virtuales [1-6]

Abre una nueva TTY (del ALT+F2 al ALT+F6), verás los cambios realizados.



Opción 2: Usando el script console-setup : dpkg-reconfigure console-setup


Solo el usuario administrador (root), puede realizar dicha modificación.

Lo más comodo es ejecutar el script de configuración: dpkg-reconfigure console-setup


Lo primero que nos pregunta es la codificación a usar, seleccionamos: UTF-8




pulsamos la tecla TAB (Tabulador) para posicionarnos en Aceptar. (pulsamos intro)



Nos toca seleccionar el conjunto de caracteres que debe utilizar la letras en la consola.
En nuestro caso para que salgan todos los caracteres que usamos en españa, tenemos que selecionar: Latin 1 o Latino 1 y Latin 5 o Latino 5, otras veces aparece como: Latin 15



pulsamos la tecla TAB (Tabulador) para posicionarnos en Aceptar. (pulsamos intro)



Tenemos que seleccionar el tipo de letra de la consola (TTY). En mi caso personal de los pocos tipo de letra que hay, selecciono: Terminus



pulsamos la tecla TAB (Tabulador) para posicionarnos en Aceptar. (pulsamos intro)



Seleccionamo el tamaño adecuado para nuestro monitor. En mi caso personal he seleccionado 12x24 por que es el tamañño ideal para mi monitor y mi visión.



pulsamos la tecla TAB (Tabulador) para posicionarnos en Aceptar. (pulsamos intro)






==========================================================
Descripción
==========================================================


El archivo console-setup especifica la codificación de caracteres y la fuente (tipo de letra) y el tamaño de esta, que se usará por defecto en la consola (TTY). 

La especificación de fuente (tipo de letras) consta de tres parámetros: 

- Conjunto de códigos
- Tipo de fuente
- Tamaño de fuente

El conjunto de códigos especifica qué caracteres admitirá la fuente. No existe una correspondencia uno a uno entre el conjunto de códigos y la codificación, por ejemplo, el conjunto de códigos Lat15 es adecuado para ISO 8859-1, ISO 8859-9 e ISO 8859-15. Los conjuntos de códigos son de dos tipos: pequeños y grandes. Solo los conjuntos de códigos pequeños son compatibles con FreeBSD.

El tipo de fuente determina el aspecto general de la fuente.

El tamaño de fuente, cada fuente está disponible en ciertos tamaños posibles. En FreeBSD, solo 8x16 , 8x14 y 8x8 son tamaños válidos. En Linux, si no se utiliza framebuffer o se instalan consolechars en lugar de setfont, los tamaños permitidos tienen la forma 8x NUMBER .

El controlador de consola de FreeBSD permite cargar simultáneamente fuentes de diferentes tamaños. Cuál de ellos se usará realmente depende del modo de vídeo actual. Por lo tanto, en esta plataforma se ignorará la especificación del tamaño de la fuente y setupcon cargará la fuente seleccionada en todos los tamaños disponibles.

La configuración de la consola de archivos consta de configuraciones variables en formato POSIX :

VARIABLE =' VALOR '

Solo se permite una asignación por línea. También se permiten comentarios (que comienzan con '#').



OPCIONES DE CONFIGURACIÓN

Se pueden configurar las siguientes variables.


ACTIVE_CONSOLE (CONSOLAS_ACTIVAS)

Especifica los archivos de dispositivo en /dev de los terminales virtuales que se configurarán. Se permiten comodines de nombre de archivo ( * , ? ). En Linux, por lo general, puede establecer esto en /dev/tty[1-6] y en FreeBSD, un valor sensato es /dev/ttyv[0-8] . Puede asignar a esta variable también el valor especial de conjetura . Hará que setupcon(1) intente adivinar las consolas virtuales activas buscando en archivos de configuración como /etc/inittab y /etc/ttys . Esta suposición no siempre es confiable.


CHARMAP (MAPA DE CARACTERES)

Especifica la codificación deseada en la consola. Los valores válidos son: UTF-8 , ARMSCII-8 , CP1251 , CP1255 , CP1256 , GEORGIAN-ACADEMY , GEORGIAN-PS , IBM1133 , ISIRI-3342 , ISO-8859-1 , ISO-8859-2 , ISO-8859-3 , ISO-8859-4 , ISO-8859-5 , ISO-8859-6 , ISO-8859-7 , ISO-8859-8 , ISO-8859-9 , ISO-8859-10 , ISO-8859-11, ISO-8859-13 , ISO-8859-14 , ISO-8859-15 , ISO-8859-16 , KOI8-R , KOI8-U , TIS-620 y VISCII . La suposición de valor especial también se reconoce, en cuyo caso se usará el comando del sistema locale(1) para adivinar la codificación deseada (actualmente esto funciona de manera confiable solo con GNU libc).


CODESET (CONJUNTO DE CÓDIGOS)

En la mayoría de los casos, aquí se puede utilizar la suposición de valor especial, en cuyo caso se adivinará un juego de códigos adecuado. El conjunto de códigos determina qué símbolos son compatibles con la fuente. Los conjuntos de códigos pequeños válidos son: armenio , CyrAsia , CyrKoi , CyrSlav , georgiano , griego , hebreo , laosiano , Lat15 , Lat2 , Lat38 , Lat7 y tailandés . Los grandes conjuntos de códigos válidos son: árabe , etíope , Uni1 , Uni2, Uni3 y vietnamita . Solo se pueden usar conjuntos de códigos pequeños en FreeBSD. 


FONTFACE y FONTSIZE (FUENTE y TAMAÑO DE FUENTE)

Las fuentes válidas son: 

- Fixed (tamaños: 8x13 , 8x14 , 8x15 , 8x16 y 8x18 )
Terminus (tamaños: 6x12 , 8x14 , 8x16 , 10x18 ,10x20 , 11x2212x24 , 14x2414x28 y 16x32 )
TerminusBold (tamaños: 8x14 , 8x16 , 10x18 , 10x20 , 11x22 , 12x24 , 14x28 y 16x32 )
TerminusBoldVGA (tamaños: 8x14 y 8x16 )
VGA (tamaños: 8x8 , 8x14 , 8x16 , 16x28 y 16x32 )

Sin embargo, si CODESET = Ethiopian , entonces las fuentes disponibles son Goha y GohaClassic , cada una en tamaños: 8x12 , 8x14 y 8x16 .

Establezca FONTFACE y FONTSIZE en cadenas vacías si desea configurar solo el teclado y dejar la fuente de la consola sin cambios.


VIDEOMODE (MODO DE VÍDEO)

Establezca VIDEOMODE en una cadena vacía para evitar configurar el modo de vídeo. En FreeBSD puede ejecutar

vidcontrol -i mode

para ver todos los modos de vídeo posibles. En Linux, fbset se usa para configurar el modo de vídeo, pero muy a menudo esto no funciona porque el controlador predeterminado de framebuffer (VesaFB) es bastante limitado y no permite cambios en el modo de vídeo.


FONT , FONT_MAP y CONSOLE_MAP (FUENTE, MAPA DE FUENTE  Y MAPA DE LA CONSOLA)

Si se establece, especifique que se utilizará una fuente no estándar. El valor de la variable FONT consta de uno o más nombres de archivos de fuentes separados por espacios. En Linux, cuando la fuente no contiene un mapa Unicode incrustado, se puede especificar un mapa externo con la variable FONT_MAP . El valor de CONSOLE_MAP es un archivo que especifica un mapa de traducción de la codificación de 8 bits del usuario a Unicode (solo Linux) o directamente a posiciones de fuentes.


SCREEN_WIDTH y SCREEN_HEIGHT (PANTALLA_ANCHO y PANTALLA_ALTO)

Si se establece, estas variables especifican un tamaño de pantalla que setupcon impondrá con stty . Esto puede ser útil con algunos dispositivos braille que tienen solo 40 celdas de ancho. El tamaño de la pantalla no puede exceder lo que la resolución de pantalla actual puede mostrar según el tamaño de la fuente cargada.


BIP (PITIDO)

Esta variable controla el estilo del pitido del sistema en la consola.

BEEP=default, no se realizarán cambios en el pitido del sistema. 

Otros valores posibles de BEEP son: 
- standard: establece un pitido estándar
short: como el pitido estándar pero algo más corto
shortest: aún más corto, adecuado cuando su trabajo genera muchos pitidos
polite: un pitido muy corto de baja frecuencia, adecuado cuando hay otras personas cerca
attention: un pitido muy largo, adecuado cuando se desea advertir sobre un evento que está ocurriendo
annoying: también un pitido largo, adecuado cuando se quiere advertir a otra persona sobre un evento que está ocurriendo
off: cuando se deshabilita el pitido del sistema en la consola.


CODESETS (CONJUNTOS DE CÓDIGOS)

Hay dos tipos de conjuntos de códigos:

- pequeños (hasta 256 símbolos) 
- grandes (hasta 512 símbolos). 

Solo se pueden usar conjuntos de códigos pequeños en FreeBSD. Cuando la pantalla está en modo de texto (es decir, no se usa framebuffer), las fuentes que cubren conjuntos de códigos grandes reducirán la cantidad de colores disponibles en el primer plano.



Lat15

Cubre completamente: ISO-8859-1, ISO-8859-9 e ISO-8859-15. Adecuado para los llamados idiomas Latin1 y Latin5: afar, afrikaans, albanés, aragonés, asturiano, aymara, vasco, bislama, bretón, catalán, chamorro, danés, holandés, inglés, estonio, feroés, fiyiano, finlandés, francés, frisón, friulano, gallego, alemán, hiri motu, islandés, ido, indonesio, interlingua, interlingue, italiano, bajo sajón, lule sami, luxemburgués, malgache, manx gaélico, bokmal noruego, nynorsk noruego, occitano, oromo o galla, portugués, reto- Romance (romansch), gaélico escocés, somalí, sami del sur, español, swahili, sueco, tswana, turco, volapuk, votic, valón, xhosa, yape y zulú.

Completamente cubierto por las siguientes fuentes:

- Fixed (todos los tamaños)
- Terminus (todos los tamaños)
- TerminusBold (todos los tamaños)
- TerminusBoldVGA (todos los tamaños)
- VGA (tamaños 8x16 y 16x32 ).


ARCHIVOS DE CONFIGURACIÓN (/etc/default/console-setup)

- La ubicación estándar del archivo de configuración de la consola es: /etc/default/console-setup
- La configuración del teclado está en: /etc/default/keyboard 
- Las fuentes que se pueden usar con la variable FONT generalmente se instalan en: /usr/share/consolefonts/ o /usr/share/syscons/fonts/ 
-Los mapas de traducción que se pueden usar con la variable CONSOLE_MAP generalmente se instalan en: /usr/share/consoletrans/ o /usr/share/syscons/scrnmaps/ 



NOTAS IMPORTANTES

1- El objetivo de la fuente Terminus es reducir la fatiga visual cuando uno tiene que leer mucho. Actualmente, esta fuente solo es compatible con los alfabetos latino, cirílico y griego (los conjuntos de códigos Lat15 , Lat2 , Lat7 , CyrAsia , CyrKoi , CyrSlav , Griego , Uni2 y Uni3).

2- Las fuentes con tipo de letra Terminus se pueden utilizar en todos los modos de vídeo.

3- Las fuentes con fuente TerminusBold están optimizadas para su uso con los modos de vídeo framebuffer. 

4- Las fuentes con tipo de letra TerminusBoldVGA están optimizadas para su uso con modos de vídeo de texto normal. No deben usarse con los modos de vídeo framebuffer.




Fuente de información