Pergunta

Eu tenho o Xming X Window Server instalado em um laptop executando o Windows XP para conectar-me a alguns servidores de desenvolvimento UNIX.

Funciona bem quando me conecto diretamente à rede da empresa no escritório.No entanto, não funciona quando me conecto à rede remotamente por meio de uma VPN.

Quando inicio o Xming quando conectado remotamente, nenhuma das janelas do meu terminal é exibida.

Acho que pode ter algo a ver com a variável de ambiente DISPLAY não estar configurada corretamente para o endereço IP do laptop quando ele está conectado.

Percebi que quando faço um ipconfig enquanto estou conectado remotamente, meu laptop tem dois endereços IP, aquele atribuído a ele pela rede da empresa e o endereço IP local que configurei para ele na minha "rede local" do meu modem/roteador.

Há algumas alterações de configuração que preciso fazer no Xming para oferecer suporte ao seu uso por meio da VPN?

Foi útil?

Solução

Provavelmente é a autenticação X, a ligação do servidor X a uma interface ou sua variável DISPLAY.Eu não uso o Xming, mas há alguns fenômenos gerais a serem verificados.Um teste que você pode fazer para verificar manualmente se a variável DISPLAY está correta é:

  1. Inicie sua VPN.Execute ipconfig para ter certeza de que possui os dois endereços IP mencionados (seu IP local e seu IP VPN).
  2. Comece o Xming.Execute 'netstat -n' para ver como ele está vinculado à interface.Você deverá ver algo que diz localIP:6000 ou VPNIP:6000.Pode não ser 6.000, mas é provável que seja algo assim.Se não houver VPNIP:6000, ele poderá estar vinculado apenas ao seu IP local ou mesmo ao 127.0.0.1.Provavelmente isso não funcionará na VPN.Verifique se existem algumas configurações do Xming para vinculá-lo a outras ou a todas as interfaces.
  3. Se você vir VPNIP:6000 ou algo semelhante, anote o que ele diz e faça um shell remoto em seu host UNIX (espero que seja algo como ssh, se não o que for necessário, para obter um terminal de texto).
  4. No terminal UNIX digite 'echo $DISPLAY'.Se não houver nada exibido, tente 'export DISPLAY=VPNIP:0.0' onde VPNIP é o seu endereço IP VPN e 0.0 é a porta que você viu na etapa 3 menos 6000 com .0 no final (ou seja,6000 = 0,0, 6010 = 10,0).
  5. No host UNIX, execute algo como 'xclock' ou 'xterm' para ver se funciona.A mensagem de erro deve ser informativa.Ele lhe dirá que não foi possível se conectar ao host (um problema de conectividade) ou que a autenticação falhou (você precisará coordenar o Xauth no seu host e na máquina local ou Xhosts na sua máquina local).

Abrir Xhosts (com + para todos os hosts ou algo semelhante) não é tão ruim se você tiver uma rede protegida localmente e estiver usando uma VPN.Esperamos que isso ajude você a rastrear o problema.Outra opção que costuma ser útil, pois funciona em VPN ou conectividade SSH simples, é o tunelamento SSH ou encaminhamento X11 por SSH.Isso simula a conectividade com o servidor X em sua caixa local redirecionando uma porta em seu host UNIX para a porta local em sua caixa de servidor X.Sua exibição normalmente será algo como localhost:10.0 para a porta 6010 local.

O X pode ser difícil de configurar, mas geralmente funciona muito bem quando você pega o jeito.

Outras dicas

Obrigado pela ajuda @Stephen e @Greg Castle, com ele consegui resolver meu problema.

Para fornecer um guia básico para outras pessoas (do zero):

Usando o Xwindows em um PC com Windows para conectar-se a um servidor UNIX por meio de uma VPN

O que você precisa para começar:

O que fazer:

  1. Instale ambos os itens acima em seu PC com Windows

  2. No menu Iniciar do Windows selecione:Programas -> Xming -> Xming

  3. Execute o programa Putty.exe no local onde você o baixou

  4. Na tela de configuração do PuTTY faça o seguinte:

    • Defina o endereço IP como o endereço IP do seu servidor UNIX

    • Selecione o botão de opção Protocolo SSH

    • Clique no SSH:Categoria Túneis no painel esquerdo da tela de configuração

    • Clique na caixa de seleção Habilitar encaminhamento X11

    • Clique no botão Abrir

    • Faça logon normalmente em seu servidor UNIX

    • Verifique se o diretório que contém os utilitários do X Windows está em seu caminho, por exemplo./usr/X/bin no Solaris

    • Execute os comandos do X Windows na janela do PuTTY e eles gerarão novas janelas na sua área de trabalho

Coloquei Xming e PuTTY trabalhando com Cisco VPN substituindo a configuração do PuTTY em Connection > SSH > X11 > X display location, localhost:0.0, com VPNIP:0.0. VPNIP pode ser visto no VPN statistics client address information clicando com o botão esquerdo no VPN client ícone de cadeado e escolha Statistics....

Não me preocupei com a variável de ambiente DISPLAY no host remoto.Mas, como outros, modifiquei sshd_config no host remoto, adicionando estas linhas:

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
AddressFamily inet

Não tive nada além de problemas com o Xming.Quando consegui fazê-lo funcionar, foi extremamente lento (isso é por meio de uma VPN).IMO X não foi projetado para funcionar em conexões lentas, é muito falador.E por conexão lenta quero dizer qualquer coisa menos que uma conexão LAN.

Minha solução foi usar o x11vnc.Ele permite que você acesse sua sessão X11 existente através do VNC.Acabei de entrar na minha caixa através da VPN e iniciar:

$ x11vnc -display :0

Dessa forma posso acessar tudo que abri durante o dia.Então, quando não o faço, simplesmente saio (Ctrl-C) no terminal para fechar o x11vnc.

Eu tenho o mesmo problema com Xming e Putty em uma máquina Windows 10 e encontrei a solução aqui.Eu superei o problema apenas adicionando Túneis para a sessão no PuTTY.Mas primeiro você precisa verificar;

  • sshd_config em /etc/ssh (em rhel7).
  • Habilitar encaminhamento X11 no painel de navegação esquerdo Connections > SSH > X11
  • tabelas de ip em /etc/sysconfig/ (em rhel7).Se as portas estiverem bloqueadas e você tiver permissão, abra as portas para 6.000.Eu adicionei a linha abaixo antes da primeira linha de rejeição para abrir portas de 6000 a 6003.Pode ser mais específico no seu caso.

    -A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5903,6000:6003 -j ACCEPT

Então;

  • Vá para Connections > SSH > Tunnels no PuTTY e adicione um túnel com Source Port=6000, Destination=127.0.0.1:6000 e verifique Remote botao de radio.Em seguida, clique no Add botão.
  • Depois que sua conexão SSH for estabelecida, defina sua variável DISPLAY manualmente com o comando abaixo:
    export DISPLAY=127.0.0.1:0.0

Mais Informações;
Se você definir DISPLAY variável como 127.0.0.1:1.0, ele se comunicará pela porta 6001.Neste caso, você precisa adicionar outro túnel para a porta número 6001.

Não tenho o problema exato, mas acho que você precisa dar uma olhada no xhost e ter certeza de que o controle remoto VPN tem permissão para enviar dados para o servidor x.

Este link pode ajudar:http://www.straightrunning.com/XmingNotes/trouble.php

Você pode ter mais sorte fazendo Encaminhamento X11 através do SSH em vez de mexer diretamente na sua variável DISPLAY.O encaminhamento X11 com SSH é seguro e usa a conexão SSH existente para encapsular, portanto, trabalhar por meio de uma VPN não deve ser problema.

Felizmente, isso é bastante simples com o Xming.Se você abrir sua conexão no Xming (por exemplo,a opção plink) Acredito que ele configura o encaminhamento do X11 por padrão.Se você se conectar usando outro cliente SSH (por exemplo,PuTTY), então você simplesmente precisa ativar o encaminhamento X11 (por exemplo,'ssh -X usuário@host').No PuTTY a opção está em Conexão -> SSH -> X11 -> clique em 'Ativar encaminhamento X11'.

Certifique-se de que o Xming esteja sendo executado em segundo plano no seu laptop e faça o teste X padrão, ‘xclock’.Se você receber uma mensagem como 'X conexão com o localhost: 19.0 quebrado (corte explícito ou desligamento do servidor).' Então o Xming provavelmente não está em execução.

Além disso, certifique-se de não definir explicitamente sua variável DISPLAY em nenhum script de inicialização;O SSH configurará um alias (algo como localhost:10 ou no exemplo acima localhost:19) para o túnel X11 e definirá automaticamente DISPLAY para esse valor.Substituir DISPLAY obviamente significará que você não estará mais apontando para o túnel X11 correto.O outro lado disso é que outros terminais que não possuem o encaminhamento SSH X11 configurado podem usar o mesmo valor DISPLAY e aproveitar as vantagens do túnel.

Tenho tendência a preferir a opção PuTTY, mas vários dos meus colegas de trabalho usam o plink no Xming.

putty + XMing - tive que definir a variável de ambiente DISPLAY manualmente para fazer as coisas funcionarem (além de marcar "Ativar encaminhamento de X11" em putty - Connection/SSH/X11)

exportar DISPLAY=0:10.0

(foi definido como "localhost:10.0", o que não funcionou)

Você deve adicionar os nomes DNS e o endereço IP da máquina Linux ao arquivo C:\Program Files\xming\X0.hosts.O arquivo deve conter:

LinuxBox.mydomain.com
LinuxBox
192.168.1.25

Esta é a resposta certa: https://www.slackwiki.com/X_Windows:_Remote_X_to_Windows_with_Xming

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top