¿Cómo accedo a mi servidor Ubuntu remoto a través de X-windows desde mi Mac?

35

Tengo un servidor Ubuntu (12.04 LTS) que se ejecuta de forma remota en un servicio de alojamiento en la nube. Lo he instalado a ubuntu-desktoptravés de apt-get:

$ sudo apt-get install ubuntu-desktop

Parece que no ha instalado ningún problema.

He confirmado que /etc/ssh/ssh_configen el servidor contiene las líneas

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

y que /etc/ssh/sshd_configen el servidor contiene la línea:

X11Forwarding yes

Luego reinicié el servidor. Volvió a subir sin problema.

Ahora, comenzando X11.app en mi Mac, se me presenta un Xterm.

Me conecto a mi servidor desde esta terminal usando:

$ ssh -X <myhost>

y me conecto al servidor, no hay problema.

En este punto no sé qué hacer. Yo he tratado

$ sudo startx

pero aparece el error "no se encontraron pantallas".

No tengo pantallas porque es un servidor en la nube sin cabeza, pero solo quiero acceder desde mi Mac a través de X.

¿Ahora que?

Magooda
fuente
2
Intenta instalarlo xvfb. No tengo experiencia con él, pero actúa como una pantalla sin hardware.
ζ--

Respuestas:

21

Hay varios métodos para lograrlo, dependiendo de lo que realmente necesite hacer.

Para reenviar aplicaciones remotas al entorno X local, debe instalar X11 en su Mac (puede encontrarlo en el sitio de soporte de Apple): http://support.apple.com/kb/DL1605?viewlocale=en_US&locale=en_US

Desde la aplicación X11, abra el terminal y luego acceda al host remoto con:

    ssh -XC user@host

Luego, cuando haya iniciado sesión, simplemente ejecute el comando para la aplicación deseada, por ejemplo: firefox, nautilus, thunderbird, lo que sea ...

Incluso puede iniciar solo el menú principal del sistema (Ubuntu, Xubuntu, Mint, etc.) e interactuar con el sistema remoto desde allí, sin la necesidad de una interfaz gráfica completa. En un entorno remoto de Linux Mint, simplemente ejecuto:

    mintmenu&

Si realmente lo necesita, incluso puede iniciar el entorno gráfico remoto localmente en el X11 de su Mac, simplemente ejecutando:

    ubuntu-session
    xubuntu-session
    etc... (depends of your remote environment)

¡Mejor que cualquier VNC, incluso mejor que una conexión X11VNC! Conexión segura y comprimida FTW.

undertuga
fuente
7

En su Mac, necesitará instalar XQuartz, si aún no lo ha hecho (consulte http://xquartz.macosforge.org ). Una vez que esté instalado, reinicie y abra una ventana de terminal XQuartz y SSH en su sistema Ubuntu Server:

ssh -X yourubuntuserver

Si lightdm se está ejecutando (consulte https://askubuntu.com/a/153423/66799 para leer cómo encenderlo y apagarlo según sea necesario), ejecute este comando para que Ubuntu Unity haga un túnel a su Mac a través de X11:

gnome-session --session=ubuntu-2d

Esto funciona para mí con Ubuntu Server 12.04 LTS y Mac OS X Mountain Lion 10.8.2, pero recibo errores ocasionales de Composiz. Dicho esto, siempre recibí errores de Composiz al ejecutar Ubuntu Desktop localmente también. (-:

Puede cerrar sesión en Unity para cerrar las ventanas del escritorio de Ubuntu.

Steve HHH
fuente
Esto funciona, XQuartx es necesario.
SmallChess
Funciona muy bien en Windows 10 en WSL con Xming para mostrar.
Duro
-1

Tienes la idea correcta pero la sintaxis incorrecta :)

startxno comenzará de nuevo sshporque necesita una pantalla (también conocido como Xservidor para hablar)

prueba este comando para iniciar la interfaz gráfica de escritorio

sudo service gdm start

Esto iniciará el entorno de escritorio.

desconectar.

e intenta

ssh -X nautilus username@host 

nota no probado por encima de la línea

Si todo funciona bien, debería ver la ventana emergente del administrador de archivos ubuntu. Si no, es posible que te falten algunas bibliotecas o que la sintaxis del comando sea incorrecta (en la parte superior de mi cabeza no lo intenté).

Matt Mootz
fuente
44
No hay necesidad (o razón) para correr sudo service gdm start. El servidor X se ejecuta en el cliente SSH, la máquina que se utiliza como estación de trabajo. No necesita ejecutarse en la máquina remota para ssh -Xfuncionar.
Eliah Kagan
Ah, no estaba al tanto de esto, gracias por la información.
Matt Mootz