xrandr

xrandr es la interfase primitiva en línea de comandos para la extensión RandR.

Puertos de video disponibles

Para determinar cuáles son los puertos de video disponibles en el computador se tiene la opción <tt>-q</tt>, que muestra el estado actual del sistema. Muestra el listado de puertos, su estado (conectado/desconectado), las posibilidades de orientación y las opciones de resolución que el dispositivo conectado (si está conectado) a cada puerto soporta.

$ xrandr -q
Screen 0: minimum 320 x 200, current 800 x 600, maximum 1280 x 1280
VGA1 connected (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0  
   800x600        60.3* 
   640x480        59.9  
LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis)
   1280x800       60.0 +
   1024x768       60.0  
   800x600        60.3  
   640x480        59.9  
TV1 disconnected (normal left inverted right x axis y axis)

Lo anterior muestra la información del LCD propio del portátil (LVDS), del puerto externo VGA y del puerto TV (S-Video) que el servidor X conoce. Se despliega información sobre el puerto VGA debido a que en el momento tenía conectado un dispositivo a tal puerto y la información del LVDS porque es la pantalla propia de mi portátil. En la información del LVDS aparece 1280x800+0+0, lo que indica que ese puerto está activo con una resolución de 1280x800 y 0 en el desplazamiento horizontal y vertical. La ausencia de dicha información en el puerto VGA indica que hay un dispositivo conectado, pero no está activo.<br />

Activar un Puerto

Para activar un puerto de video utilizando el comando xrandr se utilizan las opciónes --output y --mode>, la primera permite elegir la salida (puerto) a configurar y la segunda el modo (resolución) para operar. Se debe tener cuidado de asignar un modo que el dispositivo soporte, es decir de los listados por el comando xrandr -q. Así, por ejemplo para activar el puerto VGA en la máxima resolución utilizo el comando siguiente:<br />

$ xrandr --output VGA --mode 1024x768

En general la sintaxis del comando es:

$ xrandr --output <puerto> --mode <resolución>

Una forma más sencilla de ejecutar operación anterior se puede lograr utilizando la configuración automática del puerto, que utiliza la máxima resolución permitida por el dispositivo conectado, para usarlo sólo se reemplaza la opción --mode por la opción --auto y se omite la resolución. .En principio, eso sería suficiente para activar cualquier puerto de video de un computador con Fedora (Linux). También es importante saber como desactivarlo, para ello se utiliza la siguiente instrucción:

$ xrandr --output <puerto> --off

Lo descrito cubre el uso básico del comando para activar una pantalla externa. Sin embargo, con algunos Televisores o Proyectores que tratan de configurarse automáticamente el resultado obtenido puede no ser el más apropiado, para corregir esto, el usuario puede utilizar la opción --size. Esta opción ejecuta una especie de recarga en el puerto, para acomodar el escritorio al tamaño apropiado de pantalla. La opción --size, cuenta con tantas opciones como resoluciones soporte el dispositivo. Es decir, para el ejemplo del puerto VGA anterior, --size tiene las opciones (0, 1, 2), cada una asociada a una resolución de trabajo soportada; donde 0 es la más alta y 2 la más baja. Si el dispositivo soporta más modos, por ejemplo el LVDS del ejemplo anterior, --size tiene las opciones (0, 1, 2, 3). Para utilizar dicha opción debe asegurarse de seleccionar el puerto apropiadamente y luego utilizar la opción.

$ xrandr --output <puerto>
$ xrandr --size <opción>

mi-xrandr y mi-xrandr-alreves

Aquí va mi par de schell scripts para configurar dos monitores (pantallas) desde la línea de comandos, ajuste las resoluciones como corresponda.

~/bin/mi-xrandr

xrandr --output VGA1 --mode 1280x1024
xrandr --output LVDS1 --mode 1280x800
xrandr --output VGA1 --left-of LVDS1

~/bin/mi-xrandr-alreves

xrandr --output VGA1 --mode 1024x768
xrandr --output LVDS1 --mode 1280x800
xrandr --output VGA1 --right-of LVDS1