Source: https://syconet.wordpress.com/2012/09/10/lpic-102-tema-6-instalar-y-configurar-x11/
Timestamp: 2018-06-18 00:01:03+00:00

Document:
LPIC 102 – Tema 6 – Instalar y configurar X11 | syconet
En la práctica, es más fácil quedarse con el servidor X que venga con la distribución (que suele ser X.org-X11). Hay unas cuantas tarjetas de vídeo raras que harán que tengamos que recurrir al bastante anticuado XFree86.
Normalmente, configurar X suele ser un proceso difícil, ya que incluye muchas opciones misteriosas. La tarea se simplifica si usamos una utilidad de configuración como las que se utilizan en la mayoría de las distribuciones como parte del proceso de instalación; si la utilidad de configuración no hace todo lo que necesitamos, tendremos que ajustar las opciones manualmente en los ficheros de configuración, para lo que nos será de gran ayuda conocer sus formatos. Es importante saber cómo reiniciar el sistema X para poder probar los cambios.
La configuración de X varío de una versión a otra, pero las diferencias más importantes están entre las herramientas para XFree86 4.x y X.org-X11 y las herramientas de XFree86 3.3.6 y anteriores.
Utilizar los drivers de vídeo del fabricante
Tanto XFree86 como X.org.X11 y accelerated-X vienen con una amplia variedad de drivers, pero algunas tarjetas de vídeo, sobre todo las más recientes, reciben un soporte muy débil en los paquetes XFree86, X.org-X11 y accelerated-X.
XFree86 4.x como X.org-X11 soportan una arquitectura de drivers modular, lo que nos permite utilizar un módulo de drivers para la tarjeta de vídeo sin recompilar el paquete X principal. Hay fabricantes de tarjetas de vídeo que ofrecen productos diseñados para trabajar xon XFree86 y X.org-X11 (ambos utilizan los mismos drivers).
Para instalar y utilizar los drivers de un fabricante podemos extraer los ficheros de un tarball o, a veces, los fabricantes proporcionarán scripts que hacen esto automáticamente. Estos drivers suelen ser útiles para activar las funcionalidades de aceleración 3D de las tarjetas de vídeo modernas, algo importante para los juegos de Linux. Las tarjetas de vídeo basadas en chipsets NVIDIA tienen más posibilidades de sacar partido de los drivers del fabricante, ya que proporcionan unas funcionalidades superiores a la de los drivers estándar de X. Con frecuencia, los drivers de los fabricantes son de propiedad exclusiva y no tendremos acceso al código fuente, lo que provocará que puedan no funcionar en CPU inusuales o dejar de funcionar en actualizaciones del servidor X.
Herramientas de configuración para XFree86 4.x y X.org-X11
El propio servidor X: el servidor X posee la capacidad de consultar el hardware y generar un fichero de configuración que se consigue escribiendo XFree86-configure para XFree86, o X.org-configure para X.org-X11 cuando no haya ningún servidor X en ejecución. El resultado debería ser un fichero llamado /root/XF86Config.new para XFree86, y /ROOT/xorg.conf.new para X.org-X11. Normalmente no se obtienen unos resultados óptimos, pero es un punto de partida para realizar modificaciones puntuales.
Las herramientas específicas de las distribución: las distribuciones modernas vienen con sus propias herramientas de configuración de X personalizadas. En Red Hat y Fedora podemos acceder desde el menú del escritorio o escribiendo system-config-display en una terminal y YaST y YaST2 en Suse. Estas herramientas son parecidas a las de configuración de X de la instalación de la distribución, aunque pueden variar notablemente.
xf86cfg o xorgcfg: estas funcionalidades son para XFree86 4.x y X.ogr-X11. El nombre de las herramientas está basado en el nombre del paquete con el que vienen. Son aplicaciones de configuración en desuso, por lo que ya no se distribuyen. Si el sistema las incluye, nos ayudarán a modificar los parámetros una vez que X se ejecute, al menos, parcialmente.
Todas estas utilidades recopilan el mismo tipo de información necesaria para configurar X manualmente. Lo mejor para entender estas herramientas es conocer el contenido y formato de los ficheros de configuración de X.
Herramientas de configuración para XFree86 3.3.6 y versiones anteriores
Las herramientas de configuración más comunes son xf86config, Xconfigurator y XF86Setup. Si tuviésemos que utilizar una versión antigua de XFree86, lo mejor es consultar la documentación de uno de estos programas o consultar manualmente los ficheros de configuración de X.
Xconfgurator es una buena herramienta a utilizar para configurar un sistema por primera vez; XF86Setup va bien para ajustar un sistema existente sin profundizar en el fichero XF86Config. Si nos vemos forzados a utilizar XFree86 3.3.6 o anteriores, puede que tengamos que utilizar xf86config o editar el fichero de configuración manualmente.
El formato de fichero de configuración de X
El nombre y la ubicación del fichero de configuración de X varía con la versión de X que se ejecuta:
X.org-X11: el fichero de configuración del servidor se llama xorg.conf y suele estar almacenado en /etc/X11, aunque también puede estar en /etc o algún otro lugar.
XFree86 4.x: el formato del fichero es ligeramente diferente al formato de XFree86 3.3.6 y anteriores. XFree86 4.x incluye un fichero de configuración llamado XF86Config-4 y se suele encontrar en /etc/X11. Si este fichero no existe, habrá uno llamado XF86Config que estará en /etc/X11 o en /etc; el formato de este fichero es el mismo que el del fichero de configuración de X.org-X11.
XFree86 3.3.6 y anteriores: el nombre del fichero de configuración es XF86Config y se suele encontrar en /etc/X11 o en /etc.
Estas tres clases de servidor X utilizan ficheros de configuración que se dividen en varias secciones y comienzan con una línea con la palabra clave Section y el nombre de la sección entre comillas (“”); terminan con la palabra clave EndSection:
En esta sección se le indican a X los detalles del teclado. Los distintos servidores poseen las mimas secciones y la mayoría de los nombres de opción son los mismos, aunque hay algunas excepciones:
La palabra clave opción no se utiliza en XFree86 3.3.6 y anteriores, pues en éstas se usa el nombre de opción sin comillas; por ejemplo: XkbLayout o AutoRepeat.
XFree86 3.3.6 y anteriores no utilizan la sección ServerLayout.
XFree86 3.3.6 y anteriores carecen de las líneas Identifier y Drivers, que son comúnes en XFree86 4.x y X.org-X11.
Algunas características específicas de las secciones pueden variar de una versión a otra.
El ciclo “configurar y probar” de X
Muchas distribuciones de Linux configuran el sistema para que inicie X automáticamente, lo que dificulta hacer una prueba de la configuración de X, con lo que el único modo obvio de probar una configuración es reiniciar el ordenador. La mejor solución es iniciar el sistema en un modo en el que no se inicie X automáticamente; algunas distribuciones no utilizan los modos de ejecución como una señal para saber si iniciar X, por lo que tendremos que apagar el servidor escribiendo: /etc/init.d/gdm stop (dependiendo de la configuración puede ser xdm, gdm o kdm). Una vez apagado el servidor X, modificaremos manualmente la configuración utilizando un prompt de tipo texto o los programas de configuración de X de tipo texto. Después, escribiremos startx para iniciar el servidor X y ver si obtenemos los resultados esperados. Para utilizar las herramientas de configuración de X, éste debe tener un funcionamiento mínimo que nos permita reconfigurar el sistema antes de reiniciar el servidor X activado.
Otra manera de reiniciar X es destruyendo el proceso del servidor. En la mayoría de sistemas, esto se consigue con la combinación de teclas control+alt+retroceso o, manualmente, con el comando kill después de averiguar la ID del proceso con el comando ps. Este método funciona mejor en sistemas que no asocian la ejecución de X con modos de ejecución concretos, como Debian y sus derivados.
Cuando modifiquemos la configuración de X, el mejor método suele ser identificar las características que no funcionan y ponerlas a cero en la sección que controle. En XFree86 4.x y X.org-X11 las principales secciones descritas se llaman Module, InputDevice, Monitor, Device, Screen y ServerLayout. Es probable que aparezcan dos secciones InputDevice, una para el teclado y otra para el ratón (en XFree86 3.3.6 y anteriores el ratón se controlaba con la sección Pointer). El orden de las secciones no importa.
Una sección muy importante es la sección File,s que controla las fuentes del sistema.
La sección Module controla la carga de los módulos del servidor de X (Drivers para las características especificas del hardware)
Cada módulo tiene un nombre y se carga por su nombre empleando Load. Los módulos que se configuran automáticamente son necesarios para el funcionamiento normal del sistema y, si modificamos la configuración de X, no deberíamos alterar la sección Module. En ocasiones, nos veremos obligados a hacerlo, sobre todo si tenemos que activar el soporte para aceleración 3D o algún tipo de funcionalidad singular.
Definir el teclado
Es un dispositivo de entrada habitual que se configura con una sección InputDevice:
La línea Identifier proporciona una etiqueta que utiliza la sección ServerLayout. Ni esta línea ni la sección ServerLayout están presentes en XFree86 3.3.6 y versiones anteriores. La cadena de la línea Identifier es arbitraria y podemos asignarle el nombre que queramos. La línea Driver indica qué driver utilizar para acceder al teclado; lo normal es que sea kbd o Keyboard y, a menos que el teclado no funcione en absoluto, no deberíamos modificar esta línea. Las líneas Option ajustan varias funcionalidades del teclado (modelo, disposición y velocidad de repetición), los valores por defecto suelen funcionar bien. La opción AutoRepeat le indica a X cuándo empezar a repetir caracteres al mantenerse pulsada una tecla, así como la frecuencia de repetición. Recibe dos valores rodeados por comillas: el tiempo hasta la primera repetición y el tiempo entre las repeticiones subsiguientes, en milisegundos. Las herramientas que ofrecen los entornos de escritorio para ajustar la velocidad de repetición del teclado invalidan las opciones definidas en el fichero.
Definir el ratón
El ratón es un dispositivo habitual que se configura mediante una segunda sección InputDevice:
En XFree86 3.3.6 y anteriores, la sección del ratón se llama Pointer y no InputDevice. La línea Identifier se utiliza en la sección ServerLayout para indicarle a X qué dispositivo de entrada utilizar. La línea Driver identifica el driver a utilizar, las líneas Option definen las opciones de control del ratón, las más importantes son Device y Protocol. Device le indica a X qué fichero de dispositivo leer para acceder al ratón, en este caso, /dev/input/mice, aunque hay otras posibilidades comunes como /dev/mouse (puntero al dispositivo de ratón, sea cual sea su nombre), /dev/psaux (puerto de ratón PS/2), /dev/usb/usbmouse (antiguo identificador para ratones USB), /dev/ttys0 y /dev/ttys1 (para el primer y segundo puerto serie RS-232). La opción Protocol le indica a X qué señales esperar desde el ratón para varios movimientos y pulsaciones de botón. Los más comunes para los ratones actuales son IMPS/2 y ExplorerPS/2 (son muy similares y muchos ratones USB utilizan el protocolo de ratón PS/2 aunque no empleen dicho puerto). El protocolo Auto hace que X intente adivinar el protocolo del ratón, algo que suele funcionar. El resto de opciones son menos críticas, como, por ejemplo Emulation3Buttons, que indica si X debe tratar una pulsación momentánea de los dos botones del ratón como si se tratase de la pulsación del botón intermedio, que suele estar desactivada para ratones de tres botones y los que tienen una rueda. La opción ZAxisMapping asocia las acciones de la rueda de desplazamiento con los botones cuarto y quinto, ya que Xnecesita tratar a esta rueda como si fuese un botón. Cuando nos desplazamos arriba o abajo, generamos pulsaciones de estos botones; el software detecta estas pulsaciones y responde con las acciones necesarias.
Definir el monitor
La sección Monitor, que tiende a ser bastante larga particularmente en XFree86 3.3.6 y anteriores, es uno de los aspectos más complicados de la configuración de X:
#My Custom 1360×1024 mode
Modeline “1360×1024” 197.8 \
1024 1031 1046 1072 -HSync .-VSync
Las opciones Identifier y ModelName pueden ser cualquier cosa que deseemos, se utilizan como ayuda cuando se revisa el fichero de configuración.
Las líneas HorizSync y VertRefresh son totalmente críticas, definen el rango de velocidades de refresco horizontal (kHz) y vertical (Hx), valores que determinan la resolución máxima y la velocidad de refresco del monitor. El elemento HorizSync no determina por sí solo la velocidad máxima de refresco horizontal, sino que este valor, junto con el valor de VertRefresh y la resolución, son quienes determinan la velocidad máxima de refresco. X escoge el máximo soportado por el monitor según la resolución especificada en las demás secciones. Si empleamos las utilidades de configuración, mostrarán una lista de modelos de monitor o combinaciones de resoluciones y velocidades de refresco. Seleccionaremos el adecuado y la utilidad calculará los valores correctos en base a dicha selección. Este método suele ser más sencillo de utilizar, pero es menos preciso que introducir los valores exactos de sincronización horizontal y vertical. Estos valores de refresco no se deben definir al azar ya que pueden dañar el monitor.
Para establecer una resolución, X recorre una serie de líneas de modo, que se especifican mediante la opción ModeLine; calcular estas líneas es complicado. Definen las combinaciones de tiempos horizontales y verticales que pueden producir una resolución y velocidad de refresco dadas. Este ejemplo divide la línea de modo en varias líneas, aunque lo normal es que aparezca como una única línea. Si hay modos de vídeo que quedan fuera de los rangos de un monitor, X puede computar estos casos y descartar los modos de vídeo que no soporta un monitor. Si le pedimos a X que genere una resolución concreta, buscará todas las líneas de modo que realizan esta tarea, descartando aquellas que no sirvan para el monitor, y empleará el resto de la líneas para ofrecer velocidades de refresco lo más altas posibles para la resolución escogida. Si ninguna línea soporta la resolución especificada, X pasará a otra resolución y lo intentará de nuevo.
Este proceso genera un gran número de entradas ModeLine en el fichero XF86Config, para XFree86 3.3.6 y anteriores, donde la mayoría terminan por no utilizarse. Podemos borrar estas líneas, pero no suele valer la pena hacerlo.
XFree86 4.x y X.org-X11 incluyen una característica conocida como DDC (Canal de visualización de datos), un protocolo que permite al monitor indicarle al ordenador sus velocidades máximas de refresco horizontal y vertical y las líneas de modo apropiadas. Los comandos XFree86-configure o Xorg-configure utilizan esta información para generar las líneas de modo, de manera que, en cada reinicio, el sistema puede obtener las velocidades de refresco horizontal y vertical. El resultado final es que se obtiene una sección Monitor considerablemente más corta.
Definir la tarjeta de vídeo
El monitor determina la velocidad máxima de refresco y la resolución máxima que podemos utilizar; X envía la información indirectamente al monitor a través de la tarjeta de vídeo, por lo que es muy importante configurar correctamente este componente ya que de lo contrario puede que sea imposible iniciar X.
XFree86 4.x y X.org-X11 utilizan módulos de driver que están almacenados en ficheros independientes del ejecutable del servidor X principal. El servidor no puede determinar automáticamente qué modulo hace falta; esta información la obtiene de los ficheros XF86Config o xorg.conf, donde indicaremos el módulo del driver en una línea de la sección Device, que tiene la siguiente forma:
Los drivers se encuentran en el directorio /usr/X11/R6/lib/modules/drivers; la mayoría de ficheros de los drivers acaban en _drv.o. El nombre del driver para la sección driver se obtiene eliminando esta parte.
La sección Device del fichero xorg.conf define varias opciones relacionadas con servidores X específicos. Una sección Device típica tendría este aspecto:
La línea Identifier proporciona un nombre que se utiliza en la sección screen para identificar esta sección device particular. Las líneas VendorName y BoardName proporcionan información útil para las personas que leen el fichero. La línea VideoRam suele ser innecesaria, ya que el driver puede detectar la cantidad de RAM instalada en la tarjeta de vídeo. Si tenemos que especificarla a mano, debemos recordar que hay que especificarla en kilobytes. Muchos drivers poseen opciones adicionales específicas que pueden controlar características como los recursos de hardware o cachés.
Definir la resolución y la profundidad de color
La sección Screen informa a X de la combinación de monitores y tarjetas de vídeo que estamos utilizando, tanto XFree86 4.x y X.org-X11 y XFree86 3.3.6 y anteriores pueden definir varios monitores y varias tarjetas de vídeo, pudiendo cambiar entre estos modificando la sección Screen. La sección Screen tiene el siguiente aspecto:
Modes “1024×768” “1024×600” “800×600” “640×480”
Las líneas Device y Monitor hacen referencia a las líneas Identifier de las secciones Device y Monitor. La subvención Display define los modos de vídeo que puede usar X para cada profundidad de color. Estos modos de vídeo son, realmente, nombres que hacen referencia a las líneas de modo definidas en la sección Monitor o a las líneas de modo estándar.
La línea DefaulDepth (DefaultColorDepth en XFree86 3.3.6 y anteriores) permite escoger las subsección Display que se utilizará por defecto. Los modos de vídeo requieren una cierta cantidad de RAM en la tarjeta de vídeo que viene determinada por la siguiente ecuación:
R=xres*yres*bpp/8.388.608
R es la memoria RAM en megabytes, xres es la resolución de “x” en pixeles, yres es la resolución de “y” en pixeles y bpp es la profundidad en bits. Hoy en día, las tarjetas de vídeo tiene al menos 32 MB de RAM, lo que es más que suficiente para gestionar resoluciones muy altas con profundidades de color de 32 bits (la mayor posible). Muchas tarjetas de vídeo antiguas puede que no soporten ciertas resoluciones al no disponer de memoria RAM suficiente. Las tarjetas de vídeo modernas tienen gran cantidad de RAM, por lo que permiten funcionalidades de aceleración 3D. X incluye tales funcionalidades en los paquetes de aceleracion 3D, pero el soporte está limitado en comparación con el soporte básico de vídeo.
XFree68 4.x y X.org.X11 necesitan la sección ServerLayout, que reúne los componentes de configuración de X:
Esta sección identifica una sección Screen y dos secciones InputDevice para teclado y ratón. Admite multi-head displays, que sirve para combinar varios monitores y crear a un escritorio más grande; para ello, la sección ServerLayout incluye varias secciones Screen.
xdpyinfo nos permite conocer las capacidades de visualización. Muestra una copiosa información sobre la visualización actual, el número de versión de X, la resolución y la profundidad de color de todas las visualizaciones. Esta información posee una naturaleza muy técnica. Se puede utilizar la opción -ext extensión, donde extensión es el nombre de una extensión de X, que es un módulo de software que proporciona capacidades ampliadas a X.
El comando xwininfo proporciona información detallada sobre una ventana específica; su uso básico es escribir xwininfo, mover el cursor del ratón sobre una ventana y hacer click. El resultado será una lista de datos sobre la ventana donde hemos hecho click. También podemos utilizar las opciones -id id o -name nombre para especificar la ventana por su ID o nombre, la opción -root permite especificar la ventana raíz, es decir, la visualización completa.
Las fuentes llevan un tiempo siendo un aspecto problemático en X, ya que cuando se crearon las tecnologías disponibles para las fuentes, eran primitivas frente a los estándares actuales. X se ha actualizado de varias maneras para sacar partido de las nuevas tecnologías, aunque es insuficiente si lo comparamos con otros SO. El sistema de fuentes se puede definir desde el fichero de configuración de X o podemos configurar un servidor de fuentes. Hoy en día, Linux configura las fuentes de un modo más independiente de X obteniendo mejores resultados.
Fuentes de mapa de bits: es el tipo más simple de formato y representa las fuentes de modo que los píxeles individuales de un vector pueden estar activos o inactivos. Son bastante fáciles de manipular y visualizar desde el punto de vista de la programación, lo que las hace apropiadas para ordenadores de poca potencia. El problemas es que se debe optimizar cada fuente para mostrarse con una resolución particular. Necesitaremos que varios ficheros muestren una única fuente con varios tamaños, lo que significa que tendremos decenas de ficheros individuales para mostrar una fuente con distintos tamaños y en diferentes dispositivos.
Fuentes escalables: son la mayoría de las fuentes modernas que se distribuyen, representan cada caracter como una serie de líneas y curvas en una matriz de alta resolución. El ordenador puede escalar esta representación a cualquier tamaño o para cualquier resolución, lo que permite que un solo fichero controle todos los usos posibles de la fuente. Su mayor problema es su redimensionado imperfecto; las fuentes escalables suelen verse un poco peor que las de mapa de bits, sobre todo en tamaños pequeños. Además, escalar y mostrar fuentes consume más tiempo de CPU que mostrar un mapa de bits. Hoy en día, con las CPU modernas, esto no resulta un problema.
Ambos tipos de fuentes vienen en varios formatos diferentes. Es poco probable que tengamos que tratar explicitamente con las fuentes de mapa de bits o sus formatos; sin embargo, las fuentes escalables son otra cuestión y sus dos formatos principales son: PostScript Type 1 de Adobe (o Type 1) y TrueType de Apple. Las fuentes disponibles en Internet y en dos CD de fuentes comerciales vienen en uno de estos formatos o en ambos. XFree68 4.x y X.org-X11 incluyen estos dos tipos de fuente, sin embargo, en XFree86 3.3.6 y anteriores sólo se incluyen las fuentes Type 1, no las TrueType, por lo que si queremos utilizar las fuentes TrueType deberemos ayudarnos de un servidor de fuentes.
Las fuentes básicas (CoreFonts) son las que gestiona directamente X; paraconfigurarlas tendremos que preparar un directorio de fuentes que contenga las fuentes y añadirlo a la ruta de fuentes de X.
Preparar un directorio de fuentes
XFree86 guarda las fuentes en subdirectorios de /usr/X11/R6/lib/X11/fonts, pero X.org-X11 las guarda en /usr/share/fonts o /usr/shre/X11/fonts. En cualquiera de los dos casos, si vamos a añadir fuentes descargadas de internet o desde un CD, deberíamos guardarlas en algún sitio como /opt/fonts o/usr/local/fonts, además de crear subdirectorios independientes para las fuentes de distintos formatos o de orígenes diferentes.
Si instalamos fuentes Type1 sólo necesitaremos los archivos de las fuentes con nombres terminados en .pfa o .pfb y nunca los ficheros adicionales que se distribuyen con Type 1. Las fuentes TrueType vienen como ficheros .ttf que es todo lo que necesitamos para Linux. Una vez copiadas las fuentes al directorio, deberemos preparar un fichero de resumen que describa las fuentes llamado fonts.dir; este archivo comienza con una línea que especifica el número de fuentes que se describe. Las siguientes líneas proporcionan el nombre del fichero de la fuente y una descripción lógica de la misma, descripción que tendría el siguiente aspecto:
courb.pfa -ibm-Courier-bold-r-normal–0-0-0-0-m-0-iso8859-1
Afortunadamente, este fichero se puede generar automáticamente con ciertos programas, en XFree 4.3 y posteriores y en X.org-Z11 el modo más sencillo de realizar esta tarea es utilizar mkfontscale y mkfontdir. El programa mkfontscale lee todas las fuentes del directorio actual y crea un fichero fonts.scale que describe sólo fuentes escalables, mientras que el fichero fonts.file describe fuentes de mapa de bits. El programa mkfontdir combina el fichero fonts.scale con el fichero fonts.file creándolo, si no existe ya. Otros programas como ttmkfdir crean un fichero fonts.dir que describe las fuentes TrueType, mientras que type1inst realiza esta tarea para las fuentes Type 1. Lo preferible es usar el programa mkfontscale, ya que gestiona ambos tipos de fuentes; el resto están recomendados para una distribución antigua que no disponga de mkfontscale.
Una vez configuradas las fuentes en un directorio y creado el fichero fonts.dir, tendremos que añadir las fuentes a la ruta de fuentes de X, editando la sección Files del archivo XF86Config o xorg.conf:
Si las líneas FontPath hacen referencia a, por ejemplo, unix:/7100 o unix:/-1 y no listan los directorios convencionales, quiere decir que el sistema está configurado para obtener las fuentes de un servidor de fuentes de X.Si queremos añadir nuevas fuentes, es recomendable modificar la configuración del servidor, aunque podemos añadirlas en los directorios locales y utilizar el servidor a la par que las fuentes locales. Si el servidor X carece de la sección Files, utilizará una ruta de fuentes fija por defecto.
Si queremos añadir un nuevo directorio de fuentes a la ruta de fuentes, duplicaremos una línea FontPath existente y la modificaremos para que apunte a nuestro nuevo directorio. El orden es significativo y si hay dos directorios que contengan fuentes con el mismo nombre, tendrá prioridad la primera que encuentre X cuando revisa los directorios. Si lo que queremos es que nuestras nuevas fuentes invaliden las fuentes existentes, colocaremos el nuevo directorio al principio de la lista; si deseamos darle prioridad a las fuentes existentes, añadiremos este directorio al final. La cadena :unscaled le indica a X que utilice las fuentes de mapa de bits del directorio sólo si coinciden exactamente con el tamaño de fuentes solicitado, por lo que es habitual que los directorios de mapa de bits figuren dos veces en una lista, una al principio (con :unscaled) y otra al final (sin :unscaled), lo que se traduce en una visualización más rápida de las fuentes.
Para probar la configuración de las nuevas fuentes añadidas tendremos que cerrar X y reiniciarlo. Un método más rápido, pero que puede generar algún error, es añadir la ruta de fuentes a un sistema en ejecución utilizando el programa xset:
xset fp+ /su/directorio/de/fuentes
El primer comando añade el directorio de fuentes al final de la ruta de fuentes; si queremos añadir el directorio al inicio de la ruta de fuentes, sustituiremos +fp por fp+. El segundo comando le indica a X que vuelva a examinar todos los directorios de fuentes para volver a crear la lista de fuentes disponibles. Después de esto, deberíamos ser capaces de acceder a las nuevas fuentes. Si un programa está abierto, lo reiniciaremos para que se apliquen los cambios. Si queremos hacer una prueba rápida, utilizaremos xfontsel, que permite escoger y mostrar una fuente básica de X para asegurarse de que la fuente está disponible y que se ve como esperamos.
Antes de XFree86 4.0, algunas distribuciones empezaron a utilizar servidores de fuentes compatibles con TrueType; algunos sistemas siguen utilizando servidores de fuentes pero la mayoría ya no. Los servidores de fuentes son un medio cómodo para distribuir fuentes a varios ordenadores desde una ubicación central, lo que ayuda a ahorrar mucho tiempo: si añadimos fuentes en muchos ordenadores, bastará con configurar el sistema para que utilice el servidor y sólo tendremos que tocar la configuración de fuentes en él.
Para utilizar un servidor de fuentes, lo haremos de la siguiente manera en la ruta de fuentes de X:
FontPath “unix:/7100”
FontPath “tcp/fount.pangaea.edu:7100”
La primera línea de este ejemplo especifica un servidor de fuentes local (también se puede emplear unix:/-1 en vez de unix:/7100). La segunda línea especifica que se esta utilizando el servidor de fuentes del sistema remoto fount.pangaea.edu. Si utilizamos un servidor de fuentes, no tendremos que modificar la configuración de X para añadir o quitar fuentes, pues lo haremos en el servidor. Para añadir fuentes a un servidor instalaremos las fuentes en el sistema como describimos anteriormente; luego modificaremos el fichero /etc/X11/fs/config del servidor y utilizaremos la palabra clave catalogue y no FontPath, como en el fichero de configuración de X. La ruta de fuentes del servidor se crea empleando la palabra clave catalogue con una lista delimitada por comas:
La lista catalogue puede abarcar varias líneas o solo una. En cualquier caso, todas las entradas están separadas por comas, menos la ultima línea, que no lleva. Añadiremos nuestros nuevos directorios de fuentes en cualquier lugar de la lista, guardaremos los cambios y deberemos reiniciar el servidor de fuentes, normalmente, mediante scripts de inicio SysV.:
En el cliente debemos reiniciar X o podemos escribir xset fp rehash para que X vuelva a examinar las rutas de fuentes, incluidas las fuentes del servidor. Hubo una época en la que los servidores de fuentes eran muy importantes; hoy en día, la mayoría de aplicaciones tiene un sistema de fuentes completamente diferente: Xft. Se pueden añadir las mismas fuentes básicas que en X, pero la configuración se realiza de otra manera.
Las fuentes básicas y las distribuidas mediante un servidor de fuentes tienen algunos inconvenientes:
No es fácil la integración entre la visualización por pantalla y la impresión, por lo que son poco adecuadas desde el punto de vista de procesamiento de textos o aplicaciones que generan salida impresa.
Se basan el servidor, por lo que puede que las aplicaciones no sean capaces de acceder directamente a los ficheros de fuentes, pues pueden estar en un ordenador distinto al de la aplicación. Esto agrava el problema de integración con la impresión.
Soporte limitado o nulo al interespaciado (kerning) y otras características tipográficas avanzadas . Supone un problema para procesadores de texto y programas con salida impresa.
No incluyen el suavizado de fuentes (anti–aliasing). Esta tecología utiliza pixeles grises (en vez de negros o blancos) junto con curvas para crear una ilusión de una mayor resolución que la que puede producir la visualización.
Debido a todos estos problemas, los desarrolladores crearon el sistema de fuentes Xft, que está basado en parte en la biblioteca FreeType, una biblioteca de código abierto para renderizar fuentes TrueType y Type1. Xft se basa en el cliente, lo que significa que las aplicaciones acceden a los ficheros de fuentes del ordenador en el que se ejecutan. También admite suavizado de fuentes y otras funcionalidades avanzadas. Xft representa una gran mejora del soporte a las fuentes, sin embargo, ahora Linux tiene dos sistemas de fuentes: las fuentes básicas de X y las fuentes de Xft. Se pueden compartir los mismos directorios de fuentes para los dos sistemas. Si queremos añadir un directorio de fuentes creado a Xft, cargaremos el fichero /etc/fonts/local.conf y buscaremos las líneas que tengan la siguiente forma:
<dir>/directorio/fuentes</dir>
Duplicaremos una de ellas y haremos que apunte al directorio de fuentes que queramos. Si la línea no existe, la crearemos justo antes de la línea </fontconfig>. También deberemos asegurarnos de que no escribimos la nueva ruta dentro de un bloque de comentarios (empieza por <!– y terminan con –>. Si el directorio de fuentes contiene varios subdirectorios, podremos añadir sólo el directorio principal a local.conf.
Una vez realizados todos los cambios, escribiremos fc-cache como root para que Xft recorra sus directorios de fuentes y cree ficheros de índices, que son similares a fonts.dir. Si cometemos un error en este paso, podremos seguir accediendo a las fuentes, pero la lista estará en los ficheros de la cache Xft privada de los usuarios. La generación de estos ficheros lleva algún tiempo, por lo que puede repercutir en el rendimiento. Si queremos probar las fuentes, utilizaremos cualquier programa que funciones con Xft, es decir,la mayoría de programas modernos de Linux basados en X.
← LPIC 101 – Tema 5 – Realizar operaciones de edición básica de ficheros utilizando Vi
LPIC 102 – Tema 6 – Configurar un administrador de visualización →

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución