Siempre he querido disponer de dos monitores para trabajar. En uno puedo poner una presentación y en el otro un documento de texto explicando la presentación. O bien, en uno puedo poner un debugger y en el otro el código fuente al completo. O la bandeja de entrada del correo al completo en el de la izquierda y el mensaje concreto en el de la derecha. Etc, etc. ¿Cómo se consigue esto en Linux?
No es difícil, en resumidas cuentas hay que definir la resolución de los dos monitores e indicar que NO se quiere clonar (lo que se vea en una pantalla que se vea también en la otra) sino que se quiere tratar los dos monitores (la pantalla del propio portátil y el monitor Benq) como si fuera un único gran monitor (para esto, se activa la opción xinerama). Finalmente, hay que indicar cuál de los monitores se encuentra a la izquierda y cuál a la derecha. Fin.
Dos detalles: mi tarjeta gráfica es una iNTEL 945 integrada. El driver que tenía por defecto en /etc/X11/xorg.conf era «intel»; sin embargo, he tenido que cambiarlo por i810 (el driver intel se colgaba la intentar activar xinerama). También he tenido que desactivar los efectos Compiz-Fusion. Con ellos, tampoco he conseguido que funcione xinerama.
Sin más, os dejo con una copia del fichero de configuración /etc/X11/xorg.conf :
Section "Files"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
#
Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "vbe"
EndSection
#
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection
#
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection
#
Section "InputDevice"
Driver "wacom"
Identifier "stylus"
Option "Device" "/dev/input/wacom"
Option "Type" "stylus"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
#
Section "InputDevice"
Driver "wacom"
Identifier "eraser"
Option "Device" "/dev/input/wacom"
Option "Type" "eraser"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
#
Section "InputDevice"
Driver "wacom"
Identifier "cursor"
Option "Device" "/dev/input/wacom"
Option "Type" "cursor"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
#
Section "Device"
Identifier "0 Intel 945GM"
Driver "i810"
BusID "PCI:0:2:0"
Screen 0
Option "MonitorLayout" "CRT,LFP"
Option "DRI" "false"
EndSection
#
Section "Device"
Identifier "1 Intel 945GM"
Driver "i810"
BusID "PCI:0:2:0"
Screen 1
Option "MonitorLayout" "CRT,LFP"
Option "DRI" "true"
EndSection
#
Section "Monitor"
Identifier "0 Dell Monitor"
Option "DPMS"
Option "DPMS"
EndSection
#
Section "Monitor"
Identifier "1 Benq Monitor"
HorizSync 30 - 83
VertRefresh 56 - 76
Option "DPMS"
Modeline "1280x1024@60" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
EndSection
#
Section "Screen"
Identifier "0 Screen"
Device "0 Intel 945GM"
Monitor "0 Dell Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x800"
EndSubSection
EndSection
#
Section "Screen"
Identifier "1 Screen"
Device "1 Intel 945GM"
Monitor "1 Benq Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024@60"
EndSubSection
EndSection
#
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "0 Screen"
Screen 1 "1 Screen" LeftOf "0 Screen"
Option "Xinerama" "on"
Option "Clone" "off"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "stylus" "SendCoreEvents"
InputDevice "cursor" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
InputDevice "Synaptics Touchpad"
EndSection
#
Section "DRI"
Mode 0666
EndSection
Xinerama no está ni será soportado por el controlador «intel», porque técnicamente no es posible. O tienes XRANDR 1.2 o tienes Xinerama, pero no ambas.
La gracia de Xinerama, es que tienes 2 veces el panel, 2 veces el escritorio dibujado por Nautilus; aunque independientes entre sí. Pero también requiere el doble de memoria para estas aplicaciones.
Si quieres tener 2 monitores utilizando el controladores intel, entonces debes sacar dicha configuración de xorg.conf y utilizar xrandr. Pero sólo podrás tener un escritorio extendido y el panel de GNOME no siempre va a funcionar como esperas.
El modo Xinerama, sin embargo, dejará en evidencia otros problemas; como el molesto comportamiento de Firefox.