G A C E T A   D E   L I N U X
...haciendo a Linux un poco más divertido!

¿Visualización Pobre de las Fuentes en X?
Nunca más

Por Thomas Adam
Traducción al español por José Manuel González
el día 18 de Noviembre 2003, para La Gaceta de Linux

 

Introducción

[ ** Aunque soy el autor de este artículo, debo agradecer a Ben, Jim y Heather su ayuda para resolver este problema. Gracias colegas :) ** -- Thomas Adam ]

Recientemente me traje un nuevo portátil. Un precioso modelo nuevo Toshiba T1330. De acuerdo, no es el mejor modelo del mercado, estoy seguro. Pero era todo lo que podía permitirme con mi presupuesto de estudiante; y todos los estudiantes saben lo poco que proporcionan.

Así que después de volver a casa con el equipo y quitar algo llamado "XP", que utilizaba un extraño sistema de archivos que jamás había visto antes, instalé Debian Sarge. Algo que un compañero *muy* amable llamado Frank Rodolf (de TAG) me había enviado...

Se instaló maravillosamente y puede que fuera mucho más fácil y rápido que SuSE (mi distribución principal antes de que hubiese cambiado a Debian). En menos de una hora tenía todo instalado (incluyendo las X) y estaba preparado para lanzarme a hacer Cosas Linux(tm). O eso creía... hasta que me enfureció FVWM.


El Problema

Mi gestor de ventanas se lanzó correctamente -- sin errores. Podía abrir programas como normalmente hacía (via 'update-menus') excepto que con algunos programas (en concreto GTK), veía que las fuentes se mostraban en pantalla de forma incorrecta. Era como si de algún modo los bordes de las fuentes hubiesen sido 'comidos'.

Pensé que algo iba raro así que decidí ver qué podía estar causándolo. Inicialmente creí que podía ser un error en el módulo de vídeo que había escogido. Para asegurarme (estaba utilizando VESA -- así que no debía haber tenido un problema de por sí) cambié a uno temporal:

[n6tadam@laptop n6tadam]$ sudo dpkg-reconfigure xserver-xfree86

Reiniciado el servidor X, dentro...hmmm, todavía lo mismo. Otra cosa que comencé a notar, en particular con las aplicaciones GTK, fue que la interpretación de las fuentes era demasiado grande, muy grande. "¿Qué estaba pasando?" Me pregunté.... Como había notado dos cosas bastante extrañas con las aplicaciones GTK (gvim era un ejemplo clásico), decidí comprobar que mis ficheros $HOME/.gtk* fuesen 'correctos'.

Ya que no conozco absolutamente nada sobre cómo las aplicaciones GTK+ emplean estos ficheros de configuración, mi apuesta más segura para comprobar si estos archivos estaban contribuyendo a mi gran problema con las fuentes fue simplemente renombrarlos. Así:

[n6tadam@laptop n6tadam]$ mv ~/.gtk-rc ~/gtk-rc.THIS_IS_HIDDEN && gvim &

Adivinad que....el mismo problema :( Recuperé el nombre original del fichero y empecé a pensar en cuál podía ser el problema. Había desechado la posibilidad de que fuese un problema específico de GTK+ ya que había modificado hasta la extenuación el dichoso fichero con los mismos resultados cada vez. El problema probablemente tenía que estar en un nivel inferior de la configuración...

A estas alturas estaba empezando a desesperarme. ¿Qué iba a hacer? Realmente no podía hacer nada independientemente...al menos, no lo que necesitaba (tipo Lyx) -- ninguna de las fuentes funcionaba... Así que hice lo único que una persona en su sano juicio podía hacer. Escribí un correo-e a The Answer Gang. Como es habitual, obtuve respuestas , todas ellas fueron de mucha ayuda. Me hacía sentirme extraño escribir al TAG -- normalmente soy yo uno de los que responden a preguntas no de los que las realizan :)

Sin embargo una de las respuestas que recibí me hizo pensar. ¿Cuál es la labor de las X? Bueno, de forma muy resumida es una capa que proporciona protocolos al Gestor de Ventanas to use de tal modo que diversos objetos puedan ser ajustados (posición de la ventana etc.). ¿Son por lo tanto las X las que proporcionan las fuentes? No -- esto es a nivel de programa....

... no exactamente. Algunas distribuciones (RH, Mandrake) ejecutan un programa llamado "xfs": "X Font Server". Este proporciona un servicio de fuentes compartidas a través de la red a la que diversos clientes que se conectan al servidor. Genial, pero ¿es de alguna utilidad para mi? No.. así que ¿por qué no deshacerse de él? Ya lo creo, ¿estoy todavía usando alguno?

[n6tadam@laptop n6tadam]$ /etc/init.d/xfs status
xfs is running.

Bah -- así que *sí*. ¿Podría ser parte de mi problema? Uno de los métodos que había aprendido para resolver problemas es intentarlo y dividirlo. El diagnóstico de problemas de computadores no debía ser diferente excepto porque yo empleo una técnica que me gusta llamar: de-capado abstracto . Esto es, eliminar todos los elementos no esenciales hasta hasta quedarme con el mínimo número de procesos conflictivos.

Podría pensar que si mato xfs mi servidor de X no podría trabajar de ningún modo. Esto es lo que yo pensaba hasta que recordé que en realidad hay un método 'alternativo' -- el archivo de configuración del servidor X en sí mismo...


La Solución

Así que...¿cómo resolví esto finalmente? Primero tenía que encontrar un modo matar xfs permanentemente -- No lo necesitaba. Todo lo que estaba haciendo era añadir una capa más de de complejidad que yo no necesitaba. En Debian existe un script muy empleado: "update-rc.d". De este modo:

[n6tadam@laptop n6tadam]$ sudo update-rc.d -f /etc/init.d/xfs remove

Adios, xfs. Desde luego que existen otras maneras de hacer esto mismo. Se podría hacer algo como editar el fichero e incluyendo las siguientes líneas:

----------------------

#!/bin/bash 

NO_XFS = 1

[ $NO_XFS = "1" ] && {
  #tell syslogd we don't want this anymore...

  logger "Not starting XFS: you said not to...."
  exit 0
} || {
  #rest of script as written follows....
}

----------------------

Pero la cuestión todavía estaba presente, ¿cómo se presentaban las fuentes si no había ningún servidor de fuentes corriendo? Mirando en el fichero de configuración de las X (/etc/X11/XF86Config-4) encontré la siguiente sección:

----------------------

Section "Files"
    FontPath	"unix/:7100"			# local font server
    # if the local font server has problems, we can fall back on these
    FontPath	"/usr/lib/X11/fonts/misc"
    FontPath	"/usr/lib/X11/fonts/cyrillic"
    FontPath	"/usr/lib/X11/fonts/100dpi"
    FontPath	"/usr/lib/X11/fonts/75dpi"
    FontPath	"/usr/lib/X11/fonts/Type1"
    FontPath	"/usr/lib/X11/fonts/Speedo"
    FontPath	"/usr/lib/X11/fonts/100dpi"
    FontPath	"/usr/lib/X11/fonts/75dpi"
EndSection

----------------------

¡Excelente! Como no había ningún servidor de fuentes ejecutándose entonces estábamos usando las rutas de fuentes listadas arriba. Un asunto importante que hay que destacar es que el ORDEN en el que las fuentes son listadas es el orden en el que las fuentes son buscadas.. La palabra clave aquí sin embargo es "dpi" -- puntos por pulgada cuadrada.

Todo lo que hice fue cambiar los valores en la lista de modo que el 75 viniera antes que el 100, ahora el listado tenía el siguiente aspecto:

----------------------

Section "Files"
    ###FontPath	"unix/:7100"			# local font server
    # if the local font server has problems, we can fall back on these
    FontPath	"/usr/lib/X11/fonts/misc"
    FontPath	"/usr/lib/X11/fonts/cyrillic"
    FontPath	"/usr/lib/X11/fonts/75dpi"
    FontPath	"/usr/lib/X11/fonts/100dpi"
    FontPath	"/usr/lib/X11/fonts/Type1"
    FontPath	"/usr/lib/X11/fonts/Speedo"
    FontPath	"/usr/lib/X11/fonts/100dpi"
    FontPath	"/usr/lib/X11/fonts/75dpi"
EndSection

----------------------

Ahora cuando reinicié las X todo fue normal. Problema resuelto. Una cosa importante a destacar es que quitando el comentario a la línea "unix/:7100" realmente hace que las X arranque un poco más rápido. Todavía estoy perplejo en cuanto a por qué xfs/X no se comunicaba el uno con el otro -- ya que esto es lo que causó en un primer momento mis extraños problemas con las fuentes.

La lección que verdaderamente se aprendió aquí fue resolver un problema eliminando todos los elementos hasta dejar aquellos no conflictivos que pueden permitir arreglarlos de forma limpia.

 

picture Escribo en las recientemente resucitadas series "The Linux Weekend Mechanic", que fueron iniciadas por John Fisk (el fundador de Linux Gazette) en 1996 y continuada hasta 1998. También soy miembro de The Answer Gang.

Nací en Hammersmith (Londres RU) en 1983. Cuando tenía 13 años, me trasladé a la apacible villa de casitas de techo de paja de East Chaldon en el condado de Dorset. Estoy muy cerca de la costa (en Lulworth Cove) que es donde solía trabajar.

Me interesé por primera vez por Linux en 1996 echando un vistazo a una revisión suya en una revista (Slackware 2.0). Estaba harto de la inestabilidad que tenía el, por entonces nuevo, sistema operativo Windows 95 y decidí dejarlo por lo tanto. Slackware 2.0 era genial. He sido un fanático de Linux desde entonces. Terminé por pasarme finalmente a SuSE tanto en mi ordenador de sobremesa como en mi portátil.

Durante el colegio (The Purbeck School, Wareham en Dorset), participé activamente en la instalación de dos servidores proxy Linux (cada uno con Squid y SquidGuard). También desarrollé numerosos programas BASH que permitían el filtrado basado en web para ser hecho por correo electrónico, de tal modo que cuando un correo fuese recibido su contenido se añadiese al fichero filtro. (Viejo BASH -- Lo adoro)

Ahora tengo 18 años y estudio en la Universidad (Southampton Institute, RU) un curso llamado HND Buisness Information Technology (BIT). Hasta ahora es genial.

Otras aficiones incluyen la lectura. Disfruto especialmente leyendo obras de teatro (Henrik Ibsen, Chekov, George Bernard Shaw), me encanta la literatura (Edgar Allan Poe, Charles Dickens, Jane Austin por citar unos cuantos).

Me encanta caminar y voy a menudo durante las vacaciones a Lake District, a un lugar llamado Keswick. Hay numerosas "montañas" de las cuales "Great Gable" es mi preferida.

También soy un músico entusiasta. Toco el piano en mi tiempo libre.

Escucho gran variedad de música. Me encanta el Rock (Mi grupo favorito es "Pavement" (cantante principal: Stephen Malkmus). También me apasiona la música psicodélica de los años 1960 (Espero conseguir una copia de "Nuggets" muuuuuuuuy pronto).


Copyright © 2003, Thomas Adam. Licencia de copia http://linuxgazette.net/copying.html
Publicado en el número 96 de Linux Gazette, Noviembre 2003