X pode ser um pouco confuso quando se trata de "servidor" e "cliente". Um servidor X está servindo um monitor, teclado e mouse para clientes X que são programas rodando na mesma máquina que o servidor X ou em alguma outra máquina na rede.
Se você está sentado em um PC Windows rodando o Xming, então o Xming é o seu servidor X. Você diz aos clientes X (programas) para se conectarem a esse servidor X configurando a variável de ambiente DISPLAY apontando para a máquina e exibindo o número. Sim, uma única máquina pode ter mais de um servidor X em execução, eles terão números de exibição diferentes. Exemplo:
export DISPLAY=192.168.1.12:0
Em seguida, temos o ssh e sua capacidade de fazer o encaminhamento de porta. Um caso especial de encaminhamento de porta ssh é o encaminhamento de X. Para que isso funcione, o cliente ssh precisa saber com qual DISPLAY se conectar e o servidor ssh precisa permitir o X11Forwarding. Com este tipo de configuração, DISPLAY pode ser configurado para algo como localhost: 0 em sua máquina cliente ssh e, uma vez conectado por ssh, o servidor sshd irá configurar DISPLAY para algo como localhost: 10 na máquina servidora Linux. Todo o tráfego X enviado para DISPLAY localhost: 10 na máquina Linux será então criptografado por ssh e encaminhado para localhost: 0 na máquina Xming.
Meu palpite é que seus servidores em funcionamento possuem X11Forwarding = yes em / etc / ssh / sshd_config, mas seus servidores com problemas possuem o padrão X11Forwarding = no. Isto poderia explicar porque a variável DISPLAY não está definida quando logado por ssh, mesmo que a opção -X ou -Y tenha sido dada para ssh. Você poderia consertar isso alterando / etc / ssh / sshd_config, ou você poderia definir manualmente a variável DISPLAY para apontar para sua máquina Windows sem tunelamento através de ssh.