Añadir una resolución de pantalla a un adaptador “headless”

Una forma estupenda de aprovechar una tableta antigua es utilizarla como monitor adicional, y hay un programa llamado Deskreen que nos permite hacerlo de forma sencilla.

En Linux la forma más sencilla de usarlo es comprando un adaptador HDMI o DisplayPort headless, que no es más que un pequeño dispositivo que se enchufa a una salida HDMI o DP de tu ordenador y le hace creer que tiene un monitor conectado.

En mi caso, el adaptador traía un montón de posibles resoluciones de pantalla, pero ninguna coincidía con la resoución de mi iPad (2048 x 1536), así que tuve que investigar cómo añadirla.

Primero ejecutamos xrandr para listar nuestras pantallas, en mi caso el adaptador headless aparece con el nombre HDMI-A-0.

A continuación ejecutamos este comando para obtener el modo de pantalla (puede que tengas que instalar el paquete xcvt):

cvt 2048 1536 59.97

El primer parámetro es el ancho en píxeles, el segundo el alto y el tercero la frecuencia de refresco, ese valor lo tomé de la salida de xrandr buscando la resolución más parecida a la que quería crear.

Este comando nos devuelve esto:

Modeline "2048x1536_59.97" 265.50 2048 2200 2416 2784 1536 1539 1543 1592 -hsync +vsync

Creamos el nuevo modo:

xrandr --newmode "2048x1536_59.97" 265.50 2048 2200 2416 2784 1536 1539 1543 1592 -hsync +vsync

Y se lo añadimos a nuestro adaptador:

xrandr --addmode HDMI-A-0 2048x1536_59.97

Y ahora en la aplicación de gestión de pantallas nos aparecerá para nuestra “pantalla” la nueva resolución y podremos seleccionarla. También podemos seleccionarla desde la línea de comandos:

xrandr --output HDMI-A-0 --mode 2048x1536_59.97

Si queremos hacer estos cambios permanentes crearemos un fichero .xprofile en nuestra carpeta de usuario y lo haremos ejecutable:

touch $HOME/.xprofile
chmod +x $HOME/.xprofile

Y escribiremos en él los comandos de xrandr:

xrandr --newmode "2048x1536_59.97" 265.50 2048 2200 2416 2784 1536 1539 1543 1592 -hsync +vsync

xrandr --addmode HDMI-A-0 2048x1536_59.97

xrandr --output HDMI-A-0 --mode 2048x1536_59.97

Nota: la resolución nativa de mi iPad (2048 x 1536) hacía que el texto de las ventanas que movía a ese monitor se viera muy pequeño, así que reduje la resolución a la mitad, de 2048 x 1536 a 1024 x 768. Simplemente volví a hacer todos los pasos indicados con la nueva resolución.

Por cierto, Deskreen se puede usar sin necesidad de ese adaptador headless para enviar la pantalla de una aplicación a cualquier dispositivo que tenga un navegador. Así que si no tienes el adaptador o no tienes una salida HDMI / DP disponible también puedes usarlo para mostrar en una tableta cualquier aplicación que estés ejecutando (aunque claro, no podrás controlarla con el teclado / ratón).

Recibir notificaciones de Android en el PC

Para recibir las notificaciones de Android en nuestro PC y no tener que mirar el teléfono la solución es “Desktop Notifications”. Se compone de una aplicación para el móvil y una extensión para el navegador (funciona con Chrome y con Firefox, aunque el proceso de identificación es más sencillo con Chrome).

  1. Instalamos en el teléfono (solo funciona con Android) la aplicación: https://play.google.com/store/apps/details?id=org.hcilab.projects.notification&hl=en
  2. Instalamos en Chrome la extensión: https://chrome.google.com/webstore/detail/desktop-notifications-for/giicnncicnopjohcpamieklkiacdoeni/related?hl=en
  3. Nos identificamos en ambas con nuestra cuenta de Google

Y ¡ya está! Se tarda dos minutos en hacer todo esto y ya podremos recibir en nuestro navegador las notificaciones del teléfono.

Un “gadget” mágico: el Slope de Dekke

Normalmente uso el iPad como monitor adicional para trabajar, y lo pongo en horizontal usando el soporte Smart Cover. Pero el iPad lo compré en 2009, y después de siete años de uso el Smart Cover está ya hecho unos zorros.

Así que me puse a buscar soporte para iPad, y encontré el Slope. Tiene un diseño muy sencillo y el color encima pegaba con el del iPad, pero lo mejor de todo es el sistema de agarre que tiene: una especie de microporos (al parecer inspirado en las patas de las lagartijas) que hace que se pegue a la mesa y que atrape cualquier cosa que se le ponga, manteniendo un agarre brutal y sin ningún tipo de pegamento.

Lo recomiendo 100%, es sin duda el mejor soporte que he visto o usado jamás. Y además vale para sujetar cualquier cosa, no solamente tabletas.

Mi experiencia con un teclado ciego: Das Keyboard 4 Ultimate

Hace un par de meses me compré un teclado ciego (un teclado que no tiene símbolos en las teclas), el Das Keyboard 4 Ultimate, y voy a contar aquí mi experiencia con él por si le puede resultar útil a alguien.

Antes de nada, un poco de historia. Mi teclado anterior, un Corsair Vengeance K70, me dio bastantes problemas. Después de unos meses usándolo empezó a fallar, había teclas que aparecían dos veces al pulsarlas, otras que no aparecían al pulsarlas pero que aparecían después… un sindiós, vaya. Lo devolví a la tienda donde lo compré, PC Componentes, que tuvieron un comportamiento impecable: me enviaron una pegatina con el código para el transportista, lo vinieron a buscar a casa y en menos de una semana tenía el nuevo. No me pagan por hacerles publicidad, pero no puedo más que recomendar a todo el mundo que compre cualquier cacharrito con ellos, porque el precio es bueno pero el servicio es excelente.

Para mi sorpresa, el teclado nuevo volvió a dar los mismos problemas un par de meses después. Ya estaba un poco harto y le había cogido manía, así que decidí pasar de él y comprarme el mejor teclado mecánico que hubiera en el mundo.

Los únicos requisitos eran que fuera mecánico, con teclado numérico, que tuviera control de volumen y que no pareciera una nave espacial (hay teclados mecánicos que son la auténtica horridez, con colorines y lucecitas y  formas absurdas de nave espacial).

Después de mucho buscar y descartar todo apuntaba a Das Keyboard. El único problema era que no tenían distribución en español, solo distribuciones bárbaras como US, UK, NO y DE. Pero salvo eso lo tenía todo: cuerpo de aluminio negro precioso, sobrio, casi espartano, teclas multimedia ultradiscretas, hub de puertos USB 3.0 y una rosca para el volumen chulísima. Además de una reputación bastante unánime en todas las páginas que consulté como uno de los mejores teclados existentes, si no el mejor.

Es muy duro encontrar un teclado así y ver que no lo hay para tu idioma. Estaba yo rabiando y maldiciendo a los alemanes por lo bajo cuando vi el enlace a la versión sin símbolos, el Das Keyboard 4 Ultimate. Y entonces pensé: “Maldita sea, ¡esta es la solución, me compro este!”.

Pero después del arrebato inicial me puse a pensar un poco, porque igual era una insensatez gastarme 169 eurazos en un teclado que igual no podía usar. Las letras del alfabeto no eran problema, llevo escribiendo con teclados 30 años y aunque nunca estudié mecanografía escribo bastante rápido sin tener que mirar al teclado. Lo que me echaba para atrás eran los símbolos. Siendo programador uso constantemente símbolos como [] {} % & $ | etc. ¿Sería capaz de manejarme con un teclado ciego en un entorno de programación?

Así que hice la prueba. Me forcé durante una hora a programar sin mirar el teclado y pude comprobar que la memoria muscular de los dedos funcionaba perfectamente con todas las teclas, ya fueran letras o símbolos.

La memoria muscular es básicamente la automatización de movimientos basada en la repetición. Maravillas del cerebro humano: cuando realizas una misma operación muchas veces los músculos aprenden ese patrón y puedes realizarlo sin darte cuenta, sin pensar. En el caso del teclado, el movimiento que hace cada dedo para pulsar una tecla se acaba aprendiendo y se realiza de forma automática. No hace falta pensar dónde tienes que mover cada dedo, simplemente piensas en una palabra y los dedos se mueven “solos” para escribirla. Mientras escribo estas líneas ni siquiera sé qué dedo ha pulsado cada tecla, van ellos solos.

Animado con esta prueba me lancé y compré el teclado. Lo compré con los conmutadores Cherry MX Brown, para que no fuera demasiado ruidoso.

Al abrirlo lo primero que llama la atención es lo bonito que es. La superficie es de aluminio negro anodizado, es precioso. El logo de Das Keyboard va en un negro un poquito más intenso que el del panel, por lo que apenas se ve. Todo es negro salvo el bisel de la rosca del volumen, que es rojo y hace un contraste espectacular.

Cuando lo sacas de la caja notas lo pesado que es. Esto es bueno porque, como no es un periférico que haya que andar moviendo de un lado para otro, el peso le da estabilidad. El cable es largo, dos metros, más que suficiente.

A diferencia de otros teclados con puertos USB integrados, este teclado no tiene dos conectores USB, solamente uno. Es importante, eso sí, enchufarlo en un puerto USB 3.0 del ordenador, para que así cualquier pincho USB que conectemos en el teclado aproveche esa velocidad.

El sonido de las teclas es auténtico porno para los oídos. No es exagerado como aquellos IBM antiguos pero tiene ese clickety click mecánico que es tan gustoso. El tacto de las teclas es maravilloso y solo tiene un problema: que una vez que lo pruebes nunca más podrás escribir a gusto en un teclado que no sea mecánico.

Y ahora al tomate: ¿cómo es la vida diaria con un teclado ciego? Pues los dos o tres primeros días me sorprendía mirando al teclado para escribir algún símbolo, pese a que el dedo estaba pulsando la tecla correcta. Son hábitos producto de la costumbre, y desaparecen pronto, ya que al no haber ningún símbolo deja de tener sentido mirar al teclado. Los caracteres propios de la programación me salían solos, y solo de vez en cuando alguno se me atragantaba.

El único problema que he encontrado ha sido con las contraseñas. Quizá sea psicológico, pero al no ver en pantalla el resultado de la pulsación de las teclas me costaba un poco escribirlas. También influye el hecho de que al no ser palabras del castellano (porque vosotros tampoco usáis como contraseñas palabras del castellano ¿verdad? ¿Verdad?) quizá la memoria muscular no funciona tan bien. Pero en estos casos, y aunque parezca raro, lo que hago es mirar al teclado. No tiene símbolos, de acuerdo, pero de alguna forma el cerebro recuerda dónde está cada tecla y escribe la contraseña perfectamente. Misterios del cerebro.

Resumiendo: estoy feliz con este teclado, quiero casarme con él y darle un montón de bebés teclado todos ciegos. Lo recomiendo sin duda, pero con un aviso: al ser un teclado ciego cómpralo solamente si sabes mecanografía o no la sabes pero llevas tanto tiempo tecleando que eres capaz de escribir sin mirar al teclado. Si no, puedes esperar a ver si a los merluzos de Das Keyboard les da por sacar una distribución en español, que no entiendo por qué no la tienen, porque con la cantidad de personas en el mundo que la usan se harían de oro.

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.

Instalar Hauppauge MiniStick-HD en Linux

Hace tiempo me compré este cacharrito que permite ver la tele en el ordenador, y aquí dejo copiadas las instrucciones para instalarlo en Ubuntu:

– Lo primero es instalar el paquete linux-firmware-nonfree. A continuación instalamos MeTV y reiniciamos el ordenador.

– Una vez hecho esto al arrancar MeTV nos habrá detectado el sintonizador y podremos buscar canales. En el desplegable de países nos aparece España, pero al escanear usando esa zona solamente nos aparecen unos pocos canales.

– Nos descargamos entonces el paquete w-scan, que contiene la utilidad para escanear canales, y (asegurándonos de haber cerrado del todo MeTV) ejecutamos

sudo w_scan -ft -X -c ES >> channels.conf

– Después de un rato escaneando nos habrá generado un fichero channels.conf que podremos cargar en MeTV. Antes de hacerlo lo abrimos con un editor de textos y eliminamos los acentos, eñes, etc… para que no haya errores al hacer la importación en MeTV.