Se você acessar o X11 em vez de sockets UNIX, ele deverá "apenas funcionar". Aparentemente, os soquetes do domínio UNIX não são segregados pelo namespace da rede.
Desde que você está recebendo um erro, então eu acho que você está usando TCP, não soquetes UNIX.
Para se conectar ao X11 com o TCP, você terá que proceder da mesma forma que faria para acessar qualquer outro serviço de rede através dos limites do namespace da rede: rotear o tráfego através da rede para o outro namespace. Por exemplo, crie um par de veth
interfaces de rede para atuar como um túnel entre namespaces ou passe por um roteador real. De qualquer forma, você terá que configurar endereços IP e roteamento.
Pode ser mais simples se você conseguir conectar-se através de sockets UNIX em vez de TCP. Normalmente, esse é o padrão. Tente apenas :10
como $DISPLAY
em vez de localhost:10
? Isso pode forçá-lo a usar o UNIX. Se seu servidor ou proxy X11 estiver apenas ouvindo em um soquete TCP, isso não funcionará.