Capítulo 2.
Configuración de X-Window.
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á:
- Instalación y configuración de X-Window.
- Fichero XF86Config.
- Uso de xvidtune.
- Nuevos proyectos (KDE, GNOME).
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:
- 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.
- 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.
- 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.
- El tipo de monitor o en su defecto la frecuencia de muestreo horizontal
y vertical.
- 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:
- HDisplay VDisplay: Son la resolución actual de la pantalla(la real,
no la virtual).
- HSyncStart HSyncEnd HTotal: Son los parámetros de la frecuencia
horizontal.
- VSyncStart VSyncEnd VTotal: Son los parámetros de la frecuencia
vertical.
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:
- Left Right Wider Narrower: Para mover la pantalla a la izquierda
y derecha, así como para hacerla más ancha o más estrecha.
- Up Down Shorter Taller: Para moverla hacia arriba hacia abajo y
para hacerla más corta o más larga.
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.
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.
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.