Se você tiver um servidor X em execução e a variável de ambiente DISPLAY estiver configurada como :0 , isso dirá aos aplicativos para se conectarem ao servidor X usando um soquete de domínio unix que geralmente é encontrado no Linux em /tmp/.X11-unix/X0 (veja abaixo sobre o namespace abstrato no Linux recente).
Quando você faz o ssh para usinar remotemachine , sshd em remotemachine configura DISPLAY para localhost:10 (por exemplo), o que significa que as conexões X são feito por TCP para a porta 6010 do host local da máquina. O sshd em remotemachine escuta conexões para lá e encaminha qualquer conexão de entrada para o cliente ssh. O cliente ssh então tenta se conectar a /tmp/.X11-unix/X0 (no terminal local, não no remoto) para contatar o seu servidor X.
Agora, talvez você não tenha um servidor X em execução (você está no Mac?) ou talvez o soquete do domínio unix não esteja em /tmp/.X11-unix, o que significa que o ssh não foi configurado corretamente em tempo de compilação.
Para descobrir qual é o caminho correto para o soquete unix, você pode tentar um strace -e connect xlogo (ou o equivalente em seu sistema) em sua máquina local para ver o que um aplicativo X normal faz.
netstat -x | grep X também pode dar uma pista.
Para o registro, em uma máquina wheezy Linux Debian aqui, o Xorg escuta em /tmp/.X11-unix/X0 no sistema de arquivos e /tmp/.X11-unix/X0 no espaço de nomes abstrato (geralmente escrito @/tmp/.X11-unix/X0 ). De strace , os aplicativos X11 parecem agora usar esse namespace abstrato por padrão, o que explica por que eles ainda funcionam se /tmp/.X11-unix for removido, enquanto ssh não usa esse namespace abstrato.