X11 Encaminhando por ssh - Não foi possível encontrar ':' em DISPLAY: 1

2

Estou tentando conectar-me do meu mac (Xquartz instalado) a um servidor Ubuntu. Eu uso a opção -Y com ssh. Quando eu ssh para o servidor e executo qualquer aplicativo gráfico por exemplo xclock, recebo o seguinte erro

$xclock
Could not find ':' in DISPLAY: 1
Error: Can't open display: localhost:10.0

O encaminhamento do X11 está definido em sshd_config

$ grep -i X11Forward /etc/ssh/sshd_config
# Setting X11Forwarding to "yes" permits encrypted X connections.
X11Forwarding yes

e

$ echo $DISPLAY
localhost:10.0

Alguém pode me ajudar nesse sentido?

    
por psteelk 06.02.2015 / 10:02

1 resposta

3

Eu darei uma resposta genérica aqui, porque outras pessoas podem estar com dificuldades para configurar o encaminhamento do X em um Mac aqui. Eu acho que no seu caso específico, tente executar o ssh de XQuarts em vez de executá-lo no terminal. Certifique-se também de ter o XForwarding no lado server e reinicie o sshd depois de ajustá-lo.

Pré-requisitos para executar aplicativos X no OS-X:

  • Você precisa ter o XQuartz instalado no lado do cliente (verifique se ele está funcionando para sua conta executando o XQuarts e iniciando um terminal local )
  • Você precisa permitir o XForwarding no seu servidor. Defina a opção X11Forwarding (mais comumente encontrada em /etc/ssh/sshd_config ): X11Forwarding yes (não se esqueça de reiniciar o servidor ssh após editar o arquivo sshd_config).
  • Seu servidor sshd deve estar em execução no lado do servidor.
  • Seu firewall (em ambas as extremidades) deve permitir o tráfego pela porta 22.

Rodando X sobre ssh:

  1. Inicie um terminal XQuartz iniciando XQuartz e pressionando + n
  2. No tipo de terminal: ssh -X [username]@[servername] (você também pode usar -Y em vez de -X )
  3. Você deve estar logado no seu servidor. Tente xeyes , por exemplo, para que X olhe para você.

Solução de problemas:

  • "Conexão recusada": verifique as configurações do firewall (em ambas as extremidades) e verifique se o servidor ssh (sshd) está sendo executado no lado do recebimento.
  • $ DISPLAY errors: o ssh deve cuidar da configuração da variável $ DISPLAY. Se você está executando o XQuartz, isso significa que (por uma razão ou outra) o ssh não pôde configurar uma sessão Xforwarded. Verifique quaisquer erros nos seus arquivos de log (particularmente no lado do servidor) e tente ssh com a saída detalhada -v ou mesmo -vv ou -vvv e procure por dicas). Não adultere a definição $ DISPLAY, porque é o efeito do ssh não conseguir estabelecer um túnel, nem a causa .
por 06.02.2015 / 13:15