Instalación y configuración del servidor X en Debian

Inicio
Última actualización: 16 de diciembre, 2008

Tabla de Contenido

Introducción

X.Org 1 es una implementación libre del sistema gráfico de ventanas X que surgió como una bifurcación de XFree86 después de un cambio de licencia que muchos consideran incompatible con la Licencia Pública General (GPL). X.Org ha sido adoptada por la mayoría de las distribuciones GNU de Linux.

Chipset y dispositivo

El primer paso es determinar el chipset de la tarjeta gráfica y el dispositivo que la soporta. Corre en un terminal el comando lspci y busca las palabras "VGA compatible controller:". La información que sigue normalmente identifica a lo menos la marca de la tarjeta gráfica y posiblemente el dispositivo que necesitas. Por ejemplo,

$ lspci
01:03.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)

La primera columna arroja los números del bus PCI al cual la tarjeta está conectada con el formato <bus>:<slot>:<func>.

Corre,

$ lspci -n -s bb:ss.f

e identifica con los números del bus PCI el vendor y device ID de la tarjeta. Por ejemplo,

$ lspci
01:03.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)

$ lspci -n -s 01:03.0
01:03.0 0300: 1002:515e (rev 02)

El vendor y device ID tiene el formato vvvv:dddd en números hexadecimales, En éste caso el vendor y device ID de la tarjeta es 1002:515e. Con esta información busca en la lista de tarjetas gráficas  2 el dispositivo que necesitas usar. En este caso el dispositivo es radeon.

También necesitas saber las frecuencias de barrido horizontal y vertical del monitor. Los barridos suelen encontrarse en la sección especificaciones del manual del monitor. Estos datos son muy importantes y valores erróneos pueden causar un mal funcionamiento y hasta daños al monitor.

Instalación de X.Org

Ingresa a root, por ejemplo, corriendo un "Terminal de <Root>" en el menú "Aplicaciones/Accesorios" o, en el mismo menú, un "Terminal" y luego el comando su (super user).

Instala el paquete xorg con,

# apt-get install xorg

Este es un meta paquete que, usando el sistema de dependencias, instala un conjunto de paquetes X11, como el servidor X.Org, un conjunto de tipos de letras y herramientas básicas.

A continuación explicaremos paso a paso la configuración del paquete xserver-xorg hecha por debconf. Si te equivocas en algo, cancela con <ctrl>-<c> y vuelve a reconfigurar con,

# dpkg-reconfigure xserver-xorg

Dispositivo X

Escoge de la lista el dispositivo que mejor vaya con la tarjeta gráfica, según la identificación del chipset que hiciste al inicio. Por ejemplo,

    ati

Dale un nombre, por ejemplo, el por omisión,

    Generic Video Card

Da la identificación de la tarjeta en el bus PCI, por ejemplo,

    PCI:1:0:0

Casi siempre lo autodetecta. Deja en blanco la cantidad de memoria para que el servidor lo auto detecte. Escoge no usar el dispositivo "framebuffer" del núcleo.

Teclado

Escoge no auto detectar el teclado. Escoge el lenguaje del teclado ('us' por omisión, 'es' para Castellano). Escoge las reglas del teclado 'xorg' (por omisión). Escoge el tipo de teclado ('pc104' por omisión). Otras opciones son pc101, pc102, pc105. Estos dos últimos son para teclados europeos. Deja la variante y opciones del teclado en blanco.

Ratón

Escoge la unidad del dispositivo del ratón, por ejemplo,

    /dev/input/mice

Si el ratón está conectado a una puerta de comunicación serial, /dev/ttyS0 corresponde a la puerta COM1, /dev/ttyS1 a la puerta COM2, etc. La unidad /dev/psaux es para ratones PS/2 y /dev/input/mice para ratones USB.

Escoge el protocolo del ratón, por ejemplo,

    ImPS/2

Escoge emular un ratón con tres botones.

Módulos

Escoge los módulos por omisión.

Ruta de archivos

Escoge la configuración por omisión de la sección "Files".

Monitor

Escoge auto detectar el monitor. Dale un nombre, por ejemplo, el por omisión,

    Generic Monitor

Escoge con la tecla del espacio las resoluciones que soporta la tarjeta gráfica y el monitor, típicamente 1280x1024 o 1024x768. Escoge el modo avanzado de caracterizar el monitor. Da el rango de frecuencias del barrido horizontal, luego el vertical. Estos valores o rangos suelen encontrarse en la sección especificaciones del manual del monitor. Si no conoces esta información, es preferible dar un rango grande, por ejemplo, 28-100 para el barrido horizontal y 40-100 para el vertical. Escoge la profundidad de color, típicamente 24 bits.  

Configuración de X

El archivo /etc/X11/xorg.conf contiene la configuración de X.Org y está dividido en secciones:

Files          # Ruta de los archivos
Module         # Módulos dinámicos
InputDevice    # Descripción de los dispositivos periféricos
Device         # Descripción de los dispositivos gráficos
Monitor        # Descripción del Monitor
Screen         # Configuración de la pantalla
ServerLayout   # Esquema global
DRI            # Configuración específica a DRI

Cada sección empieza con la instrucción Section seguido del nombre de la sección entre comillas y termina con EndSection. Existen comandos específicos a cada sección. Iremos paso a paso, no necesariamente en el orden del archivo, describiendo las secciones y explicando el significado de cada comando, para que modifiques la configuración con algún editor de texto (por ejemplo nano) con los parámetros pertinentes al hardware.

Para hacer efectivo cambios a /etc/X11/xorg.conf debes reiniciar el Display Manager con,

# /etc/init.d/gdm restart

Sección "Device"

Esta sección es la que define y configura el dispositivo de la tarjeta grádica.

Section "Device"
    Identifier  "Generic Video Card"
    Driver      "sis"
    BusID       "PCI:1:0:0"
EndSection

La entrada Identifier es simplemente un nombre para identificar la sección.

La entrada Driver especifica el dispositivo. En este ejemplo el dispositivo sis soporta muchas variedades de tarjetas gráficas con el chipset SiS. Otros dispositivos comunes son: cirrus, ati, r128 (ATI Rage 128), radeon (ATI Radeon), s3virge, savage, trident, tseng. Usa el método descrito al inicio para determinar el dispositivo.

La entrada BusID identifica la tarjeta gráfica en el bus PCI, que puedes determinar con lspci.

Sección "Monitor"

Esta sección define el monitor.

Section "Monitor"
    Identifier  "Generic Monitor"
    Option      "DPMS"
    HorizSync   28-100
    VertRefresh 40-100
EndSection

La entrada Identifier es similar a la de la sección "Device". Pueden existir varias secciones "Monitor" en el archivo, cada una con diferente identificación. Esto es conveniente si, por ejemplo, tienes varios monitores, digamos uno en tu casa y otro en tu lugar de trabajo. Así puedes fácilmente definir una configuración para cuando el computador está en casa o en tu trabajo. Cómo ésto funciona en la práctica quedará claro más adelante.

La entrada HorizSync especifica la frecuencia de barrido horizontal del monitor en unidades de kHz. Puede ser una frecuencia fija, [31.5], múltiples frecuencias fijas, [31.5,35.2], un rango, [30-64], o rangos, [15-25,30-64]. La entrada VertRefresh especifica los intervalos verticales de refresco en unidades de Hz y los valores tienen el mismo formato de HorizSync.

Sección "Screen"

Esta sección es la que va definir la pantalla, combinando la configuración del dispositivo y monitor.

Section "Screen"
    Identifier  "Default Screan"
    Device      "Generic Video Card"
    Monitor     "Generic Monitor"
    DefaultDepth 24
    Subsection "Display"
        Depth       1
        Modes       "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
        Depth       4
        Modes       "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
        Depth       8
        Modes       "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
        Depth       15
        Modes       "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
        Depth       16 
        Modes       "1024x768" "800x600" 
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1024x768" 
    EndSubsection
EndSection

Nota que las entradas Device y Monitor tienen el mismo valor que la entrada Identifier de las secciones "Device" y "Monitor". De esta manera se entrelazan las configuraciones de las diferentes secciones.

La entrada DefaultDepth especifica la profundidad de color por omisión, en este ejemplo, 24 bits. Pueden haber varias subsecciones "Display". La entrada Depth especifica la profundidad de color de la subsección. Valores posibles son 8 (256 colores), 16 (64K colores) y 24 bits. Así, la entrada DefaultDepth va a especificar la subsección "Display" por omisión.

La entrada Modes especifica las resoluciones. Puede especificarse una resolución ["640x480"] o un listado de ellas ["1600x1200" "1280x960" "1152x864" "1024x768" "800x600" "640x480"]. Normalmente se usa la primera en la lista, si está soportada, si no, la siguiente, y así.

En general, mientras mayor la profundidad de color, menor la resolución máxima posible. Disminuye la profundidad de color si para cierta resolución soportada la imagen de la pantalla es mala, o mantiene la profundidad disminuyendo la resolución.

Sección "InputDevice"

Esta es la sección que configura las periferias como el teclado, ratón, mousepad, touchscreen, etc. Los más comunes son el teclado y el ratón, obviamente, cada una por separado.

Configuración del teclado:

Section "InputDevice"
    Identifier  "Generic Keyboard"
    Driver      "kbd" 
    Option      "CoreKeyboard"
    Option      "XkbRules"       "xorg"
    Option      "XkbModel"       "pc105"
    Option      "XkbLayout"      "es"
EndSection

Todos los teclados tienen un dispositivo en común llamado kbd. La entrada Option "CoreKeyboard" indica que el teclado definido por la sección es el teclado principal. La entrada Option "XkbModel" especifica el tipo de teclado. Los valores más comunes son "pc101", "pc102", "pc104", "pc105" o "microsoft" para el teclado Microsoft Natural. La entrada Option "XkbLayout" define el lenguaje del teclado; "es" para un teclado en Castellano, "us" para un teclado en Inglés.

Configuración del ratón:

Section "InputDevice"
      Identifier  "Configured Mouse"
      Driver      "mouse"
      Option      "CorePointer"
      Option      "Device"           "/dev/input/mice"
      Option      "Protocol"         "ImPS/2"
      Option      "Emulate3Buttons"  "true"
      Option      "Buttons"          "5"
      Option      "ZAxisMapping"     "4 5"
EndSection

El dispositivo común mouse soporta cuatro tipos de ratones: serial, Bus, PS/2 y USB. En el primer ejemplo se configura un ratón USB IntelliMouse (con rueda).

La entrada Option "CorePointer" indica que el ratón definido por la sección es el ratón principal.

La entrada Option "Device" especifica el dispositivo de la unidad del ratón. Ejemplos son /dev/ttyS0 (serial), /dev/psaux (PS/2) y /dev/input/mice (USB). En general existe el link simbólico /dev/mouse que apunta a éste dispositivo.

La entrada Option "Protocol" define el tipo de ratón. Otros protocolos son:

  "MouseMan"
  "Mousesystems"
  "IntelliMouse"
  "ExplorerPS/2"
  "ThinkingMouse"
  "ThinkingMousePS/2"
  "NetScrollPS/2"
  "NetMousePS/2"
  "GlidePoint"
  "GlidePointPS/2"
  "MouseManPlusPS/2"

Los ratones seriales antiguos de dos o tres botones están normalmente soportados por el protocolo "Microsoft" o "MouseMan". Los ratones seriales con rueda los soporta el protocolo "IntelliMouse" y los PS/2 "ImPS/2". El protocolo "auto" a veces ayuda si es que el hardware es capaz de detectar automáticamente el ratón.

La entrada Option "Emulate3Buttons" emula al botón del medio oprimiendo simultáneamente los botones izquierdo y derecho. Puede usarse también en ratones con tres botones.

Sección "ServerLayout"

Esta sección es la que junta la pantalla con la unidades periféricas.

Section "ServerLayout"
    Identifier  "Default Layout"
    Screen      "Default Screen"
    InputDevice "Generic Keyboard"
    InputDevice "Configured Mouse"
EndSection

Nota en particular cómo ésta sección combina todo mediante las identificaciones de cada sección definidas por Identifier.

Sección "DRI"

Algunas tarjetas modernas incorporan Direct Rendering Infrastructure (DRI). Para usarlo debes cargar los módulos "glx" y "dri" en la sección "Modules".

La sección DRI por omisión es,

Section "DRI"
    Mode    0666
EndSection

Algunas tarjetas que no soportan DRI pueden colgar X.

Sección "Files"

Esta sección define la ruta de archivos necesarios para X. En particular, define la ruta de los tipos de letras en las entradas "FontPath".

Copyright © 2002-2008 Ricardo Yanez

  [1] - http://wiki.x.org/wiki
  [2] - http://www.calel.org/pci-devices/xorg-device-list.html

This document was generated using AFT v5.096