Synergy

Una aplicación KVM y una frustación de open source en Windows.

Introducción

Synergy es una aplicación para compartir teclado y ratón entre al menos dos computadoras. Este es un producto comercial que no ofrece una versión de evaluación, aunque sí cuenta con una versión open source.

Versión open source

De acuerdo a las instrucciones de compilación1, 2, los preparativos para Windows son varios y algo muy cercano a una pesadilla. Estos son los pasos:

  1. El primer paso es relativamente sencillo y puede hacerse expresamente para obtener Git o éste ya haber sido obtenido por medio de la instalación de otro producto que lo incluya, como es el caso de Visual Studio Code por ejemplo.
  2. Obtener Visual Studio Code es simple. Si éste se obtiene para poder hacer la compilación de este proyecto es importante seguir las instrucciones dadas1 para descargar aquello que es estrictamente necesario.
    Visual Studio Code install Visual Studio Code install Visual Studio Code install

    Visual Studio Code install

  3. Similarmente, para el Windows 10 SDK Web Installer, las instrucciones indicar que instalar.
     Windows 10 SDK Web Installer Windows 10 SDK Web Installer Windows 10 SDK Web Installer  Windows 10 SDK Web Installer  Windows 10 SDK Web Installer  Windows 10 SDK Web Installer
  4. Bonjour se instala sin mayores complicaciones.
    Bonjour installation Bonjour installation Bonjour installation Bonjour installation Bonjour installationBonjour installation
  5. Con Qt es donde empiezan los problemas. Como podrá verse, en la quinta pantalla se indica que se requiere de un espacio de..  ¡más de 40 GB! Esta descarga llevó la noche entera.
    Qt installation
    Qt installation Qt installationQt installationQt installationQt installationQt installation
    Qt installation
     Qt installation Qt installation
  6. El sexto paso es simple. Sin mayor problema salvo que requiere más acciones agregar algo al PATH a diferencia de un entorno «*nix».
  7. El instalar CMake, igualmente, se hace sin muchas complicaciones.
    CMake instalaation CMake instalaation CMake instalaation
    CMake instalaation CMake instalaation CMake instalaation
    CMake instalaation
  8. Aunque esta paso es  para reiniciar Qt, conviene mejor reiniciar la computadora.
  9. La molestia de agregar variables al path nuevamente.
  10. Finalmente puede pasarse a los pasos de compilación. En este punto no se pudo avanzar pues algunos scripts no fueron encontrados donde se suponía debían estar. En este punto se detuvo todo.

Ante este éxito, se optó por tratar de instalar los «ports» de este programa mediante Homebrew (macOS) y Chocolatey (Windows). El único problema fue que el primero instala la versión 1.11 y el segundo la 1.08, lo que trajo algunas incompatibilidades y comportamientos anómalos pero, grosso modo, la aplicación funcionó.

Versión comercial

De la página de Seamless3, se descargó la versión 1.11.0, tanto para Windows como para macOS. Esta versión aparentemente trae un problema con la generación del certificado para Windows. Un parche existe para solucionar este problema4(ver. 1.11.1).

En lo que respecta a la instalación de la aplicación, resolviendo el problema del certificado, parece que la dolencia más común son los problemas de comunicaciones con Windows. Aquí hay que notar dos cosas. La primera es el que un ping entre los equipos involucrados, especialmente desde el que tiene Windows, parece habilitar o «revivir» las comunicaciones, y esto permite que el servidor y el cliente se vean.

                                                

Un segundo punto es el que, después de reconectarse (especialmente en una misma red, no en una diferente, cuando cambian las direcciones IP) el diálogo de control del cliente puede mostrar una IP del servidor anterior y no la actual (ver imágenes superiores).

Molestias y consideraciones

La visibilidad entre equipos

La comunicación entre cliente y servidor, especialmente cuando se hace de un Windows a un no Windows puede ser problemática y frustrante. Lo que yo he encontrado útil para esto es primero hacer ping entre los equipos.

Por alguna razón, al menos en Windows 10, la interfaz de red (especialmente WiFi) parecerá haberse desactivado y en un inicio podrá haber una pérdida del 100% de los paquetes pero después de dos o tres resultados, algo reacciona y la comunicación se restablece5.

Esto puede llegar a ser requerido cuando uno o de los equipos (o ambos) llega a «dormirse», cuando en ambos se activa el screen saver o cuando se reinició alguno.

Alternativas de conectividad

Lo que en esta página se describe, esencialmente ha sido mediante WiFi. Una alternativa que parece estar dando buenos resultados es hacer uso de un cable de red para conectar a ambos equipos y a través de esto hacer uso de Synergy7,8.

Problemas con los screen savers de macOS

Aunque parece un problema de Synergy, quizás no lo sea. Resulta que después de que el screen saver se activa (requiriendo contraseña para quitarlo) el screen saver no se desactiva, es decir que pese a introducir la contraseña correcta, el screen saver no se cierra. La primera vez que me ocurrió esto, teniendo dos pantallas, opté por desconectar el segundo monitor para recuperar el control. Posteriormente descubrí que presionando el botón de encendido del equipo, por un par de segundos la pantalla se apagaba y presionando nuevamente dicho botón el diálogo de acceso funcionaba, permitiendo acceder tras proporcionar la contraseña. Finalmente, lo que he aprendido es que, si el screen saver se ha activado, debo hacer que el diálogo de acceso se active con el trackpad o el teclado propios del equipo. Hacerlo con el teclado o ratón compartidos me lleva al problema descrito.

Modo almeja

En el modo clamshell (modo «concha de almeja», como suelen traducirlo), el cursor se poner algo errático.

Actualización 2020.07.30: Los problema con el cursor errático desaparecieron desde que decidí conectar los equipos mediante un cable ethernet7. Aunque no, he probado si el problema del «modo almeja» desapareció también.

Aparición por la izquierda en macOS

Una molestia que creo no había notado es el que, cuando el equipo Mac es cliente, el apuntador aparece por el extremo izquierdo. Si la configuración en el servidor indica que el cliente se encuentra a la izquierda (y efectivamente del cliente al servidor se regresa por el extremo derecho del cliente), puede resultar algo desconcertante que en el cliente el cursor del ratón aparezca hasta el extremo izquierdo.

Referencias

  1. «Synergy Core«, Symless, web. Visited: 2020.03.01. URL: https://github.com/symless/synergy-core.
  2. «Synergy Core – Compiling«, Symless, web. Visited: 2020.03.01. URL: https://github.com/symless/synergy-core/wiki/Compiling.
  3. «Synergy«, seamless.com, web. Visisted: 2020.03.01. URL: https://symless.com/synergy.
  4. __________, seamless.com, web. Visited: 2020.03.01. URL: https://snapshots.symless.com/public/1.11.1-snapshot-1/.
  5. Eduardo René Rodríguez Ávila, «I need to ping mi client to allow it connect to the server«, GitHub, symless/synergy-core repository, issue 6662. Created: 2020.04.14. URL: https://github.com/symless/synergy-core/issues/6662.
  6. __________________________________, «Sinergias(2)», blog. Publicado: 2020.04.17. URL: https://eravila.wordpress.com/2020/04/17/sinergias2/.
  7. __________________________________, «Sinergias(3)», blog. Publicado: 2020.04.17. URL: https://eravila.wordpress.com/2020/05/10/sinergias3/.

Twitter Wordpress eMail
© Todos los derechos reservados.
Dr. Eduardo René Rodríguez Avila
Creación: 2020.02.23
Última actualización: 2020.07.30
El contenido de este sitio puede ser copiado y reproducido libremente mientras no sea alterado y se cite su origen. Marcas y productos registrados son citados por referencia y sin fines de lucro o dolo. Todas las opiniones son a título personal del o los autores de éstas y, salvo sea expresado de otro modo, deben considerarse como registro y expresión de la experiencia de uso de aquello que es tratado. Para conocer más sobre la posición de privacidad y responsabilidad de lo que se presenta en este sitio web y como ha sido obtenido, consulte la declaración al respecto.