2013-05-04 06:02:20 +0000 2013-05-04 06:02:20 +0000
16
16

Como faço para que o X11 Forwarding funcione em Windows com PuTTY e Xming?

Sempre quis que o X11 Forwarding funcionasse com PuTTY, e o sistema X Window que estou a utilizar é o Xming. Quando tenho o Xming em execução e estabeleço uma nova ligação ao meu servidor, recebo o seguinte após um comando:

$ firefox
PuTTY X11 proxy: wrong authentication protocol attemptedPuTTY X11 proxy: wrong authentication protocol attemptedError: cannot open display: localhost:10.168

$ google-chrome
PuTTY X11 proxy: wrong authentication protocol attempted
(google-chrome:7083): Gtk-WARNING **: cannot open display: localhost:10.168

$ gedit
PuTTY X11 proxy: wrong authentication protocol attempted
**(gedit:6990): WARNING**: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attemptedCannot open display:
Run 'gedit --help' to see a full list of available command line options.

$ gnome-system-monitor
PuTTY X11 proxy: wrong authentication protocol attempted
**(gnome-system-monitor:7024): WARNING**: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attempted
(gnome-system-monitor:7024): Gtk-WARNING **: cannot open display: localhost:10.168

Como corrijo estes erros e faço com que o X11 Forwarding funcione como um todo?

Respostas (2)

16
16
16
2015-06-01 13:27:12 +0000

Tive 2 problemas e descobri que esta questão tinha os problemas mais próximos dos meus, por isso pensei que a minha solução seria útil para outros que aqui chegam, tentando resolver o mesmo problema que eu. O meu sistema tem Cygwin/X (xinit 1.3.4-5), e PuTTY (0.64). Consegui chegar ao fundo do problema colocando tanto o tcp –listen tcp no startxbin local como passando o caminho para .Xauthority para putty.

Primeiro, em referência ao “proxy PuTTY X11: incapaz de se ligar ao servidor X reencaminhado: Erro de rede: Erro "ligação recusada”, é necessário fazer a sessão X ouvir para as ligações: Abrir um terminal cygwin e editar /usr/bin/startxwin encontrar a linha…

defaultserverargs="-multiwindow"

e altere para…

defaultserverargs="-multiwindow -listen tcp"

Em segundo lugar, em resposta ao erro “Autorização necessária, mas sem protocolo de autorização especificado”, é necessário fazer com que o putty utilize os tokens correctos de xauth (algo estranho parece ir para dentro do putty, por isso xauth list localmente não dá tokens que a ligação reencaminhada possa utilizar passando-os em xauth add <token>, eles parecem precisar de ser definidos por PuTTY na ligação, para que possam funcionar).
Encontre o caminho, no domínio windows, onde o seu ficheiro ~/.Xauthority está a correr (no terminal cygwin novamente)

cd ~
explorer .

Verifique as propriedades no ficheiro .Xauthority e tome nota da Localização para ele (seleccione-o e prima CTRL+C para o colocar na área de transferência).

Iniciar PuTTY como no exemplo acima (copiado de http://www.math.umn.edu/systems_guide/putty_xwin32.html )

Na página ‘Options controlling SSH X11 forwarding’, deverá ter verificado ‘Enable X11 forwarding’, e ‘MIT-Magic-Cookie-1’ definido como o protocolo.
Sob o campo ‘X authority file for local display’, clique em Browse e utilizando a Localização para o ficheiro .Xauthority de que tomou nota anteriormente, encontre o ficheiro .Xauthority. Clique em Abrir para preencher o campo, depois volte à Sessão (em configuração PuTTY) e guarde a sessão. Depois pode clicar em Abrir.

Deverá agora permitir-lhe ligar-se.

9
9
9
2013-05-06 18:23:38 +0000

Copiado de: http://www.math.umn.edu/systems_guide/putty_xwin32. html

Configurando o Putty

  • Adicionar hostname Unix
  • Mudar protocolo para SSH
  • Digitar o nome da sessão em sessões guardadas
  • Clicar em ‘Guardar’

  • Expandir o separador ‘SSH’ da lista ‘Categoria’
  • Escolher ‘X11’ da lista ‘SSH’
  • Verifique ‘Habilitar X11 Forwarding’

  • Escolha ‘Sessão’ da lista ‘Categoria’
  • Clique em ‘Guardar’

Iniciar o X Server no Windows

Configurar Xming

Basta executar “Todos os Programas > Xming Xming” e deverá funcionar se tiver o PuTTTY configurado.

Ligando

  • Iniciar Xming
  • Iniciar Putty
  • Faça duplo clique na sessão guardada que pretende

  • Introduza o nome de utilizador e a palavra-passe conforme solicitado
  • Deverá agora poder executar aplicações X a partir do anfitrião no seu ambiente de trabalho local

EDIT: Para corrigir o erro wrong authentication protocol attempted, tente activar o “ForwardX11Trusted yes” no ficheiro /etc/ssh/sshd_config e depois reinicie o servidor OpenSSH.