No sé si alguna vez habéis necesitado trabajar en entorno gráfico con un sistema Linux de manera remota. En modo texto todo está bastante solucionado, pero a diferencia que en los sistemas Windows con su RDP, los Linux son un poco pasadillos para llevar todo su X a sistemas remotos, incluso si se utiliza compresión por SSH.
La existencia de un sistema ágil para trabajo en remoto con estos sistemas permite en cierta medida solventar el problema de tener distintos puestos/dispositivos de trabajo, relacionado con lo que @Razlobo comentaba[1].
He probado varias alternativas y por si os es de utilidad, os comento:
VNC
El sistema clásico de utilizar VNC para acceder a una sesión X ya creada o creada por vncserver
. Funciona regular pero existen muchos clientes casi para cualquier plataforma.
Digo que es regular porque, aunque teniendo un buen sistema de comunicaciones, en muchas ocasiones no se producen correctamente los refrescos de pantalla o no se capturan correctamente los eventos del cliente, produciendo desesperación.
El servicio es poco o muy poco seguro, pero es posible configurarlo para escucha en modo local y acceder a él a través de túnel SSH, con lo que sí obtendríamos seguridad.
Otra pega que encuentro es que está orientado a escritorio, es decir, un tamaño preestablecido sobre el que se trabaja. Si tienes varios monitores o bien distintas resoluciones tienes que jugar con escalado.
Permite retomar sesiones de las se ha desconectado (como screen
de las consolas texto) ya sea por problemas de red, o simplemente porque no se quiere seguir trabajando en ese momento.
Permite ser utilizado por tunelizado por proxy, en mi caso el soket proxy de Tor.
NX
Inicialmente FreeNX[2] permite la utilización de escritorios remotos con lo que poder trabajar y clientes para varias plataformas (creo que incluso dispositivos Android).
Funciona bastante bien, es seguro (pues la conexión a remoto está tunelizada por SSH), pero la versión libre (de Google) está obsoleta y la que está en activo es un Freeware de Nomachine.
Está también orientada a escritorio, pero mucho más flexible. No sé si permite recuperar sesiones de las que se ha desconectado.
No recuerdo si permite ser tunelizado por socket proxy.
Hay una alternativa que usa también el protocolo NX: X2Go[3], libre y que funciona bien. En mi caso no la pude usar por Tor.
Mismas características.
ssh -X
El reenvío de terminal X por SSH. Muuuy pesado y en la práctica bastante poco usable.
Lo bueno es que lo objetos X son construidos localmente, utilizando tu resolución, múltiples monitores, etc.
Xpra
Xpra[4], una mezcla entre ssh -X
y VNC. Los objetos X son creados en local pero en base a la interpretación que hace el servidor en el que se realiza compresión, adaptando la calidad a lo que dé de sí la red.
En mi caso, es el claro ganador. No tengo una ventana de escritorio donde todo está allí, sino ventanas que interaccionan con mi escritorio. La calidad de los objetos X se va ajustando dinámicamente y el ancho de banda consumido es bastante bajo (sobre unos 12 KiB/s trabajando normal).
Estuve probando ver un vídeo de Youtube con el navegador remoto y se vio perfectamente (sobre 134 KiB/s).
Está pensado para ser utilizado en entornos con dificultad en las comunicaciones. La prueba que hice fue desde un sistema A (servidor) que se conectaba a Tor a través de un sistema intermedio B, y yo (sistema C) me conectaba por Tor al sistema A. Fue de maravilla.
Permite reconexión de sesiones desconectadas.
¿Conocéis más alternativas?
[1]: Comentario de @Razlobo: https://foro.hacklabalmeria.net/t/en-busca-de-ordenadores-moviles/7272.
[2]: FreeNX: https://en.wikipedia.org/wiki/NX_technology.
[3]: X2Go: https://en.wikipedia.org/wiki/X2Go.
[4]: Xpra: https://en.wikipedia.org/wiki/Xpra.