miércoles, 30 de septiembre de 2015

Usar una segunda pantalla en i3 wm

VGA
Si eres programador sabrás lo útil que es utilizar una segunda pantalla para trabajar. Todos los sistemas operativos son capaces de gestionar y configurar esta característica fácilmente. Pero si utilizas un window manager como i3 también sabrás que no existe un interfaz gráfico para configurarlo y hay que usar el terminal. Vamos a ver cómo configurarlo utilizando como ejemplo una conexión por VGA.
Lo primero que tenemos que hacer es conectar la segunda pantalla (monitor) a nuestro pc y a continuación ejecutar en el terminal ésto:

xrandr

Con ello veremos los monitores conectados a nuestro PC. La salida en mi caso fue la siguiente:
Screen 0: minimum 8 x 8, current 2560 x 1024, maximum 32767 x 32767
LVDS1 connected primary 1280x800+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1280x800      59.94*+
   1024x768      60.00  
   800x600       60.32    56.25  
   640x480       59.94  
   640x400       60.00  
VGA1 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024     60.02*+  75.02  
   1152x864      75.00  
   1024x768      75.08    75.03    60.00  
   832x624       74.55  
   800x600       75.00    60.32  
   640x480       75.00    60.00  
   720x400       70.08  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

De modo que deberemos ejecutar lo siguiente desde el terminal para que funcionen ambos monitores:
xrandr --output LVDS1 --mode 1280x800; xrandr --output VGA1 --mode 1280x1024 --right-of LVDS1

Lo que se hace es definir el mode o resolución de cada monitor y además, señalamos que el segundo monitor (VGA1) lo queremos poner a la derecha del principal (LVDS1). En base a la instrucción anterior podemos crear un script, que llevará el siguiente código:
#!/bin/bash
IN="LVDS1"
EXT="VGA1"
if (xrandr | grep "$EXT disconnected")
then
    xrandr --output $IN --auto --output $EXT --off
else
    xrandr --output $IN --auto --primary --output $EXT --auto --right-of $IN
fi

Aquí comprobamos si el segundo monitor está conectado o no. Si no está conectado, lo deshabilitamos. Si está conectado, lo ponemos a la derecha del principal, como hicimos anteriormente. Además, utilizamos –auto para que se configure el mode de forma automática.
Si queremos que el script se ejecute cada vez que iniciemos sesión en el window manager i3, solamente tenemos que añadir la siguiente línea al final del archivo config que se encuentra en la carpeta .i3 (normalmente ~/.i3) y que se encargará de llamar al script que hemos creado.
exec --no-startup-id ~/ruta_script/nombre_script.sh

Espero que os haya sido útil. Si tenéis alguna duda, podéis utilizar los comentarios.


Fuentes

https://wiki.archlinux.org/index.php/Xrandr
http://www.x.org/archive/X11R7.5/doc/man/man1/xrandr.1.html




Sea el primero en comentar

Publicar un comentario

Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO