2 monitores en el mismo equipo (escritorio extendido – “Twin View”) con xrandr

Desde hace ya bastante tiempo, posiblemente ya un par de años, trabajo siempre con dos monitores. En su momento expliqué las ventajas que tenía el trabajar con doble monitor y como se debía configurar si utilizábamos Windows o Linux.

Desde hace ya tres meses me instalé en mi portátil openSuse 11.2 con KDE 4.3 en un estado de desarrollo, pero quería probarlo porque había leído mucho, y bueno sobre ello. Bien pues desde hace tres meses no había conseguido poner mi pantalla externa. El problema era que al actualizar KDE y el kernel, también actualicé el Xorg, y el xorg que yo tenía preparado para funcionar con “Twin View, dejó de funcionar”. Por tanto, ya no podía disfrutar de mi querido monitor de 22” conectado a mi portátil de 15.4”.

Ayer, después de estos tres meses de ajetreo y mudanzas para Ejea de los Caballeros y ahora de nuevo a Funes, conseguí añadir mi monitor utilizando el fabuloso xrandr. Hice varias pruebas y al final me preparé el script (con ayuda de CRySoL) que os añado a continuación:

Lo primero ejecutamos xrandr y nos muestra los monitores que se han detectado y las resoluciones asociadas a cada uno de ellos. Si la resolución que deseamos existe podemos pasar al último paso directamente. Pero en mi caso, la resolución es un poco peculiar y no existe, así que hay que crear un nuevo modo para mi monitor con una resolución de 1680×1050 y una frecuencia de 60Hz (obviamente cada uno pone la resolución de su monitor). Para poder obtener generar este nuevo modo, debemos obtener los parámetros de configuración del monitor de la siguiente forma:

portatil: # gtf 1680 1050 60
 
  # 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
  Modeline "1680x1050_60.00"  147.14  1680 1784 1968 2256  1050 1051 1054 1087  -HSync +Vsync

A continuación creamos el nuevo modo según la información que hemos obtenido:

portatil: # xrandr --newmode 1680x1050 147.14  1680 1784 1968 2256  1050 1051 1054 1087  -HSync +Vsync

Añadimos el modo que hemos creado asociándolo al monitor externo, en este caso VGA-0:

portatil: # xrandr --addmode VGA-0 1680x1050

Indicamos la configuración y los modos para cada uno de los monitores. En este caso indicamos que el monitor externo se encuentra a la derecha del portátil (right-of), pero también se puede poner a la izquierda (left-of):

portatil: # xrandr --output LVDS --mode 1280x800 --output VGA-0 --mode 1680x1050 --right-of LVDS

Y una vez que tenemos todo y vemos que funciona como esperábamos, lo ponemos todo en un script que se ejecuta al inicio de KDE:

#!/bin/bash
xrandr --newmode 1680x1050 147.14  1680 1784 1968 2256  1050 1051 1054 1087  -HSync +Vsync
xrandr --addmode VGA-0 1680x1050
xrandr --output LVDS --mode 1280x800 --output VGA-0 --mode 1680x1050 --right-of LVDS

De esta forma cada vez que se inicia KDE se autoconfigura el monitor externo y puedo disfrutar del trabajo con dos monitores.

ACTUALIZACIÓN 12 DE NOVIEMBRE:
He necesitado hacer una mejora puesto que el script que preparé si no tenía conectado el otro monitor da problemas al ejecutarse con el inicio de KDE.
Así pues he hecho una chapucilla de esas que tanto me gustan y queda como sigue:

#!/bin/bash
monitor=`xrandr | grep "VGA-0 disconnected"`
echo $monitor
if [ "$monitor" != "VGA-0 disconnected (normal left inverted right x axis y axis)" ]; then
  xrandr --newmode 1680x1050 147.14  1680 1784 1968 2256  1050 1051 1054 1087  -HSync +Vsync
  xrandr --addmode VGA-0 1680x1050
  xrandr --output LVDS --mode 1280x800 --output VGA-0 --mode 1680x1050 --right-of LVDS
fi

Leave a Reply