Synergy: Compartir teclado y mouse en varias computadoras
Publicado el Viernes, 24 de junio de 2011Ayer estuve trabajando desde casa, y empecé a utilizar una herramienta bastante productiva: Synergy. Synergy es software libre que permite usar un mismo teclado y mouse a través de múltiples computadoras. Para esto solo requiere que las computadoras estén conectadas entre sí a través de TCP/IP.
En casa tengo la computadora de escritorio que uso para escribir, dibujar, jugar, internet, alguna programación y trabajo "personal", etc. En mi trabajo anterior, trabajaba con mi laptop. Cuando cambié a Globant y surgió la posibilidad de trabajar desde casa, mantuve esa costumbre. De esta forma, si quiero arrancar rápido, solo inicio la laptop, y no tengo ni que salir de la cama para empezar a trabajar 😛 Tengo ahí todas las configuraciones relacionadas al trabajo.
De esta manera, noté que pasaba algo de tiempo pasando del mouse y teclado de la computadora de escritorio al touchpad y teclado de la laptop. En un momento recordé la existencia de Synergy, que creo escuché nombrar por primera vez cuando me comentaron la metodología de pair programming que usan en Cubox.
Decidí probarlo e instalarlo en mis dos computadoras ya que imaginé que usar ambas con el mismo mouse y teclado sería mucho más práctico, y tenía razón. La instalación fue super simple:
ArchLinux:
pacman -S synergy
Debian:
sudo apt-get install synergy
Paso siguiente, elegir el servidor: en mi caso hoth, la computadora de escritorio. El servidor es quien lleva el mouse y teclado. En él deben crear un archivo de configuración synergy.conf, y setear las pantallas y su enlace (links), cuál está a la derecha, izquierda, arriba o abajo.
Mi computadora "cliente" es dagobah, la laptop, pero no tengo un servidor DNS en mi red local (en casa de herrero...), así que puedo agregar aliases para las IP's.
Mi archivo de configuración:
section: screens hoth: dagobah: end section: aliases hoth: 192.168.1.102 dagobah: 192.168.1.101 end section: links hoth: right = dagobah dagobah: left = hoth end
Con esto, inicio el servidor en hoth:
synergys -f --config ~/synergy.conf |
Y el cliente en dagobah:
synergyc -f 192.168.1.102 |
El parámetro -f es opcional, para que la terminal nos imprima el log de lo que está sucediendo, una vez que lo tengamos funcionando correctamente podemos ejecutarlo sin eso. Pueden ver más parámetros en la wiki de Synergy.
Me impresionó mucho el rendimiento de esta aplicación, pasar el mouse de un monitor a otro es instantáneo. Y estando en el monitor cliente, es lo mismo que si tuviera un mouse y teclado USB conectados, funciona perfecto.
La verdad que me facilitó muchísimo el trabajo. Mi escritorio no es adecuado para trabajar con la laptop ya que el teclado queda muy alto. De esta forma es mucho mas cómodo trabajar, y uno le agarra el gustito enseguida. Es como trabajar con dos monitores.
Así me di cuenta de cuánto más podemos rendir con dos monitores, y ni hablar dos computadoras. Estoy convencido que nuestra interacción con las computadoras está totalmente limitada por el uso de un solo monitor. Ahora entiendo a Jeff Atwood cuando insistía en varios monitores. Mi tarjeta de video soporta varios monitores, así que ya voy pensando en alguna compra a futuro...
santius 24 junio. 2011 - 11:29
Synergy está muy salado, yo en el otro laburo usaba 3 maquinas a la vez a veces con synergy y es super fluido.
Recomendable para los que no quieren mas de un teclado/raton en el escritorio
Juan Funez | One Frag Left! 24 junio. 2011 - 12:32
Tal vez te interese estos dos articulos publicados en el blog de DKLight
1: Asegurando Synergy
http://dklight.info/blog:asegurando_synergy
2: Simplificando synergy para levantar más rápido
http://dklight.info/blog:simplificando_synergy_levantar_mas_rapido
saludos
Fernando 24 junio. 2011 - 21:53
¡Gracias por los enlaces Juan! Muy útiles ciertamente. Le dejé un comentario a DKLight sobre lo interesante del ida y vuelta que tiene esto de compartir el conocimiento. En uno de sus posts usa un script basado en uno que publiqué yo por acá. Y ahora yo voy a usar eso mismo que ayudé a crear, todo gracias a la filosofía del software libre 😀
¡Saludos!
arielsan 24 junio. 2011 - 13:52
Ya hace un par de años que trabajo con 2 monitores + 4 workspaces de Linux y es genial como llegas a organizar un montón de cosas.
Pero un gran poder conlleva una gran responsabilidad….
Fernando 24 junio. 2011 - 21:53
Jeje, sin dudas. Y este gran poder también puede traer más desgaste, trabajamos más y tenemos menos tiempo ocioso…
arielsan 24 junio. 2011 - 14:03
Sobre el Synergy, lo llegué a usar con un compañero de Antel para hacer pair programming (poco tiempo) y está genial. A veces tenía algunos bugs con el tema CAPS LOCK, pero en general anda bien de bien.
Fernando 24 junio. 2011 - 21:56
Por ahora no me han surgido bugs, ¡es perfecto! Y muy útil para pair programming.
rob 24 junio. 2011 - 16:32
Hola, lo que no alcanzo a comprender, es en que se diferencia esto de hacer un VNC o freeNX con el equipo que queremos controlar?… o puede que no capte la idea?
Fernando 24 junio. 2011 - 21:59
La diferencia es que al hacer un VNC con mi laptop desde la computadora de escritorio, paso a controlar en una ventana de mi computadora de escritorio a mi laptop. Con Synergy, uso el mouse para “irme a la computadora de al lado”, y controlar con el mouse del servidor las computadoras clientes EN las computadoras clientes. En mi caso es así: Tengo el servidor con el mouse, teclado y monitor. A su derecha puse mi laptop. Cuando voy hacia el extremo derecho del monitor con el cursor. éste aparece en el extremo izquierdo del monitor de la laptop, y paso a controlarla sin tocar el touchpad o teclado de la laptop. O sea, uso el teclado y mouse del servidor en la laptop, pero veo la interacción en su monitor. ¿Me explico?
rob 27 junio. 2011 - 12:38
jaja, si ahora si, eso lo haciamos antes de que nos quedaramos sin los monitores :). Es realmente productivo
Fernando 27 junio. 2011 - 23:02
Muuuy productivo. No solo tenemos dos monitores, sino que dos máquinas independientes procesando por su cuenta 😀
fcr 25 junio. 2011 - 09:55
Yo la verdad que me quedo con ssh+x2x. Tener que levantar synergy con daemon, archivos de configuración por todas partes, y mil cosas más…
Es un PITA comparado a simplemente:
ssh -XC x2x máquina -north -to :0
fcr 25 junio. 2011 - 09:58
ouch,
+++ comentario_anterior
-ssh -XC x2x máquina -north -to :0
+ssh -XC máquina x2x -north -to :0
Fernando 27 junio. 2011 - 22:55
Ya estuve leyendo un poco y dejé instalado x2x en la computadora. Ahora me da pereza prender la laptop, pero para mi próxima jornada de trabajo desde casa lo pruebo.
Gracias por aportar otra solución, ¡saludos!
dklight 27 junio. 2011 - 18:19
Hola Fernando. Evidentemente no hay como la colaboración. “Inteligencia colectiva” dijera Taringa!…
Con respecto a lo que te mencionaba fcr, actualmente estoy usando x2x. Synergy+(evolución de synergy, que está discontinuado) tiene la dudosa ventaja de ser multiplataforma. Pero si todas tus plataformas corren sistemas posix con servidor X (léase GNU/Linux), x2x es bastante más cómodo.
Por un lado no requiere instalar un cliente y uns ervidor, ya que el servidor es el mismísimo X (con su lógica inversa de correr el servidor en lo que uno consideraría el cliente). Por otro lado ya lo corrés por ssh, con lo que te queda asegurado. Aparte me ha funcionado mejor, sin bugs como el del CAPS LOCK. Te sugiero probarlo, es aún más simple que synergy.
Fernando 27 junio. 2011 - 23:05
Es cierto lo de la inteligencia colectiva, solo que nunca encontré algo así por Taringa… 😛
Por lo que describís de x2x, supongo que debe ser incluso mas rápido que synergy, además que debe consumir menos recursos. Como le puse a fcr, ni bien tenga que prender la laptop para trabajar de casa, lo pruebo. Ya les comentaré cómo me fue.
¡Saludos!
dklight 28 junio. 2011 - 17:45
Quiero dejarte un comentario con algo que no pude hacer ni con synergy, ni con x2x para ver si vos o alguno de tus lectores tiene una solución. Quiero hacer algo tan, pero tan simple como pasar de una pantalla a la otra con el teclado en lugar del mouse. Es decir, sería algo así como mover a prepo el mouse al medio de la otra pantalla. Eso incrementaría notablemente la facilidad de salto entre máquinas, ya que como todos sabemos las manos no se despegan del teclado XD.
Saludos
Fernando 29 junio. 2011 - 00:35
¡Es muy buena! Esperemos que algún iluminado haya encontrado la forma de hacerlo y se tropiece con este comentario 🙂