Aula Macedonia


Curso de Introducción y Uso del Linux


Artículo realizado por
Pedro A. Carrasco.





Capítulo 2.
Configuración de X-Window.

2.1 Introducción.

En este segundo capítulo del curso de introducción a Linux trataremos el entorno gráfico más popular dentro del mundo Linux: las X-Window (o X pero nunca X-Windows), de momento aún está sujeto a la licencia GPL, aunque sus creadores anuncian que la próxima versión no será así, pero no hay que preocuparnos, parece que el proyecto Berlín anda ya cerca y parece ser que podrá sustituir de manera más eficiente a X, ahora volviendo al tema de este segundo capítulo veamos los apartados de que constará:

  1. Instalación y configuración de X-Window.
  2. Fichero XF86Config.
  3. Uso de xvidtune.
  4. Nuevos proyectos (KDE, GNOME).

2.2 Instalación y configuración de X-Window.

La configuración del servidor X ha sido considerada algo complicada siempre por los usuarios noveles en este sistema operativo, en este capítulo veremos que no es así , lo primero que tenemos que tener a mano es las especificaciones de nuestro monitor, la frecuencia de muestreo horizontal y la frecuencia de muestreo vertical, debemos saber el modelo de nuestra tarjeta gráfica o por lo menos con cuál es compatible y la cantidad de memoria gráfica que tenemos, el tipo de teclado que tenemos (101 ó 102 teclas) y el ratón, sobre todo si no es estándar. Bien, con todos esto datos en la mano pasamos a hablar de la configuración:

En primer lugar debemos saber dónde se encuentra el fichero de configuración de X, en todas las distribuciones que conozco, este se halla en /etc/X11/ con el nombre XF86Config. Una vez localizado dicho fichero tenemos dos opciones, o editarlo a mano, o dejar que algún programa más amigable lo haga por nosotros, yo siempre opto por la segunda opción que "rellena" bastante bien el fichero XF86Config y posteriormente realizar los cambios necesarios a mano. Para ello podemos utilizar varios programas, estos son:

Xconfigurator.

Este programa es el que utiliza por defecto la distribución Red Hat, es en modo texto pero con menús, por lo que es muy fácil de utilizar. Por una serie de cuadros de diálogo te va guiando por la configuración.


Xf86config.

Es el básico en cualquier distribución, funciona en modo texto también pero sin menús, toda la configuración se realiza por una serie de preguntas. Para usuarios noveles puede ser bastante complicado de utilizar, pero pregunta de todo, sin intentar autodetectar nada, puede ser útil para tarjetas gráficas no estándar.


XF86Setup.

Es en modo gráfico, por lo que si lo ejecutas ya tendrás las X aunque en VGA. Es muy sencillo de utilizar e intuitivo, viene en algunas distribuciones, aunque no en todas.

En general todos piden lo mismo, esto es:

  1. El tipo de ratón, es conveniente si tienes un ratón normal activar la emulación de tres botones, así al pulsar los dos botones a la vez será como si hubieses pulsado el central.
  2. El tipo de teclado, 101 ó 102 teclas, el idioma (español en nuestro caso) y si quieres o no activar las teclas muertas (Dead Keys), en general es conveniente activar esta opción.
  3. El tipo de tarjeta gráfica, si sabes el modelo mejor, ya que muestra una lista con los modelos que conoce. Si no necesitarás saber el chipset y dotclock si lo tiene.
  4. El tipo de monitor o en su defecto la frecuencia de muestreo horizontal y vertical.
  5. Los modos de vídeo que quieres ejecutar y la densidad del color (bits por pixel).

Una vez configurado con el programa en cuestión quizás queramos modificar algo de nuestra configuración, como el modo en el que arrancará, la profundidad de color etc. Para poder hacerlo necesitamos saber la estructura del fichero XF86Config que a continuación se detalla:

Fichero XF86Config.

El fichero XF86Config cuenta con varios campos configurables, estos se definen por las etiquetas Section - EndSection, dentro de estas etiquetas puede haber subsecciones (Subsection - EndSubsection). Empezaremos por el principio:

Lo primero que nos encontramos es la sección de ficheros, en ella se indica dónde se encuentran los ficheros de fuentes y la base de datos de colores RGB. La opción por defecto estará bien. Esta sección es del tipo:

Section Files
RgbPath /usr/X11R6/lib/X11/rgb
FontPath /usr/X11R6/lib/X11/fonts/misc/
FontPath /usr/X11R6/lib/X11/fonts/Type1/
FontPath /usr/X11R6/lib/X11/fonts/Speedo/
FontPath /usr/X11R6/lib/X11/fonts/75dpi/
FontPath /usr/X11R6/lib/X11/fonts/100dpi/
EndSection

Otra sección muy importante y que quizás tengas que modificar es la del teclado, como ejemplo veamos la de mi XF86Config:

Section Keyboard
Protocol Standard
AutoRepeat 500 5
XkbKeycodes xfree86
XkbTypes default
XkbCompat default
XkbSymbols us(pc101)
XkbGeometry pc
XkbRules xfree86
XkbModel pc101
XkbLayout es
EndSection

Como vemos, el protocolo que utilizamos es el estándar, el parámetro autorepeat define la espera y tasa de repetición al mantener pulsada una tecla, los códigos, tipo, compatibilidad, símbolos, geometría y normas (rules) son los que tengo por defecto para mi teclado, el modelo de 101 teclas es el que tiene la tecla de borrar grande (el que la tiene pequeña es el modelo de 102 teclas), y el Layout lo ponemos es (español) si nuestro teclado es español.

La sección del ratón indica al servidor el tipo de ratón y otros parámetros importantes, como ejemplo:

Section Pointer
Protocol Microsoft
Device /dev/mouse
Emulate3Buttons
Emulate3Timeout 50
EndSection

El parámetro Emulate3Timeout es el tiempo de espera entre la pulsación de un botón y sin soltarlo la pulsación del otro botón del ratón para tomar esta pulsación como tercer botón, la emulación de tres botones se hace definiendo la pulsación de los dos botones (izquierdo y derecho) a la vez como la pulsación del tercer botón del ratón.

La sección que más quebraderos de cabeza suele dar es la del monitor, aquí se definirán los distintos parámetros que puede tomar, pero el ajuste se explica más abajo con el uso de xvidtune:

 
Section Monitor
Identifier Generic Multisync
VendorName Unknown
ModelName Unknown
HorizSync 30-50
VertRefresh 50-100
Modeline 800x600 50 800 856 976 1040 600 637 643 666 +hsync +vsync
Modeline 1024x768 85 1024 1032 1152 1360 768 784 787 823
Modeline 1280x1024 135 1280 1312 1416 1664 1024 1027 1030 1064
EndSection

Como vemos tenemos las frecuencias de refresco horizontal y vertical de nuestro monitor y tras estas los ``Modelines'', estos últimos son los que tomaremos de momento por defecto y en el siguiente apartado los retocaremos con xvidtune.

Ahora viene la sección que se encarga de la tarjeta gráfica, en ella le damos las especificaciones de la tarjeta que tenemos, si es una tarjeta que detecta el servidor (la mia es S3 Trio 64) se nos puede quedar algo tan sencillo como esto:

Section Device 
Identifier "Graficox"
VendorName S3
BoardName Trio 64V+
VideoRam 2048
EndSection

Por supuesto lo que viene entre comillas es cosa mía, puede ser que necesites darle el tipo de Ramdac y el Chipset, siempre que el servidor X no te lo reconozca en el arranque, pero en la mayoría de los casos se resume a lo anterior.

Ahora viene la última sección donde le especificamos al servidor que monitor y qué tarjeta debe arrancar, por supuesto secciones de monitor y tarjeta gráfica puede haber más de una, el servidor no tiene porque arrancarse siempre con el mismo monitor y tarjeta gráfica y eso Linux lo tiene en cuenta. La última sección quedaría:

Section Screen
Driver accel 
Device Graficox
Monitor Generic Multisync
DefaultColorDepth 16
Subsection Display Depth 16
Modes 800x600 1024x768
ViewPort 0 0
Virtual 1024 768 
EndSubsection
EndSection

Como vemos en la sección de la pantalla decimos cuál es el driver de la tarjeta gráfica, si nuestra tarjeta es una VGA usaremos el VGA2 o VGA16, si es SVGA normal usaremos SVGA, si es un portátil o la tarjeta es monocromo usaremos el driver Mono, si nuestra tarjeta está contemplada en el fichero AccelCards contenido en el directorio de documentación de X (/usr/X11R6/lib/X11/doc), usaremos el driver accel. El identificador Device tendrá el nombre de la tarjeta que le hemos puesto en la sección Device, y el identificador Monitor tendrá el nombre del monitor. DefaultColorDepth define la profundidad de color por defecto (siempre que tu tarjeta gráfica la soporte, lo que depende de la memoria que tengas instalada en ella). Luego aparecen subsecciones con el identificador de una profundidad de color (yo por ejemplo sólo utilizo la de profundidad 16bits, Depth 16), dentro de estas secciones aparecen los modos de resolución para cada sección. Tras los modos podemos poner el ViewPort que es la coordenada donde empieza la pantalla(coordenada superior izquierda) inicial, la etiqueta Virtual define el tamaño virtual de la pantalla, por ejemplo si estamos en 800x600 y tenemos Virtual como 800x600, al mover el ratón a los límites de la pantalla esta no se ``moverá''.

Por supuesto existen otros parámetros, aquí se ha visto como archivo de ejemplo el que yo utilizo, ya simplificado. Para saber más podéis mirar la página del manual con man XF86Config o leer la documentación en /usr/X11R6/lib/X11/doc.

Ajuste con xvidtune.

Una vez que conocemos la forma de editar el XF86Config veamos como podemos adaptar los parámetros del monitor, para ello utilizaremos el programa xvidtune, para ejecutarlo:

localhost % xvidtune

Al ejecutar xvidtune nos saldrá una pantalla con los siguientes parámetros:

Estos parámetros no pueden ser cambiados, así como los valores de Pixel Clock (MHz), Horizontal Sync (KHz) y Vertical Sync (Hz). Para poderlos cambiar tenemos que 'jugar' con el tamaño visible que queramos, para ello tenemos los siguientes botones:

Más abajo tenemos Quit para quitar, Apply para aplicar los cambios que hallamos hecho si no hemos pulsado antes Auto que los aplica automáticamente, Test se encarga de hacer un test del modo actual y Restore restaura a los valores que tengas por defecto en XF86Config.

Y bajo estos tenemos otra barra de botones con: Fetch que recoge los valores actuales del servidor (por ejemplo si has cambiado algo, estás probando con otros parámetros y quieres volver a cargar los anteriores). Show visualiza los valores corrientes en la salida estándar, normalmente la terminal, de manera que los puedas copiar tal cual a las líneas Modeline correspondientes. Next y Prev cambian al siguiente y anterior modo de vídeo respectivamente.

Con algunas tarjetas gráficas pueden aparecer más opciones que están documentadas en la página del manual de xvidtune.

Una vez que tenemos los parámetros copiados para los modos que tenemos en el fichero XF86Config, tenemos que copiarlos en dicho fichero en la sección Monitor cambiando los valores de cada Modeline por los que hemos obtenido con xvidtune. Por ejemplo:

Supongamos que para 800x600 tenemos...
Modeline 800x600 45 800 856 976 1000 400 637 643 666
...y con xvidtune hemos obtenido:
800x600 50 800 856 976 1040 600 637 643 666 +hsync +vsync
...simplemente cambiamos el valor que teníamos por el que 
hemos obtenido,quedando:
Modeline 800x600 50 800 856 976 1040 600 637 643 666 +hsync +vsync

Con esto ya deberíamos tener el servidor X configurado correctamente, pero como los PC's pueden tener varias configuraciones distintas de hardware quizás no te funcionen correctamente, si es tu caso tendrás que consultar la documentación existente, también como siempre puedes consultar tu duda conmigo e intentaré resolverla, para ello escribe a pecapon@alumni.uv.es, indicando tu problema y tu configuración de hardware (por lo menos monitor y tarjeta gráfica). También existen grupos de noticias que quizás te puedan ayudar, el más famoso en Español es es.comp.os.linux.

2.3 Gestores de ventanas.

Como decía al principio el servidor X sólo proporciona un entorno gráfico, no dibuja las ventanas ni las decoraciones, eso es cosa del gestor de ventanas, este es un cliente que mediante el servidor se encarga de hacerlo más asequible al usuario, dándole los bordes y botones a las ventanas y produciendo los mecanismos necesarios para poder actuar con el entorno X.

Existen varios gestores de ventanas, entre ellos:

AfterStep:

Es un clónico de NextStep, tiene una barra de iconos llamada Wharf en la que podemos poner los programas que más utilicemos para acceder rápidamente a ellos, así como el asload para saber en todo momento la carga del sistema u otros módulos, en las últimas versiones ofrece gran cantidad de opciones de configuración.

Fvwm (y fvwm-95):

Es un gestor muy común ya que viene con todas las distribuciones, el fvwm-95 tiene un look similar al del W95, con una barra de tareas y el menú de inicio.

Enlightenment:

Es espectacular en cuanto a las decoraciones de las ventanas, aunque su configuración puede resultar algo compleja.

En cuanto a los nuevos escritorios tenemos:

KDE:

K-desktop enviroment es el más famoso, tiene total integración con Internet, pudiendo navegar por nuestro disco duro como si de Internet se tratase (¿a qué me suena eso?). Tiene multitud de aplicaciones propias que tienen como nota predominante su look común.

GNOME:

Está en una fase de desarrollo, promete lo mismo que KDE pero utiliza las librerías GTK al contrario que KDE que utiliza QT que no son exactamente de libre distribución.

Con esto se pretende familiarizar al lector con lo que viene, no enseñarle a configurarlos, ya que necesitaría un capítulo para cada uno, existe mucha y muy variada configuración y por supuesto las listas de correo y los grupos de noticias, como por ejemplo es.comp.os.linux.

2.4 Conclusión.

Espero que con este capítulo hallas podido configurar el entorno X, pero como no todas las máquinas son iguales puede ser que te encuentres con problemas, como siempre, mira la documentación, las páginas del manual, pregunta, etc.

El próximo artículo tratará sobre la configuración e instalación de un kernel a tu medida, la famosa compilación del kernel, si hay alguna duda sobre el curso o sugerencia podéis mandarla a pecapon@alumni.uv.es, intentaré contestarlas todas. Un saludo y hasta la próxima entrega.




AULA MACEDONIA
a
MACEDONIA Magazine