Usar iPad o tableta Android como monitor adicional en Linux

En Windows y Mac resulta muy sencillo utilizar un iPad o cualquier tableta Android como monitor adicional: basta con instalar el programa Air Display. Es una forma genial de aprovechar la tableta y permite seguir usándola muchos tiempo después de que se haya quedado obsoleta.

Por desgracia esta aplicación no funciona con Linux, pero podemos conseguir casi lo mismo de otra manera: utilizando VNC. Para ello seguiremos estos pasos:

– Instalamos los paquetes necesarios

sudo apt-get install vnc4server xvnc4viewer x2x

– A continuación arrancamos el servidor VNC, indicando que la pantalla que genere debe ser de 1024×768 píxeles (la resolución de la tableta que tengamos).

vncserver -geometry 1024x768 -alwaysshared :1

Para detenerlo el comando sería este:

vncserver -kill :1

– Acto seguido editamos el fichero xstartup que está en la carpeta .vnc de nuestro usuario. Aquí podremos especificar qué programas se iniciarán al crear el servidor VNC. Un ejemplo puede ser este:

#!/bin/sh

export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

xsetroot -solid grey

gnome-panel &
gnome-settings-daemon &
metacity &

– Una vez hecho esto, y tras haber instalado en la tableta un programa visor de VNC, nos conectamos a la IP local de nuestro ordenador especificando como puerto el 5901 (ya que al crear el servidor VNC le hemos pasado como identificador :1).

Y…¡ya está! Ya tenemos en la tableta una sesión gráfica en nuestro ordenador, en la que podremos abrir programas y hacer lo que queramos.

Bueno, no está del todo. La única forma de controlar esa sesión es tocando la tableta, y lo más cómodo sería poder usar el teclado y el ratón del ordenador. Para eso simplemente ejecutamos este comando:

x2x -east -to :1

El parámetro -east indica que el cursor pasará a la sesión VNC cuando nos salgamos de nuestra pantalla por la derecha (útil si colocamos la tableta a la derecha de nuestro monitor). Si queremos colocarla a la izquierda usaremos el parámetro -west.

Con este sistema podemos abrir tantas sesiones como queramos. Como prueba aquí podéis ver mi ordenador con el monitor principal, el monitor secundario (arriba a la izquierda), un iPad (abajo a la izquierda) y una tableta Samsung (abajo en el centro).

IMG_20150123_173416

 

Hay dos cosas a tener en cuenta:

– No podremos enviar ventanas de nuestro monitor principal a la tableta. Este es el mayor inconveniente, y aunque creo que hay forma de hacerlo utilizando un programa llamado xpra y he estado investigando un rato no he encontrado cómo hacerlo funcionar. Personalmente no me preocupa mucho, mi idea es usar la tableta para hacer debug con Maurina o para tener abiertas ventanas con phpmyadmin o similares, por lo que no necesito andar moviendo ventanas de un monitor a otro.

– Hay un bug que hace que al pulsar las teclas s y d en la sesión de VNC se abra el menú de aplicaciones o se muestre el escritorio. Para corregir esto basta con ejecutar el programa dconf-editor,  abrir la clave org\gnome\desktop\wm\keybindings y hacer estos cambios:

  • En la entrada panel-main-menu eliminar <Super>S.
  • En la entrada show-desktop eliminar <Super>D.
  • En la entrada switch-applications eliminar <Super>Tab.

Si la siguiente vez que accedamos a la sesión de VNC no se han conservado estos cambios, editamos el fichero .gconf/apps/metacity/global_keybindings/%gconf.xml y le ponemos este contenido:

<?xml version="1.0"?>
<gconf>
	<entry name="show-desktop" mtime="1422027140" type="string">
		<stringvalue></stringvalue>
	</entry>
	<entry name="panel-main-menu" mtime="1422027140" type="string">
		<stringvalue></stringvalue>
	</entry>
</gconf>

Actualización para Linux Mint 17 con Cinnamon: para conseguir el entorno en Linux Mint 17 con Cinnamon este es el fichero xstartup que uso:

#!/bin/sh

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
sh /etc/X11/xinit/xinitrc

xrdb $HOME/.Xresources
export XKL_XMODMAP_DISABLE=1
exec startxfce

Otra cosa interesante es que si intentamos ejecutar Google Chrome en la pantalla del iPad la ventana se abre en la ventana principal. Para eso la solución es crear un fichero de arranque con permisos ejecutables (por ejemplo /usr/bin/xchrome) con este contenido:

#!/bin/sh
exec /opt/google/chrome/chrome --disable-webgl --enable-greasemonkey --enable-user-scripts --enable-extensions --user-data-dir=~/.config/google-chrome/1 "$@"

Si ejecutamos este comando en la pantalla del iPad Chrome se nos abre allí, aunque tarda bastante en arrancar.

11 thoughts on “Usar iPad o tableta Android como monitor adicional en Linux”

    1. Jajajajajaja ¡es verdad! Pues ha sido casualidad, porque tengo el fondo de pantalla en modo aleatorio.

    1. Hola Walter, este proceso que describo es para usar la tableta como monitor secundario, necesitas tener un monitor principal para ejecutar esos comandos y poder lanzar el servidor de VNC. Puede que haya una forma de usar la tableta como monitor principal, pero no sabría decirte cómo, lo siento.

  1. Tengo problema! no se quiere conectar el celular a la pc y coloco la ip local y se queda cargando y no se conecta, cual es el problema?

  2. Hola. Gracias por el tutorial!
    He seguido los pasos indicados y llego a ver el cursor del ratón que entra en la tablet. Sin embargo, no veo como lanzar una aplicación o abrir una ventana en la pantalla del tablet. Puedes darme alguna pista?

    gracias de antemano!
    saludos.

    1. Hola Óscar, a mí me aparece el menú inicio y puedo abrir cualquier programa desde ahí, pero si no te aparece quizá la solución más sencilla sea pulsar Alt+F2 y escribir directamente el nombre del ejecutable del programa que quieras lanzar.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.