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

标签 python putty

链接问题:Mac OS X: _tkinter.TclError: no display name and no $DISPLAY environment variable

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

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 连接到服务器并运行它时,它给我“没有显示名称,也没有 diplay 环境变量”

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

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

最佳答案

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

关于python - Putty:_tkinter.TclError:无显示名称且无显示环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19409201/

相关文章:

php - 来自 php 的 ssh 连接

python - 运行 `airflow scheduler` 启动 33 个调度程序进程

Python G数据导入

Python 3.7 + PIL 如何将像素着色更改为等效的 alpha 透明度级别 0-255

python - 如何允许 django 管理员将字段设置为 NULL?

linux - 当命令太长时,命令行会自动覆盖

python - 麻烦递归地构建二元决策树python

php - 如何查看我正在运行的 Asterisk 的版本?

linux - Linux 上的 Putty 无需使用终端程序

python - 如何使用 ppk 公钥通过 Python Paramiko 进行 ssh 连接