我的设置是:
我是我的RPi的AFP编辑,SSH编辑和VNC编辑,我可以运行我编写的所有命令行脚本,也可以打开任何已安装的GUI应用程序,但是,当我想要运行基于tkinter的GUI应用程序,以控制连接到GPIO的一些硬件,我有这样的错误消息:
Client is not authorized to connect to ServerTraceback (most recent call last):
...
_tkinter.TclError: couldn't connect to display ":1"
我的猜测是,这与RPi没有附加物理显示的事实有关,虽然我不知道如何解决这种情况。
提前致谢!
答案 0 :(得分:6)
我在RaspberryPi Stack Exchange网站上询问this question,@hildred为此提供了一个漂亮的解决方案:
将这几行写到etc/sudoers
*:
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Defaults env_keep += "DISPLAY"
Defaults env_keep += "XAUTHORITY"
这几行到~/.bashrc
:
if [ -z "$XAUTHORITY" ]; then
if [ -e $HOME/.Xauthority ]; then
export XAUTHORITY=$HOME/.Xauthority;
fi;
fi
**在Raspbian上,这将是etc/sudoers.d/README
例如*
答案 1 :(得分:1)
Raspberry Pi论坛上的一个人solved a similar problem with tkinter:
一个简单的解决方法是为root授予使用权限 X11连接。同样,在LXTerminal窗口中:
pi@raspberrypi ~ $ sudo xauth add `xauth list`