¿Cómo interactuar gráficamente con un servidor sin cabeza?

42

Tengo un servidor de desarrollo ubuntu en el trabajo. Es un antiguo servidor de rack que se encuentra en algún lugar de la mazmorra de la compañía, donde nadie va nunca. La única forma en que puede funcionar es como un llamado servidor sin cabeza (es decir, sin monitor / teclado conectado y solo aceptando conexiones de red).

Obviamente, si solo necesita acceso a la terminal, ssh es más que suficiente. Sin embargo, también me gustaría conectarme a la interfaz gráfica de vez en cuando. En este momento estoy usando la funcionalidad VNC incorporada, pero estoy bastante seguro de que esta no es la forma más eficiente ni más segura de abordar este problema.

He investigado un poco sobre el tema, pero no he llegado a ninguna conclusión definitiva. Leí acerca de tratar de reenviar el entorno X sobre ssh, lo que al menos resolvería mis problemas de seguridad. ¿Alguien puede compartir sus experiencias al configurar esto? ¿Hay alguna otra forma que valga la pena mirar?

Me conecto casi exclusivamente a este servidor desde una máquina con Windows. No sé si eso podría ser un problema para algunos de los métodos sugeridos.

silvo
fuente

Respuestas:

20

Sí, reenviar X sobre ssh es algo realmente hermoso. Le permite usar aplicaciones gráficas aplicación por aplicación y tener ventanas manejadas por su propio entorno de escritorio. Ni siquiera necesita un entorno de escritorio instalado en el servidor.

Sin embargo, debe configurar algunas cosas de autenticación para que funcione. Creo que necesitas xauth para eso.

También es MUCHO más rápido que VNC. VNC siempre fue bastante lento en mi experiencia.

Editar: No tengo experiencia en el uso de este método a través de Windows, pero encontré este tutorial para ti si estás interesado.

DLH
fuente
2
"ssh -X <server> <program>" debería configurar todo (nunca he necesitado tocar xauth yo mismo, aunque sí necesita estar instalado para que la opción -X en ssh funcione).
Suprimir el fuego
@Suppressingfire: Oh, gracias. Supongo que debería haber incluido el comando yo mismo.
DLH
2
Sí, el reenvío X funciona con Windows. Lo he usado con Cygwin / X , en Windows XP. No es el más rápido o el más bonito, pero funciona.
mp3foley
¡El reenvío ssh X11 también limita los servicios que debe habilitar en su servidor! Sospecho que la mayoría de los servidores tienen ssh de todos modos. La habilitación de X11 remoto (XDMCP) no es realmente conocida por ser segura.
LassePoulsen
el enlace del tutorial ahora está roto, ¿te importa alguien que pueda actualizarlo?
búho
13

Podría usar freenx en lugar de vnc. Freenx transmite comandos x (con almacenamiento en caché) en lugar de mapas de bits.

txwikinger
fuente
¿Puedo usarlo en una máquina con Windows?
silvo
2
Creo que puede descargar el cliente NoMachine NX para Windows y que funciona con FreeNX, aunque podría estar equivocado. nomachine.com/download.php
manyxcxi
9

Xming y XDMCP es una opción brillante.

Editar:

Xming es un servidor x para Windows, que se basa en Cygwin y tiene la capacidad de compartir el portapapeles y también implementa diferentes diseños de escritorio.

XDMCP es un protocolo simple y, lo que es importante, sin cifrar (no lo use a través de Internet) para conectar un X-displaymanager y un x-server.

ddeimeke
fuente
Probablemente debería editar la respuesta para incluir un poco más de detalles sobre por qué y cómo funciona. Saber lo que significa Xming y XDCMP es la mejor opción.
Ressu
Lo haré.
ddeimeke
7

No sé cuál es la "mejor" forma, supongo que YMMV, pero aquí hay una descripción bastante completa de las herramientas a su disposición: http://www.mynitor.com/2010/02/07/15-remote-desktop- soluciones-para-linux /

Particularmente aquí está mi experiencia:

  1. nomachine nx : velocidad impresionante. En su modo nativo, se siente como si estuvieras frente a la consola. Admite el inicio de nuevas sesiones y el sombreado de la consola (pero el sombreado es más lento). Es compatible con separar y adjuntar a sesiones. Compartir el portapapeles solo funcionó de una manera para mí y no pude arreglarlo. nomachine ofrece paquetes gratuitos de servidor y cliente con algunas restricciones de licencia.
    FreeNX se basa en las bibliotecas nomachine nx

  2. x2go - Impresionado con esto también especialmente la redirección de sonido, pero no lo usé durante tanto tiempo como nomachine nx porque lo descubrí más tarde.

  3. x11vnc : excelente servidor vnc que puede conectarse a la sesión de la consola. Lo usó junto con nomachine nx. No estoy seguro de si se puede ejecutar en modo sin cabeza, pero lo estoy enumerando en caso de que pueda, porque para mí fue el servidor vnc más rápido.

  4. xrdp : parecía prometedor pero parece no estar mantenido. La solución nómada de OpenSuse se basa en xrdp y escuché que nómada es la mejor experiencia de escritorio remoto que puede obtener en Linux.

  5. teamviewer : la versión de Linux sigue siendo beta, funciona con vino y consume algo de CPU, pero la utilicé bastante recientemente y me gustó mucho. No estoy seguro si funciona en un servidor sin cabeza.

Li Lo
fuente
2

Considere también xpra , que le permite desconectarse de una sesión en ejecución desde otro lugar, como "pantalla para X".

También hay Window Shifter , una interfaz para xpra, que también debería funcionar para Windows, vea la demostración .

azulado
fuente
1
Esto se ve interesante.
Li Lo
1

Si bien es inherentemente inseguro, puede usar XDMCP a través de una red local. Lo uso con frecuencia para acceder a máquinas virtuales. Es como iniciar sesión en su escritorio, excepto que eligió el servidor remoto.

Tim Post
fuente
1

Yo uso x11vnc , que me funciona muy bien. Le permite mantener una sesión gráfica persistente entre las conexiones, para que pueda desconectarse y reconectarse, y todo quedará tal como lo dejó. También es compatible con túneles sobre SSH. Consulte estos documentos de la comunidad de Ubuntu para obtener una breve descripción y algunas instrucciones sobre cómo configurarlo.

Alex Grin
fuente
1

He usado con éxito freenx en Ubuntu usando el cliente de Windows de http://nomachine.com .

Para mí, esto fue permitirme usar una tableta antigua (que luchó incluso con una instalación limpia de Windows XP) como interfaz para una máquina de escritorio Ubuntu más potente.

El único problema que tuve fue que necesitaba convertir los "Efectos visuales" en ninguno para obtener un rendimiento decente.

Iba a comentar sobre la respuesta de txwikinger sugiriendo nxserver, pero no tengo suficiente reputación.

Gran ola
fuente
1

La configuración para el acceso remoto a X puede ser desalentador e implica múltiples pasos.

Yo uso x2go, que es carga y listo, y excepcionalmente fácil de usar. Le ofrece un escritorio completo, como si hubiera conectado una nueva pantalla y teclado a su servidor. Tiene funcionalidad X completa.

x2go NO es una solución de "escritorio remoto". Tienes una sesión completamente nueva. Sin embargo, puede desconectarse y volver a conectarse desde la misma máquina o con una máquina diferente con el cliente x2go; Su escritorio es persistente. Lo mejor de todo es que el escritorio de su máquina cliente es completamente escalable en tiempo real simplemente cambiando el tamaño de la ventana.

x2go usa ssh para el transporte, por lo que sus datos están encriptados. Esto simplifica el paso de cortafuegos. La velocidad no se siente afectada por el uso de ssh para el transporte.

El software del cliente x2go está disponible para Linux, Windows y Mac.

Muy buen software libre y de código abierto. Lo uso todos los dias.

Hugh Buntu
fuente