Porque não há nada ouvindo lá. Se você espera que um servidor X responda, você precisará informá-lo para ativar o TCP (remova -nolisten tcp , por exemplo, ou adicione -listen tcp para aqueles que não escutam TCP por padrão).
Mas se você não precisa que o seu servidor X seja acessado diretamente pela rede (além de tunnelled / proxied sobre ssh ), provavelmente é mais sensato deixá-lo lá.
Você pode se conectar ao seu servidor X com um soquete de domínio Unix. Por exemplo (para :0 ) com:
socat - /tmp/.X11-unix/X0
Qual seria o equivalente de:
socat - tcp:localhost:6000
Ou (como você está no Linux), com um soquete de domínio abstract :
socat - abstract:/tmp/.X11-unix/X0
Outras razões pelas quais você não pode falar com o seu servidor X seriam se ele estivesse ouvindo em uma porta diferente (6000 é para a exibição :0 ) ou não naquele endereço ou no endereço curinga ou em um protocolo de rede diferente ( IPv6 em vez de IPv4 ), ou se houver uma regra de firewall rejeitando conexões lá.