Noções básicas sobre a variável de ambiente DISPLAY do Windows X durante o tunelamento

9

Eu quero ssh para servidores remotos, ambos executando CentOS com X11Forwarding ativado.

No entanto, o aplicativo X não pode ser executado corretamente em um deles - no host B funciona bem. Mas no host A eu recebo o erro "não consegui conectar para exibir", toda vez que eu inicio o aplicativo X.

Após verificar a variável de ambiente DISPLAY no host A, que acho que está relacionado à janela X, encontrei seu valor localhost:10.0 . Seguindo as dicas aqui , altero DISPLAY=0:10.0 e trabalho. No entanto, DISPLAY no host B ainda é localhost:10.0 e funciona bem.

Minha pergunta é: qual é o valor em DISPLAY ? Qual é a diferença entre localhost:10.0 e 0:10.0 ?

Diz-se que localhost identifica um nome de host. Então, qual host identifica, o servidor (host A / B) no qual meu aplicativo X está sendo executado ou meu cliente local onde eu quero que a janela X seja exibida?

Quaisquer sugestões ou ponteiros para documentação seriam apreciados.

    
por Summer_More_More_Tea 16.12.2011 / 06:30

1 resposta

5

Parte da resposta pode ser encontrada aqui: link

A variável DISPLAY é basicamente 3 componentes:

<host>:<display>[.<screen>]

No que diz respeito ao localhost, também conhecido como 127.0.0.1 vs. 0.0.0.0 aka 0, você pode dar uma olhada neste post:

link

O que explica a diferença.

No seu caso particular, 0.0.0.0:10.0 e localhost: 10.0 teriam o mesmo efeito, mas basicamente significam:

  1. conecte-se a qualquer interface que tenha a exibição 10 configurada
  2. conecte-se no lo0 ao ouvinte da exibição 10.

Praticamente não haveria diferença, pois no primeiro caso a varredura de todas as interfaces começaria com lo0, que normalmente é a primeira interface na lista.

    
por 19.12.2011 / 17:32