como executar o gnome-terminal na máquina remota centos 7?

como executar o gnome-terminal na máquina remota centos 7?

Minha máquina local é linux mint e a remota é centos 7. Tento abrir o gnome-terminal na máquina remota com x-forwarding e não está funcionando.

Quando me conecto ao host no modo interativo

$ ssh -Y centos-host

Então, na sessão aberta, posso executar o gnome-terminal e o 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      -  

No entanto, quando eu tento você corre

$ ssh -Y centos-host gnome-terminal

A janela com o terminal gnome foi aberta, mas nenhum túnel para o X foi criado.

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      -

Eu tenho outra máquina remota Linux Mint e não tive esse problema com ela. Então, acho que há algo errado com o centos 7.

Por favor ajude.
Obrigado.

Responder1

A razão é que gnome-terminalisso fica em segundo plano. Se você executá-lo em sua sshsessão interativa, notará que receberá um novo prompt de comando, mesmo que o terminal ainda esteja aberto. No caso não interativo, assim que isso acontecer, sshpensará que o comando foi encerrado e fechará a sessão, inclusive fechando o soquete X11 de escuta no servidor. Como ainda existem conexões X11 ativas, sshnão sai imediatamente, por issovisualcomo se a sessão ainda estivesse ativa, porém nenhuma nova conexão X11 pode ser aberta.

Você costumava fazer isso usando gnome-terminal --disable-factory, mas infelizmente isso foi removido gnome-terminalem algum momento. Você tem duas opções agora:

  • Use outro programa de terminal que não fique em segundo plano, por exemploxterm
  • Logo após iniciar gnome-terminal, na mesma sshsessão execute um comando que não termina, por exemplossh -Y server 'gnome-terminal; echo Press enter to exit; read'

Responder2

Configuração:

  • CentOS Linux versão 7.6.1810 (núcleo)
  • /etc/ssh/sshd_configcontém:
X11Forwarding yes

O seguinte comando funciona para mim:

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

O gnome-terminal --disable-factoryque me informou --disable-factorynão era mais suportado.

informação relacionada