1. ¿Qué es el Servidor de Ventanas X?
Entorno Gráfico vs Línea de Comandos
La usuario medio puede tener miedo al pensar que va a tener que introducir comandos. ¿Por qué no iba a ser capaz de comenzar su camino a través de la libertad que proporciona Gentoo (y Linux en general)? Bien, *gran sonrisa*, por supuesto que eres capaz de esto :-) Linux ofrece una amplia variedad de llamativos interfaces de usuarios y entornos los cuales pueden ser instalados sobre su instalación actual.
Esta es una de las mayores sorpresas que se llevan los nuevos usuarios: un interfaz gráfico de usuario no es nada más que una aplicación ejecutándose sobre tu sistema. No es parte del núcleo de Linux o de nada interno al sistema. Es una potente herramienta que activa completamente las habilidades gráficas de tu sistema.
Puesto que los estándares son importantes, un estándar para dibujar y mover ventanas en una pantalla, interactuando con el usuario a través del ratón, el teclado y otros aspectos básicos también importantes han sido creados y denominados Sistema de Ventanas X (X Window System), abreviado normalmente como X11 o solamente X. Es utilizado en Unix, Linux y Sistemas operativos basados en Unix a lo largo de todo el mundo.
La aplicación que proporciona a los usuarios de Linux la posibilidad de ejecutar interfaces gráficos de usuario y que utiliza el estándar X11 es Xorg-X11, una bifurcación del proyecto XFree86. XFree86 ha decidido utilizar una licencia que puede no ser compatible con la licencia GPL, por tanto, se recomienda el empleo de Xorg. El árbol oficial de Portage no proporcionará el paquete de XFree86 nunca más.
El proyecto X.org creó y mantiene una implementación de código abierto, libre y redistribuible del sistema X11. Es una infraestructura de escritorio basada en X11 de código abierto.
Xorg proporciona una interfaz entre tu hardware y el software gráfico que quieras ejecutar. Además, Xorg esta completamente preparado para el trabajo en red, esto significa que usted es capaz de ejecutar una aplicación en un sistema mientras la esta viendo en otro sistema diferente.
Antes de instalar Xorg hay que configurar dos importantes variables en el fichero /etc/make.conf.
La primera de ellas es VIDEO_CARDS. Se usa para establecer los controladores de vídeo que tiene pensado utilizar. Su configuración normalmente se basa en el tipo y marca de la tarjeta que tenga. Las configuraciones más comunes son nvidia para tarjetas nVIDIA y fglrx para tarjetas ATI Radeon. Estos son los controladores propietarios de nVIDIA y ATI, respectivamente. Si le gustaría emplear las versiones de código abierto, utilice nv en vez de nvidia para configurar la variable pero tenga en cuenta que el uso de este controlador implica no disponer de una aceleración 3D completa. Los controladores libres radeon y radeonhd soportan aceleración 3D en las tarjetas Radeon más antiguas pero para las más nuevas todavía no funcionan del todo. VIDEO_CARDS puede contener más de un controlador; en este caso, cada uno de ellos debe estar separado con espacios.
La segunda variable es INPUT_DEVICES y se utiliza para determinar qué controladores han de ser creados para los dispositivos de entrada. En la mayoría de los casos, con configurarla con keyboard mouse debería funcionar correctamente.
Ahora debería decidir qué controladores utilizará y agregar la configuración necesaria al fichero /etc/make.conf:
Listado de Código 2.1: Entradas de ejemplo en make.conf |
(Para el soporte de ratón y teclado) INPUT_DEVICES="keyboard mouse" (Para tarjetas nVIDIA) VIDEO_CARDS="nvidia" (O para tarjetas ATI Radeon) VIDEO_CARDS="fglrx" |
Puede encontrar más instrucciones de cómo configurar tarjetas nVIDIA y ATI en la Guía nVidia Gentoo Linux y en el PUF (Preguntas de Uso Frecuente/FAQ) de ATI en Gentoo Linux. Si no sabe qué controladores debe escoger, diríjase a estas guías para más información.
Nota: Si las configuraciones mencionadas anteriormente no le funcionan, debería ejecutar emerge -pv xorg-server. Compruebe todas las opciones disponibles y elija aquella que se ajuste a su sistema. El ejemplo es válido para la arquitectura amd64 y xorg-server-1.2. |
Listado de Código 2.2: Mostrar todos los controladores/opciones disponibles |
# emerge -pv xorg-server
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] x11-base/xorg-server-1.2.0-r3 USE="dri nptl xorg (-3dfx) -debug
-dmx -ipv6 -kdrive -minimal -sdl -xprint" INPUT_DEVICES="keyboard mouse -acecad
-aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 -elographics -evdev
-fpit -hyperpen -jamstudio -joystick -magellan -microtouch -mutouch -palmax
-penmount -spaceorb -summa -synaptics -tek4957 -ur98 -vmmouse -void -wacom"
VIDEO_CARDS="nvidia -apm -ark -chips -cirrus -cyrix -dummy -epson -fbdev -fglrx
-glint -i128 (-i740) -i810 (-impact) (-imstt) -mach64 -mga -neomagic (-newport)
(-nsc) -nv -r128 -radeon -rendition -s3 -s3virge -savage -siliconmotion -sis
-sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx)
-tdfx -tga -trident -tseng -v4l -vesa -vga -via -vmware -voodoo" 0 kB
|
Una vez establecidas las variables necesarias, ya puede instalar el paquete Xorg.
Listado de Código 2.3: Instalando Xorg |
# emerge xorg-server
|
Nota: Podría instalar el meta-paquete xorg-x11 en vez del de menor tamaño xorg-server. En cuanto a funcionalidad, xorg-x11 y xorg-server son idénticos. De todos modos, xorg-x11 trae muchos más paquetes de los que probablemente vaya a necesitar, como por ejemplo una gran variedad de fuentes en distintos idiomas. No son necesarias para un entorno de escritorio corriente. |
Cuando la instalación haya finalizado, quizá necesite reinicializar algunas variables de entorno antes de continuar. Simplemente ejecute env-update seguido de source /etc/profile y ya está configurado.
Listado de Código 2.4: Reinicializando las variables de entorno |
# env-update # source /etc/profile |
El archivo de configuración de Xorg se llama xorg.conf y se encuentra en /etc/X11. Xorg proporciona un ejemplo de configuración en /etc/X11/xorg.conf.example el cual puede utilizarse para crear su propia configuración. Está muy comentado, pero si necesita más información respecto a la sintaxis, no dude en leer la página del manual (man).
Listado de Código 3.1: Leyendo la página del manual sobre xorg.conf |
# man 5 xorg.conf
|
Feliz lectura para aquellos que lo vayan a hacer. Estamos seguros de que no será así, con lo cual seguiremos con la explicación sobre como podemos crear el archivo automáticamente.
Manera predeterminada: Generación automática de xorg.conf
El propio Xorg es capaz de adivinar la mayoría de parámetros. En la mayoría de los casos, sólo necesitara cambiar algunas líneas para conseguir la resolución que quiere y marchando. Si está interesado en un mayor conocimiento, asegúrese de consultar los recursos que se encuentran al final de este capítulo. Pero primero, permítanos generar un (esperemos que funcione) archivo de configuración Xorg.
Listado de Código 3.2: Generando un archivo xorg.conf |
# Xorg -configure
|
Asegúrese de leer las últimas lineas que aparecen en su pantalla cuando Xorg ha terminado de probar su hardware. Si le informa de que ha fallado en algún punto, forzosamente tendrá que editar manualmente el archivo xorg.conf. Asumiremos que no ha fallado, le debería informar que ha generado /root/xorg.conf.new listo para que lo pruebe. Entonces, vamos a probarlo :)
Listado de Código 3.3: Probando el archivo xorg.conf.new |
# X -config /root/xorg.conf.new
|
Si todo va bien, debería ver un patrón de trama sencillo blanco y negro. Verifique si el ratón funciona correctamente y si la resolución se ve bien. Si obtuvo errores en "/dev/mouse" pruebe a cambiar su dispositivo de ratón por /dev/input/mice en la sección "InputDevice" de xorg.conf. Tal vez no pueda deducir la resolución exacta, pero al menos podrá ver si ésta es muy baja. Puede salir cuando quiera, pulsando Ctrl-Alt-Backspace.
Alternativa: Generación Semi-Automática de xorg.conf
Xorg proporciona una herramienta llamada xorgconfig la cual le preguntará por información relativa a su sistema (tarjeta gráfica, teclado, ...). Basándose en los datos que ha suministrado, creará un archivo xorg.conf.
Listado de Código 3.4: Generación semi-automática de xorg.conf |
# xorgconfig
|
Otra herramienta, también proporcionada por Xorg, es xorgcfg, el cual primero intenta ejecutar Xorg -configure y arrancar el servidor X para las pruebas finales.
Listado de Código 3.5: Using xorgcfg |
# xorgcfg (En caso de que fallen las X o la configuración, pruebe:) # xorgcfg -textmode |
Ahora, copiemos xorg.conf.new a /etc/X11/xorg.conf para que no tengamos que ejecutar contínuamente X -config -- el escribir solamente X o startx es mucho más fácil :)
Listado de Código 3.6: Copiando xorg.conf |
# cp /root/xorg.conf.new /etc/X11/xorg.conf
|
Ahora intente startx para iniciar su servidor X. startx es un guión que ejecuta una sesión X, en otras palabras, inicia el servidor X y algunas aplicaciones gráficas. Decide qué aplicaciones debe correr mediante la siguiente lógica:
Listado de Código 3.7: Iniciando X |
# startx
|
Si ve un feo, odioso, repulsivo y deformado gestor de ventanas, ese es twm. Para terminar la sesión twm, escriba exit o Ctrl-D en los xterms disponibles. También puede matar la sesión X usando la combinación de teclas Ctrl-Alt-Backspace. Esto obligará una salida algo vergonzosa -- tal vez algo que no siempre quiera hacer, pero que, sin embargo, no duele :)
4. Ajustando el archivo xorg.conf
Si nota que la resolución de la pantalla no es correcta, necesitará comprobar dos secciones en su configuración. Primero de todo, tiene la sección Screen la cual tiene una lista de resoluciones, si existe, que su servidor X puede soportar. De forma predeterminada, esta sección no contiene ninguna lista de resoluciones. Si es este el caso, Xorg estima las resoluciones basándose en la información de la segunda sección, Monitor.
Lo que sucede es lo siguiente: Xorg comprueba la configuración de HorizSync y VertRefresh en la sección Monitor para calcular las resoluciones válidas. Por ahora, deje estas configuraciones como están. Solamente cuando los cambios en la sección Screen (serán descritos en un minuto) no funcionen, entonces necesitará revisar las especificaciones de su monitor y rellenar con los valores corrector. Además, también puede utilizar una herramienta que encuentra las especificaciones de su monitor, llamada sys-apps/ddcxinfo-knoppix.
Aviso: No cambie los valores de estas dos variable relacionadas con el monitor sin haber consultado las especificaciones técnicas de su monitor. Una configuración incorrecta conduce a errores de falta de sincronización en el mejor de los casos y ha quemar pantallas en el peor. |
Ahora vamos a cambiar las resoluciones. En el siguiente ejemplo desde /etc/X11/xorg.conf añadimos líneas de resolución (Modes) y la profundidad predeterminada (DefaultDepth ) para que su servidor de X comience con 24 bits y 1024x768. No importan los textos entrecomillados -- son ejemplos y la mayoría serán diferentes de las configuraciones de su sistema.
Listado de Código 4.1: Modificar la sección Screen en /etc/X11/xorg.conf |
Section "Screen" Identifier "Default Screen" Device "S3 Inc. ProSavage KN133 [Twister K]" Monitor "Generic Monitor" DefaultDepth 24 # Omitimos parte del texto para mejorar la legibilidad SubSection "Display" Depth 24 Modes "1024x768" EndSubSection EndSection |
Ejecute X (startx) para descubrir si utiliza la resolución que quiere.
Para configurar X para que utilice un teclado internacional, buscamos la sección InputDevice que establece los parámetros del teclado y añadimos la opción XkbLayout para que apunte a la disposición de teclado que quiera. Como ejemplo, mostramos cómo aplicar la disposición de teclado en español. (Si quiere el teclado en otro idioma, sustituya el código de letras del país por el suyo).
Listado de Código 4.2: Modificar la disposición del teclado |
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
EndSection
|
Si su ratón no funciona, primero necesitará encontrar si está detectado por el kernel. Los ratones están recogidos en /dev/input/mouse0 (o /dev/input/mice si quiere utilizar varios ratones). En algunos casos se usa /dev/psaux. En cualquier caso puede comprobar los dispositivos que representan su ratón revisando la salida de estos archivos cuando mueva el ratón. Probablemente verá algo de basura en su pantalla. Para terminar la sesión presione Ctrl-C.
Listado de Código 4.3: Comprobando los archivos de dispositivo |
# cat /dev/input/mouse0 (No olvide presionar Ctrl-C para concluir) |
Si su ratón no es detectado, compruebe que todos los módulos necesarios están cargados.
Si su ratón es detectado, rellene con el dispositivo en la sección InputDevice apropiada. En el siguiente ejemplo verá que también podemos configurar otras dos opciones: Protocol (la cual muestra el protocolo a emplear - la mayoría de los usuarios utilizarán PS/2 o IMPS/2) y ZAxisMapping (la cual permite que se utilice la rueda del ratón (si es posible).
Listado de Código 4.4: Modificar las configuraciones del ratón en Xorg |
Section "InputDevice" Identifier "TouchPad Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mouse0" Option "Protocol" "IMPS/2" Option "ZAxisMapping" "4 5" EndSection |
Ejecute startx y sea feliz con el resultado. Felicidades, ahora (esperemos) tiene Xorg funcionando en su sistema. El siguiente paso es desinstalar este horrible y ligero gestor de ventanas y utilizar uno con mayores funcionalidades (o incluso un entorno de escritorio) como pueda ser KDE o GNOME, pero eso ya no forma parte de esta guía :)
Primero de todo, man xorg.conf proporciona una rápida y completa referencia sobre la sintaxis utilizada por el archivo de configuración. Asegúrese de tenerlo abierto en un terminal cerca cuando edite el archivo de configuración.
Asegúrese también de mirar el fichero /etc/X11/xorg.conf.example. Le puede interesar copiarlo y utilizarlo como base para escribir su propio fichero xorg.conf.
Puede examinar las FAQ de X.org que se proporcionan en su sitio web, además del resto de documentación.
Hay también muchos recursos en línea sobre edición de xorg.conf. Nosotros solamente listamos aquí unos pocos, asegúrese de buscar en Google para encontrar más :) Comoxorg.conf y XF86Config (el archivo de configuración del proyecto XFree86) utilizan la misma sintaxis para la mayoría de opciones de configuración y hay más información disponible sobre XF86Config, incluiremos también esos recursos.
Puede encontrar más información sobre cómo instalar y configurar distintos entornos de escritorio y aplicaciones gráficas en la sección de Recursos de Documentación de Gentoo de nuestra documentación.
Si está actualizando a xorg-server-1.5 desde una versión anterior, no deje de consultar la guía de migración.
El contenido de este documento está registrado bajo los términos de la licencia Creative Commons - Reconocimiento / Compartir Igual