¿Cómo puedo ejecutar una GUI en mi server a través de SSH?

La mayoría de las personas desean poder reenviar una window a través de ssh a la máquina desde la que inician session. Quiero hacer lo opuesto.

Estoy en mi escritorio y estoy iniciando session a través de ssh en mi server. El server es esencialmente un centro multimedia y su pantalla es mi TV. Quiero poder iniciar chromium-browser desde mi session ssh pero hacer que se muestre en el server, no en mi máquina local.

Solo ejecutando chromium-browser & no funciona y me da el Gtk: cannot open display error de Gtk: cannot open display . ¿Tengo que establecer una variable de entorno en el server para "exportar la pantalla a sí mismo"?

Sí, un progtwig X usa la variable de entorno DISPLAY para averiguar dónde debe enviar la pantalla. Al usar SSH, su entorno DISPLAY puede configurarse automáticamente para reenviar la DISPLAY a través de la connection ssh a su máquina cliente (puede verificar con echo $DISPLAY ). Si no está ejecutando un server X en su máquina local, su progtwig remoto se quejará de que no puede abrir la pantalla.

Debería poder iniciar explícitamente su browser en la pantalla adjunta localmente usando:

 env DISPLAY=:0 chromium-browser & 

:0 es la abreviatura de "el número de pantalla localmente conectado 0".

Necesita un server X en ejecución en su máquina remota, y sepa en qué pantalla está configurado, es decir, DISPLAY = localhost: 1

Haga ssh en su server, exporte la variable de visualización

 export DISPLAY=localhost:1 

Luego, inicia tu GUI.

ssh también tiene su propia function X de reenvío. Tal vez se deba configurar en el sshd.conf, con la directiva X11Forwarding On. En este caso, tendrá una variable de entorno PANTALLA preestablecida, con esa PANTALLA llamada progtwigs X11 se reenviará a través de su sne cobnection y se cifrará. Junto a eso, podrás get aplicaciones X detrás de una NAT.

En cualquier caso, aparte de configurar correctamente la variable DISPLAY, utilizando el conmutador ssh -X (o -Y) … ¿está seguro de que el host puede mostrar adecuadamente el material remoto?

Asegúrese de que los hosts remotos estén autorizados para enviar información a su pantalla mediante el command xhost.