Raspberry Pi 通过 shh 和 xming 的 Tkinter

Raspberry Pi Tkinter via shh and xming

我正在尝试通过 ssh 客户端和 xming 从树莓派 运行 Tkinter 脚本。通过 shh 登录到 pi 后,我使用命令:

gksudo python3 home/pi/PythonScripts/TkinterTest.py

这是我的电脑上出现的错误:

(gksudo:2700): Gtk-WARNING **: cannot open display:

我的笔记本电脑上出现了不同的错误 运行使用相同的软件:

(gksudo:3227): GLib-CRITICAL **: g_str_has_prefix: assertion 'str != NULL' failed

我尝试使用以下命令更改显示:

export DISPLAY=:0.0    

但这对输出没有影响。

  1. 首先确保X转发在你的树莓派上是激活的,你可以在/etc/ssh/sshd_config中检查:X11Forwarding yes
  2. ssh -X username@<raspberry>(X11转发的-X标志)
  3. 运行 你的脚本:(su) python /path/to/script.py

有时当您尝试通过 sudo 运行 编程时您可能会遇到一些错误,您需要检查 .Xauthority 文件的权限

我遇到了类似的问题。我知道这个问题已有 3 年历史了。但我的搜索让我来到这里。所以只是回答问题

sudo cp ~pi/.Xauthority ~root/

这只是将X11权限文件直接复制到root,无需xauth命令管理。这将使所有活动用户 pi X11 连接可供 root 使用,而无需进行排序并找到正确的连接。

P.S : 我只是复制粘贴,感谢 this answer in this forum