Proxy Error Putty X11: Autorização não reconhecida

1

Estou desenvolvendo um robô com um Raspberry Pi e estou tendo problemas com o encaminhamento do X11. Quando vou executar meu script como:

   sudo python myscript.py

Eu recebo o erro:

   Putty X11 proxy: Authorisation not recognised
   (Imagen Combinada:3642) : Gtk-Warning **: cannot open display: localhost:10.0

Estou usando o PuTTY com o Xming (Ativando o SSH - > X11 - > Ativar o encaminhamento do X11).

Alguém sabe o que pode estar acontecendo aqui e como posso resolvê-lo?

    
por Dave 09.05.2015 / 13:51

2 respostas

4

Eu tive o mesmo problema e encontrei a solução. O motivo do erro não é passar o MIT-MAGIC-COOKIE-1 para a raiz. Este arquivo é armazenado em ~ / .Xauthority. Você tem três opções.

1) Correção rápida estaria carregando todo o ambiente do usuário

$ sudo -E python myscript.py
A opção

-E carregaria ambientes de shell raiz do diretório inicial do usuário. Então, ~ / .Xauthority do usuário será lido. No entanto, isso é meio que uma força bruta e não é realmente recomendado por questões de segurança.

2) liste a chave e carregue-a em root /root/.Xauthority

Outra maneira de carregar diretamente a chave para root .Xauthority.

pi@RPi-Dev:~$ xauth list
RPi-Dev/unix:10  MIT-MAGIC-COOKIE-1  5cxxxxxxxxxxxxxxxxxxxxxxxxxxx3d3
pi@RPi-Dev:~$ sudo -s
root@RPi-Dev:/home/pi# xauth add RPi-Dev/unix:10  MIT-MAGIC-COOKIE-1  5c5cxxxxxxxxxxxxxxxxxxxxxxxxxxxd3

3) configuração e aprovação do valor do ambiente XAUTHORITY.

Você pode especificar o arquivo .Xauthority com XAUTHORITY, no entanto, por padrão, ele não está definido e basta carregar o arquivo de ~ / .Xauthority. Então, dê a opção sudo dessa maneira.

$ sudo XAUTHORITY=${HOME}/.Xauthority python myscript.py

root terá XAUTHORITY = / home / (usuário) /. Xauthority, e leia o arquivo de acordo.

    
por 08.09.2016 / 00:21
0

É provável que sudo esteja causando o problema. Para verificar, você pode executar um aplicativo X (por exemplo, xeyes) sem sudo . Se isso funcionar, você pode executar o script python adicionando o cookie xauth à raiz:

dave@raspberrypi$ xauth list
raspberrypi/unix:10  MIT-MAGIC-COOKIE-1  1e656e1......2d6d5a

dave@raspberrypi$ sudo su 
# paste in the output from 'xauth list' below:
root@raspberrypi$ xauth add raspberrypi/unix:10  MIT-MAGIC-COOKIE-1  1e656e1......2d6d5a

dave@raspberrypi$ sudo python myscript.py
    
por 09.05.2015 / 16:20