Estou usando o Putty em uma máquina Windows para ssh em outro servidor. Uma vez lá, estou tentando usar o encaminhamento X11 para abrir janelas no meu computador. O sistema remoto não é o problema, pois é um sistema grande que é usado com sucesso por muitos outros usuários da mesma maneira.
Entro no sistema via Putty sem problemas e depois corro startxwin
no cygwin. No entanto, ao rodar xterm
em Putty, recebo o erro em xterm Xt error: Can't open display: localhost:##.0
que os sinais de libra são dois números inteiros cujo valor muda cada vez que faço login.
- Tenho o encaminhamento X11 ativado nas configurações de Putty
- Tentei definir o "local de exibição do X" para
localhost:0
- Garanti o download do pacote X11 para o cygwin
- Eu tentei usar apenas em
startx
vez destartxwin
- Eu tentei
setenv DISPLAY localhost:0
esetenv DISPLAY my.ip.address
Infelizmente, o problema persiste. Eu esgotei meus recursos do Google sobre este tópico e gostaria muito de receber qualquer ajuda. Obrigado!
localhost:##.0
Que números reais você está vendo aqui? Que tipo de software X você está executando no computador Windows?Respostas:
As atualizações recentes do Cygwin alteraram seu servidor X para não atender às conexões TCP por padrão. Em vez disso, o X do Cygwin usa (a implementação do Cygwin) de soquetes de domínio Unix e o PuTTY (como um programa nativo do Windows) não sabe como usá-los.
Os Cygwin X FAQ e Cygwin discussão listas têm mais detalhes.
Minha solução foi usar o atalho padrão do Cygwin que usa o startxwin para iniciar o X:
e substitua-o por uma invocação direta do xinit pelas minhas opções desejadas (adicionar
-listen tcp
e remover-auth
):Isso é menos seguro do que os novos padrões do Cygwin; ele deve ser usado apenas em um sistema de usuário único e a configuração do firewall para bloquear as conexões com o XWin pode ser sensata.
fonte
Como alternativa ao que Josh Kelley disse, você também pode editar o arquivo startxwin e adicionar o "-listen tcp" aos argumentos padrão do servidor.
Antigo: defaultserverargs = "- janela múltipla"
Novo: defaultserverargs = "- multiwindow -listen tcp"
Também com a autenticação ativada, tive que apontar a massa para o arquivo de autenticação criado pelo script startxwin. O meu estava localizado aqui: c: \ cygwin64 \ home \ USERNAME.Xauthority
Como esse arquivo é recriado, você terá que reiniciar as sessões de massa após redefinir seu xserver.
Por segurança, você também pode permitir apenas conexões do host local, pois é nesse local que a massa o encaminha.
fonte
Por favor, tente definir o "local de exibição do X" para ': 0,0'!
Josh Kelley mencionou o Cygwin X FAQ :
fonte
É para xming, mas talvez este faq seja de alguma ajuda? A idéia por trás disso é a mesma, mas usar xming em vez de cygwin em sua máquina local. https://wiki.utdallas.edu/wiki/display/FAQ/X11+Forwarding+using+Xming+and+PuTTY
fonte
Como outros já disseram, o truque é adicionar
-listen tcp
aos argumentos do servidor. No entanto, eu recomendo fazer isso chamandostartxwin -- -listen tcp
para deixarstartxwin
criar o restante doxinit
comando.Em um atalho do menu Iniciar:
fonte