tkinter通过VNC没有物理显示

Pet*_*aro 3 python vnc tkinter python-3.x raspberry-pi

我的设置是:

  • 一个Raspberry Pi,运行最新的Raspbian(完全更新),一个自编译的Python 3.3.3
  • 运行小牛队的Mac(10.9)

我是AFP-ed,SSH-ed和VNC-ed到我的RPi,我可以运行我编写的所有命令行脚本,而且我可以打开任何已安装的GUI应用程序,但是,当我想运行tkinter时基于GUI的应用程序,以控制连接到GPIO的一些硬件,我有这样的错误消息:

在此输入图像描述

Client is not authorized to connect to ServerTraceback (most recent call last):
    ...
_tkinter.TclError: couldn't connect to display ":1"
Run Code Online (Sandbox Code Playgroud)

我的猜测是,这与RPi没有附加物理显示的事实有关,虽然我不知道如何解决这种情况.

提前致谢!

Pet*_*aro 6

我在RaspberryPi Stack Exchange网站上提出了这个问题,@ 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"
Run Code Online (Sandbox Code Playgroud)

以下几行~/.bashrc:

if [ -z "$XAUTHORITY" ]; then
    if [ -e $HOME/.Xauthority ]; then
        export XAUTHORITY=$HOME/.Xauthority;
    fi;
fi
Run Code Online (Sandbox Code Playgroud)

**在Raspbian上,这将是etc/sudoers.d/README例如*