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.