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:
- Inicie um terminal XQuartz iniciando XQuartz e pressionando ⌘ + n
- No tipo de terminal:
ssh -X [username]@[servername]
(você também pode usar-Y
em vez de-X
) - 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 .