Estoy ejecutando un modelo de visión por computadora en una máquina virtual remota sin cabeza (Ubuntu 16.04) sobre X11 Reenvío con buen viejo Putty y Xming como mi Windows X Server.
Todo está bien, pero parece que no hay caída de cuadros si el ancho de banda cliente-servidor no puede mantenerse, lo que significa que mi aplicación se ralentiza y solo genera unos pocos cuadros por segundo cuando puede hacer cientos si el ancho de banda es suficiente.
¿Hay una opción de caída de cuadro forzado integrada en el reenvío X11, y si la hay, ¿cómo la activo ?
Respuestas:
Recomiendo Xpra para este tipo de casos de uso: no solo proporciona la capacidad de desconectarse y volver a conectarse a aplicaciones X que se ejecutan en un host remoto, sino que también admite una variedad de codificaciones de imagen y configuraciones de actualización de ventanas para proporcionar una experiencia decente en Diferentes circunstancias.
Tiene un cliente nativo de Windows, por lo que debería ser lo suficientemente fácil de configurar. También necesitará instalarlo en la VM remota, pero eso es tan fácil como
apt install xpra
en Ubuntu.fuente
Según esta pregunta relacionada , parece que
X11Forwarding
no es la mejor opción para aplicaciones intensivas de gráficos, ya que el protocolo X11 no se diseñó teniendo en cuenta el rendimiento del dibujo de mapas de bits.Básicamente, envía instrucciones de dibujo a la red, lo cual es "muy bueno" si estamos hablando de un par de ventanas con texto, pero obviamente es excesivo para millones de píxeles que cambian cada cuadro, especialmente cuando la red experimenta una alta latencia / jitter / paquete pérdida.
Como se sugiere en la respuesta a la pregunta mencionada, puede probar x2go y ver si se ajusta a sus necesidades.
EDITAR según el comentario
Si
x2go
no funciona, puede probarVNC
cuál parece tener capacidades para soltar cuadros. Por ejemplo, lo usox11vnc
para conectarme a mi escritorio desde una conexión remota con lax11vnc -display :0 -auth .Xauthority
que se conecta a mi pantalla.No sé si funcionaría,
Xming
pero puedes intentarlo.fuente
El protocolo X11 puro no se presta bien para garantizar la transmisión, y mucho sobre SSH.
Recomiendo NoMachine. Puede hacer compresión de ancho de banda y optimización de red. También tiene clientes para Mac, Windows y Linux.
PD. NoMachine tiene las versiones gratuitas y de pago. Siempre usé el gratis.
Ver NoMachine
fuente