Tanto si tienes una tarjeta de vídeo con dos salidas (VGA o DVI) como si añades a tu PC con tarjeta AGP una vieja PCI, puedes ampliar las capacidades extensión de tu estritorio añadiendo un monitor (o tantos como salidas de ). La utilidad es infinita: si eres programador puedes depurar el código línea a línea en una pantalla mientras ves cómo se dibuja tu programa en la otra; si eres diseñador podrás ver en tiempo real los resultados de la renderización; un administrador de sistemas puede monitorizar varias máquinas remotas en monitores adicionales(...) Xinerama es una extensión del sistema X Window que te permitirá hacer esto.
Manos a la obra. Utiliza tu editor favorito para modificar el fichero /etc/X11/xorg.conf como root.
sudo gedit /etc/X11/xorg.conf
o
sudo nano /etc/X11/xorg.conf
ATENCIÓN: Es imprescindible hacer una copia de seguridad de xorg.conf antes de empezar. Luego no digais que no avisé.
En mi caso tengo una ATI Radeon 9200 pinchada en el bus AGP con una salida VGA y otra DVI con dos monitores un SONY SDM-S95A y un BENQ T905. Los pasos que he seguido son los siguientes:
Activar
XineramaSection "ServerFlags"
Option "Xinerama"
EndSection
Un Device es una tarjeta de vídeo o una de sus salidas. Las líneas en negrita son las que he modificado.
Section "Device"
Identifier "DVIport"
BoardName "ATI Technologies, Inc. RV280 [Radeon 9200 SE]"
Driver "fglrx"
BusID "PCI:1:0:0"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Screen 0
EndSection
Section "Device"
Identifier "VGAport"
BoardName "ATI Technologies, Inc. RV280 [Radeon 9200 SE]"
Driver "fglrx"
BusID "PCI:1:0:0"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Screen 1
EndSection
Ahora definimos los monitores. Es necesaria una sección por cada monitor conectado al equipo.
Section "Monitor"
Identifier "SDM-S95A/E"
VendorName "SONY"
Option "DPMS"
EndSection
Section "Monitor"
Identifier "BENQ-T905"
VendorName "BENQ"
ModelName "BENQ T905"
HorizSync 30-80
VertRefresh 59-75
Option "DPMS"
EndSection
En terminología de las X, una
screen es una combinación de un
device y un
monitor. Así que nos montamos un par de ellas.
Section "Screen"
Identifier "LeftScreen"
Device "VGAport"
Monitor "SDM-S95A/E"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
EndSection
Section "Screen"
Identifier "RightScreen"
Device "DVIport"
Monitor "BENQ-T905"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
EndSection
Por fin reunimos las dos pantallas y colocamos una a la derecha de la otra
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "LeftScreen"
Screen 1 "RightScreen" RightOf "LeftScreen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "stylus" "SendCoreEvents"
InputDevice "cursor" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
EndSection
Para probar los resultados es necesario reinciar el entorno X Window, un
Ctrl + Alt + BackSpace seguido de un
startxSi algo va mal, siempre podeis restaurar la copia de seguridad del fichero xorg.conf (la hicisteis ¿no?) o echar un vistazo al log /var/log/Xorg.0.log
¡Ahora tengo cuatro escritorios virtuales de 2560*1024!

El guión principal lo saqué del HACK #50 "Connect Multiple Displays" del libro
Ubuntu HacksAgradecimiento especial a los foros
de www.galpon.org