У меня была такая же проблема, и я нашел решение. Причиной ошибки не является передача MIT-MAGIC-COOKIE-1 в корень. Этот файл хранится в ~/.Xauthority. У вас есть три варианта.
1) Быстрое исправление будет загружать всю пользовательскую среду
$ sudo -E python myscript.py
Опция -E будет загружать среды оболочки root из домашнего каталога пользователя. Итак, ~/.Xauthority пользователя будет прочитан. Тем не менее, это своего рода грубая сила и не рекомендуется для обеспечения безопасности.
2) перечислите ключ и загрузите его в root /root /.Xauthority
Еще один способ напрямую загрузить ключ в 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) настройка и передача значения среды XAUTHORITY.
Вы можете указать.Файл Xauthority с XAUTHORITY, однако, по умолчанию он не установлен и просто загружает файл из ~/.Xauthority. Итак, дайте вариант sudo таким образом.
$ sudo XAUTHORITY=${HOME}/.Xauthority python myscript.py
root получит XAUTHORITY =/home/(пользователь)/.Xauthority, и прочитайте файл соответственно.