Putty:_tkinter.TclError:无显示名称且无显示环境变量

2024-03-14

链接问题:Mac OS X:_tkinter.TclError:没有显示名称,也没有 $DISPLAY 环境变量 https://stackoverflow.com/questions/13286324/mac-os-x-tkinter-tclerror-no-display-name-and-no-display-environment-variabl

上面有同样的问题,但答案不适用于我。

a.py

from Tkinter import * 

root = Tk() 
canvas = Canvas(bg='white', width = 200, height = 200) 
canvas.pack() 

canvas.create_line(0, 0, 199, 199, fill="blue", width = 5) 
canvas.create_line(0, 199, 199, 0, fill="blue", width = 5) 

canvas.update() 
canvas.postscript(file = "x.ps") 

root.mainloop() 

a.py 在远程服务器上

当我通过 VNC 连接到服务器并运行它时,效果很好。

但是当我在 Windows 上通过 Putty 连接到服务器并运行它时,它给我“没有显示名称,也没有显示环境变量”

1)是否可以通过 Putty 运行它?

2) python 可以知道连接是否是通过 putty 建立的,并且可能会引发我自己的错误而不是 TclError 吗?


您需要在 Windows 计算机上运行 X 服务器,然后在登录之前在 Putty 会话中启用 X11 转发(请参阅 PuTTY 中的连接/SSH/X11 属性页)。过去我用过Xming http://sourceforge.net/projects/xming/哪个是免费的,而 eXceed 不是。一旦您实际正在查看的计算机上有一个 X 服务器并通过 ssh 链接转发 X 连接,它将在远程计算机上设置 DISPLAY 环境变量,以便 X 客户端可以与显示服务器进行通信。否则,如果没有 DISPLAY 设置,Tk 将引发错误 - 正如您所看到的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Putty:_tkinter.TclError:无显示名称且无显示环境变量 的相关文章

随机推荐