terminfoLa 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
NOTA: si tu distribución de Linux es antigua, es posible que el
equivalente a infocmp se llame untic.
NOTA2: asegúrate de estar en la consola normal (modo texto). Si estás en un xterm, será ésta la información que se vuelque al fichero.
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:
smacsrmacsacsc
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
slangLas 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 cogiendo la última versión de
ftp://space.mit.edu/pub/davis/slang.
Algunos programas que usan slang son slrn, jed y lynx
(si se compila con esta opción).
resetAlgo que no sé cómo evitar es que al ejecutar reset los carateres
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"'