¿Cómo ejecutar gnome-terminal en una máquina centos 7 remota?

¿Cómo ejecutar gnome-terminal en una máquina centos 7 remota?

Mi máquina local es Linux Mint y la remota es Centos 7. Intento abrir gnome-terminal en una máquina remota con x-forwarding y no funciona.

Cuando me conecto al host en modo interactivo

$ ssh -Y centos-host

Luego, en la sesión abierta, puedo ejecutar gnome-terminal y x-forwarding funcionando.

$ gnome-terminal 
$ netstat -nltp
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      -  

Sin embargo, cuando intento correr

$ ssh -Y centos-host gnome-terminal

La ventana con la terminal gnome se abrió, pero no se creó ningún túnel para X.

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -

Tengo otra máquina remota Linux Mint y no experimenté ese problema. Entonces, creo que algo anda mal con centos 7.

Por favor ayuda.
Gracias.

Respuesta1

La razón es que gnome-terminalse bifurca en un segundo plano. Si lo ejecuta en su sshsesión interactiva, notará que obtiene un nuevo símbolo del sistema aunque la terminal todavía esté abierta. En el caso no interactivo, tan pronto como esto suceda, sshpensará que el comando ha terminado y cerrará la sesión, incluido el cierre del socket X11 de escucha en el servidor. Como todavía hay conexiones X11 activas, sshno sale inmediatamente, por lo queaspectocomo si la sesión todavía estuviera activa, sin embargo, no se pueden abrir nuevas conexiones X11.

Solías poder hacer esto usando gnome-terminal --disable-factory, sin embargo, desafortunadamente esto se eliminó gnome-terminalen algún momento. Tienes dos opciones ahora:

  • Utilice otro programa de terminal que no se bifurque en segundo plano, por ejemploxterm
  • Directamente después de iniciar gnome-terminal, en la misma sshsesión ejecute un comando que no finalice, por ejemplossh -Y server 'gnome-terminal; echo Press enter to exit; read'

Respuesta2

Configuración:

  • CentOS Linux versión 7.6.1810 (Núcleo)
  • /etc/ssh/sshd_configcontiene:
X11Forwarding yes

El siguiente comando me funciona:

ssh -Y HOST bash -l -c gnome-terminal --display=${DISPLAY} < /dev/null > /dev/null  2>&1 &

El gnome-terminal --disable-factoryque me informó --disable-factoryya no fue apoyado.

información relacionada