퍼티 X11 프록시 오류 : 인증이 인식되지 않습니다 같이 실행할 때 :

Raspberry Pi로 로봇을 개발 중이며 X11 포워딩에 문제가 있습니다. 스크립트를 다음과 같이 실행할 때 :

   sudo python myscript.py

오류가 발생합니다.

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

Xming (SSH 사용-> X11-> X11 전달 사용)과 함께 PuTTY를 사용하고 있습니다.

누군가 여기서 무슨 일이 일어나고 있는지 어떻게 알 수 있습니까?



답변

나는 같은 문제가 있었고 해결책을 찾았습니다. 오류의 원인은 MIT-MAGIC-COOKIE-1을 루트로 전달하지 않기 때문입니다. 이 파일은 ~ / .Xauthority에 저장됩니다. 세 가지 옵션이 있습니다.

1) 빠른 수정은 모든 사용자 환경을로드합니다

$ sudo -E python myscript.py

-E 옵션은 사용자의 홈 디렉토리에서 루트 쉘 환경을로드합니다. 따라서 사용자의 ~ / .Xauthority를 ​​읽습니다. 그러나 이것은 다소 무차별 적이며 보안 문제로 실제로 권장되지는 않습니다.

2) 키를 나열하고 루트 /root/.Xauthority에로드하십시오.

루트 .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) XAUTHORITY 환경 값 설정 및 전달

XAUTHORITY를 사용하여 .Xauthority 파일을 지정할 수 있지만 기본적으로 설정되어 있지 않으며 ~ / .Xauthority에서 파일을로드하기 만합니다. 따라서 sudo 옵션을 이런 식으로 지정하십시오.

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

root는 XAUTHORITY = / home / (user) /. Xauthority를 ​​얻고 그에 따라 파일을 읽습니다.


답변

그 가능성이있을 것입니다 sudo문제를 일으키는. 확인하려면을 사용하지 않고 X 응용 프로그램 (예 : xeyes)을 실행할 수 있습니다 sudo. 경우 이 작동, 당신은 추가하여 파이썬 스크립트를 실행할 수 있습니다 xauth루트에 쿠키를 :

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


답변