terminfo
La 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:
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
slang
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 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).
reset
Algo 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"'