Instalei o WSL2 e quero acessar os aplicativos WSL2 GUI do Windows 10. Para isso, instalei o Xming e o iniciei no modo "Sem cliente". Xming começa, ok. Depois de abrir o terminal WSL2 e executar esses comandos
export DISPLAY=:0
E depois
xeyes
E obter erro
Error: Can't open display: :0
X11Forwarding verificado, sim.
Problema resolvido ao executar este comando
Este comando também pode ser adicionado em arquivos de inicialização do shell, por exemplo,
.bashrc
,.zshrc
etc.Certifique-se também de permitir o acesso público do servidor X em execução no Windows 10. Para VcXsrv , a
-ac
opção é mais importante porque permite o acesso público. Para Xming , execute XLaunch e na parte "Especificar configurações de parâmetro" selecione "Sem controle de acesso".Para obter mais informações, consulte esta discussão Microsoft/WSL: Can't use X-Server in WSL2 .
Encontrei esse problema depois de alterar a versão da minha distribuição WSL Ubuntu de 1 para 2. Usando
não era suficiente. De acordo com https://github.com/microsoft/WSL/issues/6181 precisei reconfigurar o firewall. Isso pode ser feito por
Após essas 2 alterações, o problema foi resolvido.
Siga esses passos:
Abra o PowerShell como administrador e execute:
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
Agora abra o WSL2 e execute:
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2; exit;}'):0
Agora
xeyes
Para coLinux usando
eth0=slirp
com a configuração padrão, o Xming no host do Windows pode ser acessado usandoexport DISPLAY=10.0.2.2:0
(ou 0.0). Usar a solução de biswapriyo não funcionaria neste caso porque slirp define o IP do resolvedor para 10.0.2.3, mas sua resposta me fez perceber o que eu estava fazendo de errado.