Las definición para la terminal de Linux que trae ncurses está pensada para
usar los códigos de la cp437. Esto provocará que al cambiar de fuente
veamos letras en vez de los símbolos gráficos. Afortunadamente esto no es
difícil de solucionar cambiando la definición de terminal en
/usr/lib/terminfo/l/linux
.
NOTA: si tu distribución de Linux es antigua, es posible que la
definición de terminal esté en /usr/lib/terminfo/c/console
. Teclea
$ echo $TERM
para saber cuál te corresponde.
Primeramente deberemos extraer el fichero binario en forma de texto editable:
# infocmp > linux.original.tic
# cp linux.original.tic linux.tic
NOTA1: si tu distribución de Linux es antigua, es posible que el
equivalente a infocmp
se llame untic
.Guarda el fichero linux.original.tic
por si es necesario volver a
restaurar la definición original, y edita los cambios sobre linux.tic
.
Éstos son los siguientes:
smacs
rmacs
acsc
smacs=\E(K,
acsc=l\206m\203k\214j\211u\215t\207v\213w\216q\212x\205,
rmacs=\E)K,
Ya puedes proceder a compilar:
# tic linux.tic
Tras lo cual ya debería estar listo el sistema.
Seguramente tendrás el Midnight Commander. Ejecútalo para ver si los cambios han tenido efecto.
¡Pero si sale hecho un cristo!
Calma, calma. Pulsa F9
y entra en el menú Options. Selecciona
Display bits y elige la opción Full 8 bits. Asegúrate de pasar por
el Ok o darle con el ratón. ¿Mejor ahora? Vuelve a entrar en el menú y
graba los cambios con Save setup.
En caso de que estés leyendo esto con Lynx, debes saber que en las fuentes
de este navegador viene una página que te será muy útil para ver los
cambios que has realizado. Dicha página se llama iso8859-1.html, y si estás
leyendo esto conectado puedes verla en
http://www.uni-passau.de/~ramsch/iso8859-1.html
.
Las versiones de slang anteriores a la 0.99-32 no determinan cuáles son los
caracteres gráficos leyendo terminfo, sino que usan unos predeterminados (si
la terminal es linux). Si tu versión de esta librería es anterior, puedes
actualizarte obteniendo la última versión en
ftp://space.mit.edu/pub/davis/slang
.
Algunos programas que usan slang son slrn, jed y Lynx (si se compila
con esta opción).
Algo que no sé cómo evitar es que al ejecutar reset
los caracteres
vuelvan a ser "remapeados" como si la fuente fuese la cp437. El
único apaño que se me ocurre es incluir esta línea en /etc/profile
o en el .profile
del usuario:
alias reset='reset ; echo -ne "\033(K"'