当使用WSL下载运行Docker可视化界面的镜像,使用报错

Traceback (most recent call last):

File "app.py", line 345, in

root = tk.Tk()

File "/usr/lib/python3.8/tkinter/init .py", line 2270, in init

self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)

_tkinter.TclError: couldn't connect to display ""

在WSL中无法直接连接到Windows主机上的X服务器。这是因为WSL和Windows主机之间存在一些网络隔离。

要在WSL中运行GUI应用程序并连接到Windows主机上的X服务器,您可以使用X服务器软件,例如Xming或VcXsrv,在Windows主机上启动X服务器。然后,在WSL中设置DISPLAY环境变量以指向Windows主机上的X服务器。

例如:

在Windows主机上安装并启动X服务器软件(例如Xming或VcXsrv)。确保X服务器正在运行,并注意其显示地址和端口号。

在WSL中设置DISPLAY环境变量以指向Windows主机上的X服务器。将以下命令添加到您的WSL会话中:

bash 复制代码
export DISPLAY=<Windows主机IP地址>:0.0

请将<Windows主机IP地址>替换为您实际的Windows主机的IP地址。

在Windows主机上打开命令提示符(或PowerShell),然后键入ipconfig并按Enter。这将显示您的Windows主机当前的网络配置信息,其中包括该主机的IP地址。

在输出中找到IPv4地址,通常长得像"192.168.x.x"或"10.x.x.x"。将此地址用作您的WSL会话中DISPLAY环境变量中的Windows主机IP地址部分。

例如,如果您在Windows主机上看到IPv4地址为"192.168.1.12",那么您可以使用以下命令设置DISPLAY环境变量:

export DISPLAY=192.168.1.12:0.0

如果你想一次性使用就直接在命令行输入这句话,再运行您的docker:

如果之后可能还一直使用就在.bashrc文件里面放入这句话,之后按键Esc输入英文:wq保存,再。

请注意,您需要在Windows主机上安装并启动一个X服务器,例如Xming或VcXsrv,以便WSL可以连接到它并显示GUI应用程序。

再运行您的应用程序。

注意,您还需要确保WSL和Windows主机之间的网络连接正常,并且防火墙不会阻止WSL与Windows主机之间的通信。

相关推荐
Decay__6 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
java_logo6 小时前
Docker 部署 Liquibase:轻松搭建数据库变更管理
数据库·docker·容器·数据库管理·liquibase·轩辕镜像·数据库变更
天远API10 小时前
零信任架构实战:基于天远运营商三要素详版V即时版构建自动化消费电子大促电商平台高价值权益秒杀与优惠券防羊毛高并发实名核验网关
运维·人工智能·架构·自动化
Android系统攻城狮11 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
乐维_lwops11 小时前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体
番茄啊13 小时前
linux 开启xftp连接
linux·运维·服务器
IT利刃出鞘13 小时前
Docker Compose--解决修改配置后不生效的问题
运维·docker·容器
java_logo13 小时前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
Lsetea13 小时前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
Julien200414 小时前
管理机密(一)
运维·服务器·开发语言·学习方法