Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Este documento explica como usar una fuente iso-8859-1 en el modo texto de Linux, en vez de la que este trae por defecto en todas las distribuciones que yo he visto, y que no deja de ser una especie de apano que arrastra el lastre de la pagina de codigos de IBM.
Indice General
1 2 3 Introducci n o Preparando las VT Adaptando terminfo 3.1 3.2 3.3 4 Probando si funciona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nota sobre slang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nota sobre reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 4 4 4 4 4 4 5 5 6 6 6 7 7 7 7 7 8 8 8 9 9
M s gaitas a 4.1 Variables de entorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 4.1.2 4.2 4.3 less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LANG, LC CTYPE, etc... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
isprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conguraci n de algunos programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 4.3.1 4.3.2 4.3.3 4.3.4 dosemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ELM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Problemas 5.1 5.2 5.3 5.4 La fuente no se carga al arrancar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . El teclado funciona mal en VT(no.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Los caracteres gr cos no aparecen correctamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . a C mo se quita esto? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o
Anexo: El INSFLUG
1. Introducci n o
Introducci n o
Las distribuciones de Linux que conozco traen por defecto la misma fuente que el DOS (p gina de c digos 437). a o Para hacer que el sistema funcione como si la fuente fuera ISO, se emplea un extra o remapeo para hacer que al n representarse determinado car cter, no salga por pantalla el que en la fuente ocupa dicha posici n. a o Para saber si este es el caso de tu sistema, mira el siguiente car cter: a A Si est s viendo una A may scula con acento agudo, este documento no te hace falta. Si ves un cuadrado, te puede a u interesar. Por supuesto lo anterior se aplica si est s mirando este documento en su versi n texto desde la consola, o a o bien la versi n html desde el lynx. Si lo est s viendo desde X o leyendo una versi n impresa, deberas ver la A en o a o cualquier caso. Tambi n puedes probar man iso 8859 1 desde la consola (seg n tu distribuci n y de si instalaste el manual o no, e u o es posible que no tengas esta p gina) y comprobar si los caracteres mostrados se corresponden con su descripci n y a o si ves correctamente todos ellos. Es muy posible que gran parte aparezcan como cuadrados en vez de corresponderse con la descripci n que traen a la derecha. o Si quieres disponer de todos los caracteres necesarios para una correcta escritura de la lengua castellana (y varias otras), puedes seguir los pasos que se describen en este documento. Para los recelosos, comentar que esto no implica la p rdida de smbolos gr cos, y que si se hace bien, seguiremos viendo los cuadraditos en nuestras aplicaciones e a favoritas (mc, slrn, etc.).La unica pega es que las lneas horizontales no salen unidas, cosa que creo que se debe a que la VGA s lo hace esto para ciertas posiciones de la tabla de caracteres. No obstante puedo asegurar que se puede o sobrevivir sin ello. A lo largo del documento aparecen varios ejemplos de comandos. Cuando estos empiezan por # signica que quien debe ejecutarlos es el superusuario (root). Cuando aparecen precedidos por $ signica que pueden ser ejecutados por cualquier usuario.
Preparando las VT
Lo primero que se debe hacer es lograr que cuando pulsemos ALT+n, salga por pantalla el car cter que ocupa el lugar a n en la fuente y no otro. Esto se consigue con el siguiente comando:
$ echo -ne \033(K
pero por supuesto no vamos a estar tecleando eso en cada terminal virtual cada vez que tengamos que usarla, as que lo m s c modo es a adir lo siguiente en /etc/rc.d/rc.local: a o n
# el BloqNum y los 8 bits for tty in /dev/tty[1-6]*; do setleds -D +num > $tty echo -n -e \033(K > $tty done
La lnea que contiene setleds no es necesaria para el prop sito de este documento, pero sera una pena no aprove o char el bucle ;-) Lo siguiente que debemos hacer es instalar la fuente:
3. Adaptando terminfo
# setfont /usr/lib/kbd/consolefonts/lat1-16.psf
Para hacer que esto ocurra autom ticamente al arrancar, pon la orden en /etc/rc.d/rc.font. Puedes probar a a cambiar a dicha fuente, teclear echo -ne n033(K y volver a la secci n 1 (introducci n). Ahora deberas ver o o correctamente el car cter. Recuerda que el echo s lo tiene efecto sobre la terminal en la que se teclea, por lo que a o tendr s que teclearlo en la misma en la que est s leyendo esto. a a
Adaptando terminfo
La denici n para la terminal de Linux que trae ncurses est pensada para usar los c digos de la cp437. Esto o a o provocar que al cambiar de fuente veamos letras en vez de los smbolos gr cos. Afortunadamente esto no es difcil a a de solucionar cambiando la denici n de terminal en /usr/lib/terminfo/l/linux. o NOTA: si tu distribuci n de Linux es antigua, es posible que la denici n de terminal est en o o e /usr/lib/terminfo/c/console. Teclea
$ echo $TERM
para saber cu l te corresponde. a Primeramente deberemos extraer el chero 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. o NOTA2: aseg rate de estar en la consola normal (modo texto). Si est s en un xterm, ser esta la informaci n que se u a a o vuelque al chero. Guarda el chero linux.original.tic por si es necesario volver a restaurar la denici n original, y edita los o cambios sobre linux.tic. Estos son los siguientes:
Busca las siguientes entradas y b rralas: o
smacs rmacs acsc IMPORTANTE: Las entradas est n delimitadas por comas y puede haber varias en una misma lnea. Ten a cuidado en borrar s lo las entradas que se mencionan arriba. o
A ade las siguientes lneas: n
smacs=\E(K, acsc=l\206m\203k\214j\211u\215t\207v\213w\216q\212x\205, rmacs=\E)K,
4. M s gaitas a
M s gaitas a
Mientras esperamos el da en que las distribuciones de Linux traigan las diferentes deniciones de locale para su internacionalizaci n, hay algunas cosillas que podemos anar. o
less
Esto har que se consideren como imprimibles todos los caracteres desde el 32 hasta el 255, lo que puede acarrear a problemas si se usa en una terminal vt200, por ejemplo, pero permite ver caracteres gr cos desde el PC. Si tienes a una terminal en ttySn puedes poner esto:
export LESSCHARDEF=8bcccbcc18b. if [ "tty" = "/dev/ttySn" ]
4. M s gaitas a
then TERM=vt220d unset LESSCHARDEF export LESSCHARSET=latin1 else TERM=linux fi export TERM
lo que har que si se entra por ttySn, less no considere como imprimibles los caracteres del 128 al 160 (los a caracteres gr cos en la fuente lat1-16.psf, pero que son interpretados como caracteres de control por el vt200). a 4.1.2 LANG, LC CTYPE, etc...
Estas variables son las que se usan para presentar el formato de la fecha, orden alfab tico, etc. Desgraciadamente que e yo sepa a n no est n implementadas en las distribuciones habituales de Linux. De todas formas puedes a adir esto: u a n
export LANG=es_ES
4.2 isprint
Esta es la funci n del sistema que decide si un car cter es imprimible o no. Si la distribuci n soportase locale, o a o debera funcionar bien, pero tal como est ahora la cuesti n, s lo devuelve como imprimibles los caracteres ASCII. a o o Esto provoca que muchos programas compilados con #include `ctype.hb no muestren correctamente los caracteres no ASCII. Como esto puede cambiar en un futuro, es importante que antes de aplicar el cambio que se propondr a continuaci n compruebes tu sistema con el siguiente programa: a o
#include <locale.h> #include <ctype.h> void main(void) { unsigned char c; setlocale(LC_CTYPE,""); for (c=191;c<211;c++) { printf("%d - %c ",c,c); if (isprint(c)) puts("es imprimible"); else puts("no es imprimible"); } }
4. M s gaitas a
Seguramente saldr n todos los caracteres como no imprimibles. Por si acaso aseg rate antes probando con otros a u valores de LC CTYPE, tales como es ES, fr FR, pt PT, etc. Para saber m s posibles valores de LC CTYPE, consulta a el chero locale.alias, que tendr s (si instalaste X) por /var/X11R6/lib/locale o alg n otro directorio a u similar. Si, y s lo si, el programa prueba clasica como no imprimibles los caracteres que saca, puedes hacer el siguiente o cambio en /usr/include/ctype.h. Primero haz copia de seguridad del chero:
# cd /usr/include # cp -a ctype.h ctype.h.orig
por
#define isprint(c) (((c & 0xff) == 0x1b) || ((c & 0xff) > 0x1f))
Este cambio de ctype.h fue publicado por Pablo Saratxaga `srtxg@f2219.n293.z2.fidonet.orgb en el difunto grupo es.foro.unix. Yo he recompilado con el algunos programas como ncftp y tin, y ha funcionado muy bien.
Si arrancamos dosemu en modo texto, los caracteres que ocupen una posici n mayor que el 127 ya no se ver n bien. o a Para remediarlo se puede habilitar el acceso a la VGA, con lo que dosemu usar el juego de caracteres de nuestra a tarjeta gr ca, que es del tipo IBM, por lo menos si usamos Linux en un ix86. Esto se consigue poniendo lo siguiente a en el chero de conguraci n (generalmente /etc/dosemu.conf): o
video { vga console graphics }
Con esto y el programa keybes.com de Pedro Maicas, no debera haber ning n problema para ver y teclear los u caracteres mayores de 127. 4.3.2
pine
Se puede cambiar la conguraci n desde el propio programa, o bien editar el siguiente cambio en el chero /.pio nerc:
character-set=ISO-8859-1
5. Problemas
Desde la versi n 3.92, Pine ya permite poner artculos con 8 bits en los grupos de noticias (en el correo depender o a de la versi n de sendmail y de c mo est congurado). Para habilitar esta opci n, a adir enable-8bit-nntpo o e o n posting a la lista feature-list del chero mencionado. Existe tambi n un chero que efect a cambios globales (para todos los usuarios del sistema). El chero se llama e u pine.conf, y su ubicaci n depende de la distribuci n que usemos. o o 4.3.3
ELM
Tambi n se pueden hacer estos cambios para todos los usuarios. Basta a adir lo mismo al chero general de congue n raci n, que en la Slackware est en /var/lib/elm/elm.rc. o a 4.3.4
TIN
Algunas versiones modernas, como la 1.3 unoff, ya incorporan este tipo de cabeceras, por lo que la edici n de este o chero es innecesaria.
Problemas
por
for tty in /dev/tty[1-8]*;
Este documento ha sido elaborado utilizando Linuxdoc-SGML v1.5. Si lo has seguido elmente habr s conseguido una de estas dos cosas: a 1. Adaptar la fuente de tu sistema al est ndar ISO (m s o menos) en vez de usar un sistema propietario, recuperando a a unos cuantos smbolos muy convenientes o... 2. Descuajeringar totalmente tu conguraci n. o Si est s en el primer caso y tienes alguna idea m s a este respecto que te gustara compartir, no dudes en escribirme a a a ulusa@frodo.com (Fidonet: 2:343/143.30) Si est s en el segundo, no te molestes en escribirme. Mi ego no lo soportara. a En caso de que est s leyendo este documento localmente y quieras ver la ultima versi n, es posible que est en e o e http://www.arrakis.es/ulusa/linux/fuente ISO-COMO. extensi n o donde extensi n puede ser: o
html: versi n html. o sgml.gz: fuente sgml comprimida. dvi.gz: chero dvi comprimido. ps.gz: chero PostScript comprimido.
7. Anexo: El INSFLUG
Tambi n puedes obtener la fuente que uso en e http://www.arrakis.es/ulusa/linux/swiss-3-lat1.fnt.gz Es muy posible que lo que se trata aqu ya est explicado en alg n HOWTO de los que trae el Linux. No lo s con e u e seguridad porque nunca los leo ;-)
6.1 Agradecimientos
A Francisco Jos Montilla, pacopepe@insflug.org. e A Pablo Saratxaga, srtxg@f2219.n293.z2.fidonet.org por su hack de isprint. A todos aquellos que me han enviado comentarios.
Anexo: El INSFLUG
El INSFLUG forma parte del grupo internacional Linux Documentation Project, encarg ndose de las traducciones al a castellano de los Howtos (Comos), as como la producci n de documentos originales en aquellos casos en los que no o existe an logo en ingl s. a e En el INSFLUG se orienta preferentemente a la traducci n de documentos breves, como los COMOs y PUFs o (Preguntas de Uso Frecuente, las FAQs. :) ), etc. Dirjase a la sede del INSFLUG para m s informaci n al respecto. a o En la sede del INSFLUG encontrar siempre las ultimas versiones de las traducciones: www.insflug.org. a Aseg rese de comprobar cu l es la ultima versi n disponible en el Insug antes de bajar un documento de un seru a o vidor r plica. e Se proporciona tambi n una lista de los servidores r plica (mirror) del Insug m s cercanos a Vd., e informaci n e e a o relativa a otros recursos en castellano. Francisco Jos Montilla, pacopepe@insflug.org. e