【问题标题】:WSL2 error: _tkinter.TclError: couldn't connect to display "127.0.0.1:0.0"WSL2 错误:_tkinter.TclError:无法连接以显示“127.0.0.1:0.0”
【发布时间】:2022-01-07 06:20:42
【问题描述】:
运行我的 python 文件时出现此错误:_tkinter.TclError: couldn't connect to display "127.0.0.1:0.0"。
我提到我在 WSL2 发行版和 Windows Pylance 中运行 VSCODE,并与 tkinter 上一个版本一起安装。
在我的 ZSH 终端中,我添加了这一行,这是微软为 WSL2 推荐的:export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0。 export DISPLAY=:0 之类的命令在 WSL2 上根本不起作用。
非常感谢您的帮助,
呸
LE:我有带有 Ubuntu 20.04 LTS 发行版、Xming 和 VcXsrv 的 Windows 11。
【问题讨论】:
标签:
python-3.x
tkinter
visual-studio-code
wsl-2
【解决方案1】:
经过多次尝试和组合,我现在已经解决了,但现在可以了:
$ nano ~/.zshrc
复制了这两行:
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
导出 LIBGL_ALWAYS_INDIRECT=1
$ source ~/.zshrc
然后在 Windows 中:打开 XLaunch:多个窗口 -> 不启动客户端 -> 选中“禁用访问控制” -> 完成。
在那之后,我继续使用具有高级安全性的 Windows Defender 防火墙,并将入站规则中的所有 VcXsrv 和 Xming X 服务器设为“绿色”状态:属性 -> 允许连接 -> 确定。 (我尝试在Scope -> Remote IP address -> These IP addressess -> 172.72.0.1 中添加,但没有成功)。
然后我成功运行python脚本并弹出tkinter窗口。