Gentoo Logo

Guía de configuración del Servidor X

Contenido:

1.  ¿Qué es el Servidor de Ventanas X?

Entorno Gráfico vs Línea de Órdenes

El usuario medio puede tener miedo al pensar que va a tener que introducir órdenes. ¿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, desde luego ¡será capaz de hacer 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 su 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 su 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 en 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

El proyecto X.org ha ha creado 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 su hardware y el software gráfico que quiera ejecutar. Además, Xorg esta completamente preparado para el trabajo en red, esto significa que es capaz de ejecutar una aplicación en un sistema mientras la esta viendo en otro sistema diferente.

2.  Instalando Xorg

Antes de instalar Xorg, necesitará preparar su sistema para ello. En primer lugar configuraremos el núcleo para que soporte los dispositivos de entrada y tarjetas de vídeo. Entonces prepararemos /etc/portage/make.conf de forma que los drivers y paquetes necesarios de Xorg packages sean construidos e instalados.

Soporte para los controladores de entrada

Por defecto, Xorg usa evdev, un controlador de entrada genérico. Necesitará activar el soporte de evdev cambiando la configuración de su núcleo. (Lea la Guía de Configuración del Núcleo si no sabe cómo configurar su núcleo.

Listado de Código 2.1: Activando evdev en el núcleo

Device Drivers --->
  Input device support --->
  <*>  Event interface

Ajuste de modo en el núcleo

Los controladores de vídeo de código abierto modernos dependen del ajuste de modo del núcleo (kernel modesetting, KMS). KMS ofrece un arranque gráfico mejorado con menor parpadeo, mayor rapidez en el cambio de usuario, una consola framebuffer integrada, mejora en el cambio de la consola a Xorg y otras características. KMS puede tener conflictos con controladores framebuffer originales, los cuales deben permanecer desactivados en la configuración de su núcleo.

En primer lugar, prepare su núcleo para KMS. Necesitará realizar este paso independientemente del controlador de vídeo Xorg que vaya a usar.

Listado de Código 2.2: Configurando los framebuffers

Device Drivers --->
  Graphics support --->
    Support for frame buffer devices --->
    (Desactive todos los controladores, incluyendo VGA, Intel, nVidia y ATI)

    (Más abajo, active el soporte básico para la consola. KMS lo usa)
    Console display driver support --->
      <*>  Framebuffer Console Support

A continuación, configure su núcleo para usar el controlador KMS adecuado a su tarjeta de vídeo. Intel, nVidia y AMD/ATI son las tarjetas más comunes, por lo tanto siga el listado de abajo para su tarjeta.

Para tarjetas Intel:

Listado de Código 2.3: Ajustes para Intel

Device Drivers --->
  Graphics support --->
    /dev/agpgart (AGP Support) --->
    <*>  Intel 440LX/BX/GX, I8xx and E7x05 chipset support
    Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
    <*>  Intel 8xx/9xx/G3x/G4x/HD Graphics
    [*]    Enable modesetting on intel by default

Para tarjetas nVidia:

Listado de Código 2.4: Ajustes para nVidia

Device Drivers --->
  Graphics support --->
    Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
    <*>    Nouveau (nVidia) cards

Para las nuevas tarjetas AMD/ATI (RadeonHD 2000 y posteriores), necesitará hacer emerge de radeon-ucode o linux-firmware. Una vez haya instalado uno de estos paquetes, configure su núcleo tal y como se muestra a continuación:

Listado de Código 2.5: Ajustes para AMD/ATI

(Configure el núcleo para usar el firmware radeon-ucode)
Device Drivers --->
  Generic Driver Options --->
  [*]  Include in-kernel firmware blobs in kernel binary
  # Tarjetas RadeonHD de las series 2000, 3000 y 4000:
  (radeon/R600_rlc.bin radeon/R700_rlc.bin) External firmware blobs
  # Tarjetas RadeonHD 5000, también conocidas como Evergreen:
  (radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin
   radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin
   radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin
   radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin
   radeon/REDWOOD_rlc.bin) External firmware blobs
  # Radeon HD series 6000/7300 Fusion APUs:
  (radeon/PALM_me.bin radeon/PALM_pfp.bin radeon/SUMO2_me.bin
   radeon/SUMO2_pfp.bin radeon/SUMO_me.bin radeon/SUMO_pfp.bin
   radeon/SUMO_rlc.bin) External firmware blobs
  # Radeon HD 6400-7600 también conocidas como Northern Islands:
  (radeon/BARTS_mc.bin radeon/BARTS_me.bin radeon/BARTS_pfp.bin
   radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin
   radeon/CAICOS_pfp.bin CAYMAN_mc.bin
   CAYMAN_me.bin CAYMAN_pfp.bin CAYMAN_rlc.bin radeon/TURKS_mc.bin
   radeon/CAICOS_pfp.bin radeon/CAYMAN_mc.bin radeon/CAYMAN_me.bin
   radeon/CAYMAN_pfp.bin radeon/CAYMAN_rlc.bin radeon/TURKS_mc.bin
   radeon/TURKS_me.bin radeon/TURKS_pfp.bin) External firmware blobs
  # Radeon HD series 7500/7600 Fusion APUs:
  (radeon/ARUBA_me.bin radeon/ARUBA_pfp.bin radeon/ARUBA_rlc.bin)
   External firmware blobs
  # Radeon HD series 7700-7900 también conocidas como Southern Islands:
  (radeon/PITCAIRN_ce.bin radeon/PITCAIRN_mc.bin radeon/PITCAIRN_me.bin
   radeon/PITCAIRN_pfp.bin radeon/PITCAIRN_rlc.bin radeon/TAHITI_ce.bin
   radeon/TAHITI_mc.bin radeon/TAHITI_me.bin radeon/TAHITI_pfp.bin
   radeon/TAHITI_rlc.bin radeon/VERDE_ce.bin radeon/VERDE_mc.bin
   radeon/VERDE_me.bin radeon/VERDE_pfp.bin radeon/VERDE_rlc.bin)
   External firmware blobs
  # todas:
   (/lib/firmware/) Firmware blobs root directory

(Active el soporte KMS para Radeon)
Device Drivers --->
  Graphics support --->
  <*>  Direct Rendering Manager --->
  <*>    ATI Radeon
  [*]      Enable modesetting on radeon by default

Nota: Las tarjetas Radeon antiguas (series X1900 y anteriores) no necesitan el paquete radeon-ucode ni ninguna otra configuración de firmware. Simplemente active el Gestor de Renderizado Directo (Direct Rendering Manager) y el ajuste de modo ATI Radeon (ATI Radeon modesetting).

Ahora que ha realizado la configuración de KMS, continúe con la preparación de /etc/portage/make.conf en la siguiente sección.

Configuración de make.conf

Ahora que su núcleo está preparado, tendrá que configurar dos variables importantes en el fichero /etc/portage/make.conf antes de instalar Xorg.

La primera variable es VIDEO_CARDS. Se usa para establecer los controladores de vídeo que tiene pensado utilizar y normalmente está basado en el tipo de tarjeta que se tiene. Los ajustes más comunes son nouveau para tarjetas nVidia cards o radeon para tarjetas ATI. Ambos están bajo desarrollo muy activo y con muy buen soporte.

Nota: También querrá probar los controladores propietarios de nVidia y AMD/ATI, nvidia y fglrx respectivamente. Sin embargo, configurar estos controladores propietarios está fuera del alcance de esta guía. Por favor, lea la Guía nVidia de Gentoo Linux y las Preguntas de Uso Frecuente (FAQ) de ATI en Gentoo Linux. Si no sabe qué controladores debe usar, lea estas guías para más información.

El controlador intel se puede usar en ordenadores de escritorio o portátiles con chipsets gráficos integrados de Intel comunes.

Nota: VIDEO_CARDS puede contener más de un controlador, cada uno separado por un espacio.

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 evdev debería funcionar correctamente.

Ahora debería decidir qué controladores utilizará y agregar la configuración necesaria al fichero /etc/portage/make.conf:

Listado de Código 2.6: Entradas de ejemplo en make.conf

(Para el soporte del ratón, teclado y touchpad Synaptics)
INPUT_DEVICES="evdev synaptics"
(Para tarjetas nVIDIA)
VIDEO_CARDS="nouveau"
(O para tarjetas AMD/ATI)
VIDEO_CARDS="radeon"

Si las configuraciones mencionadas anteriormente no le funcionan, debería ejecutar emerge -pv xorg-drivers. Compruebe todas las opciones disponibles y elija aquella que se ajuste a su sistema. Este ejemplo es válido para un sistema con un teclado, ratón, touchpad Synaptics y una tarjeta de vídeo Radeon.

Listado de Código 2.7: Mostrar todos los controladores/opciones disponibles

# emerge -pv xorg-drivers

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ]  x11-base/xorg-drivers-1.9  INPUT_DEVICES="evdev synaptics
-acecad -aiptek -elographics% -fpit% -joystick -keyboard -mouse -penmount -tslib
-virtualbox -vmmouse -void -wacom"
VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
(-geode) -glint -i128 (-i740) (-impact) -intel -mach64 -mga -neomagic (-newport)
-nouveau -nv -nvidia -r128 -rendition -s3 -s3virge -savage -siliconmotion -sis
-sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx)
-tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox -vmware (-voodoo) (-xgi)" 0 kB

Una vez establecidas las variables necesarias, ya puede instalar el paquete Xorg.

Listado de Código 2.8: Instalando Xorg

(Asegúrese de que udev está en sus ajustes USE)
# echo "x11-base/xorg-server udev" >> /etc/portage/package.use
(Instale 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, tendrá que reinicializar algunas variables de entorno antes de continuar:

Listado de Código 2.9: Reinicializando las variables de entorno

# env-update
# source /etc/profile

3.  Configurando Xorg

El servidor X están está diseñado para funcionar desde el momento en que es instalado, sin necesidad de editar manualmente los ficheros de configuración de Xorg. Debería detectar y configurar los dispositivos como pantallas, teclados y ratones.

Debe, en primer lugar, intentar arrancar X sin editar ningún fichero de configuración. Si Xorg no arranca o hay algún otro problema, necesitará configurar manualmente Xorg tal y como se muestra en la siguiente sección.

El directorio xorg.conf.d

Nota: Se debe ver la configuración de xorg.conf como un "ultimo recurso". Es realmente deseable trabajar sin ninguna configuración especial si es posible. Si no consigue hacer funcionar su configuración, entonces continúe leyendo.

Los ficheros de configuración de Xorg se almacenan en /etc/X11/xorg.conf.d/. Se asigna un nombre único a cada fichero, y éstos terminan siempre en .conf. Si el nombre de los ficheros comienzan con un número, entonces Xorg leera estos ficheros en orden numérico. El fichero 10-evdev.conf se leerán antes que el fichero 20-synaptics.conf, y así sucesivamente. No necesita darles un número, pero esto ayudará a mantener los ficheros organizados.

Nota: Xorg ofrece configuraciones ejemplo en /usr/share/doc/xorg-server-${version}/xorg.conf.example.bz2. Puede usar estas configuraciones para creas las suyas en /etc/X11/xorg.conf.d/. Los ejemplos ofrecen muchos comentarios, sin embargo, si necesita más documentación acerca de la sintaxis, lea man xorg.conf. Se pueden encontrar otros ejemplos en el capítulo Recursos al final de esta guía.

Ejecutar startx

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:

  • Si existe un archivo de nombre .xinitrc en el directorio hogar, ejecutará las órdenes allí indicadas.
  • De lo contrario, leerá el contenido de la variable de entorno XSESSION y ejecutará una de las sesiones disponibles en /etc/X11/Sessions/. Puede establecer el valor de XSESSION en /etc/env.d/90xsession para que sea el predeterminado para todos los usuarios del sistema. Por ejemplo, como superusuario, ejecute echo XSESSION="Xfce4" > /etc/env.d/90xsession. Esto creará el archivo 90xsession y establecerá la sesión X predeterminada a Xfce. Recuerde ejecutar env-update después de cambiar 90xsession.

Listado de Código 3.1: Iniciando X

$ startx

Si todavía no ha instalado un gestor de ventanas lo que verá es la pantalla en negro. Puesto que éste puede ser también un signo de que algo ha ido mal, puede que quiera instalar twm y xterm solo para probar el servidor X

Una vez que ambos programas estén instalados, ejecute startx de nuevo. Deberían de aparecer algunas ventanas de xterm haciendo que sea más fácil comprobar que el servidor X está funcionando correctamente. Cuando quede satisfecho con los resultados, ejecute emerge --unmerge twm xterm como root para deshacerse de los paquetes de prueba. No los necesitará cuando haya configurado su propio entorno de escritorio.

4.  Retocando los ajustes X

Configurando su resolución

Si nota que la resolución de la pantalla no es correcta, necesitará comprobar dos secciones en su configuración xorg.conf.d. En primer lugar, 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.

Ahora vamos a cambiar la resolución. En el siguiente ejemplo de /etc/X11/xorg.conf.d/40-monitor.conf añadimos la línea PreferredMode de modo que nuestro servidor X comience con una resolución 1440x900 por defecto. La opción Option en la sección Device debe coincidir con el nombre de su monitor (DVI-0), el cual se puede obtener ejecutando xrandr. Necesitará hacer emerge xrandr para obtener esta información. El argumento después del nombre del monitor (en la sección Device) debe coincidir con Identifier en la sección Monitor.

Listado de Código 4.1: Cambiando la sección Monitor

# nano -w /etc/X11/xorg.conf.d/40-monitor.conf

Section "Device"
  Identifier  "RadeonHD 4550"
  Option      "Monitor-DVI-0" "DVI screen"
EndSection
Section "Monitor"
  Identifier  "DVI screen"
  Option      "PreferredMode" "1440x900"
EndSection

Ejecute X (startx) para descubrir si se está utilizando la resolución deseada.

Múltiples monitores

Puede configurar más de un monitor en /etc/X11/xorg.conf.d. Todo lo que necesita hacer es darle a cada monitor un identificador, entonces liste su posición física, tal como, "RightOf" (a la derecha de) o "Above" (encima de) otro monitor. El siguiente ejemplo muestra cómo configurar un monitor DVI y uno VGA, con el monitor VGA monitor como pantalla a la derecha:

Listado de Código 4.2: Configurando múltiples monitores

# nano -w /etc/X11/xorg.conf.d/40-monitor.conf

Section "Device"
  Identifier "RadeonHD 4550"
  Option     "Monitor-DVI-0" "DVI screen"
  Option     "Monitor-VGA-0" "VGA screen"
EndSection
Section "Monitor"
  Identifier "DVI screen"
EndSection
Section "Monitor"
  Identifier "VGA screen"
  Option     "RightOf" "DVI screen"
EndSection

Configurando su teclado

Para configurar un teclado internacional, tendrá que crear el fichero de configuración apropiado en /etc/X11/xorg.conf.d/. Este ejemplo usa una disposición de teclado Checo:

Listado de Código 4.3: Usando un teclado internacional

# nano -w /etc/X11/xorg.conf.d/30-keyboard.conf

Section "InputClass"
        Identifier "keyboard-all"
        Driver "evdev"
        Option "XkbLayout" "us,cz"
        Option "XkbModel" "logitech_g15"
        Option "XkbRules" "xorg"
        Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,grp_led:scroll,compose:rwin,terminate:ctrl_alt_bksp"
        Option "XkbVariant" ",qwerty"
        MatchIsKeyboard "on"
EndSection

La orden "terminate" (terminate:ctrl_alt_bksp) le permite "matar" la sesión X usando la combinación de teclas Ctrl-Alt-Retroceso. Esto, sin embargo, hará que X termine de forma no correcta, algo que no siempre deseará. Puede ser de utilidad cuando los programas congelen su pantalla completamente, o cuando está configurando o ajustando su entorno Xorg. Sea cauto cuando "mate" su escritorio con esta combinación de teclas. La mayoría de los programas no verán bien el hecho de terminar de esta forma, y podría perder algo (o todo) en lo que estuviera trabajando.

Terminando

Ejecute startx y sea feliz con el resultado. Felicidades, ahora (esperemos) tiene Xorg funcionando en su sistema. El siguiente paso es instalar un gestor de ventanas con mayores funcionalidades o un entorno de escritorio como pueda ser KDE, GNOME o Xfce, pero esto ya no forma parte de esta guía. Se puede encontrar información sobre cómo instalar estos entornos de escritorio en nuestros Recursos de Documentación de Gentoo .

5.  Recursos

Creando y editando los ficheros de configuración

En primer lugar, man xorg.conf y man evdev proporcionan una rápida y completa referencia sobre la sintaxis utilizada por el archivo de configuración. ¡Asegúrese de tenerlos abiertos en un terminal cuando edite el archivo de configuración!.

Hay también muchos recursos en línea sobre edición de los ficheros de configuración de /etc/X11. Nosotros solamente listamos aquí unos pocos, asegúrese de buscar en Google para encontrar más.

Otros 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.9 desde una versión anterior, no deje de consultar la guía de migración.

X.org ofrece muchos FAQs en su sitio web además de su documentación.



Imprimir

Página actualizada 24 de julio, 2012

Sumario: Xorg es el servidor de ventanas X que permite a los usuarios disponer de un entorno gráfico a su alcance inmediato. Está guía de configuración explica qué es Xorg, cómo instalarlo y cuáles son las distintas opciones de configuración.

Sven Vermeulen
Autor

Joshua Saddler
Autor

John Christian Stoddart
Traductor

José Luis Rivero
Traductor

Enrique Barbeito García
Traductor

José María Alonso
Traductor

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.