无法从同一台计算机内的WSL Ubuntu连接到Windows X服务器

3qpi33ja  于 12个月前  发布在  Windows
关注(0)|答案(1)|浏览(107)

我正在做一个人脸识别项目,并试图在WSL 2 Ubuntu上运行一个利用Pillow的Python脚本。我的问题的最小工作代码是:

from PIL import Image

im = Image.open("test2.png")

im.show()

上面的代码没有运行,因为正如你所期望的那样,WSL Ubuntu没有原生的图片查看器(至少在Windows 10之前没有,我稍后会使用更多)。我随后在WSL/Ubuntu上安装了ImageMagick,在Windows上安装了X服务器,按照这些instructions
不幸的是,这并没有工作,给我的错误消息,unable to open display "localhost:0.0",经过几个小时的研究在线的答案,最接近我来是这个site,但这也没有工作,仍然给我同样的错误消息。其他解决方案讨论使用SSH来导航X服务器问题,但不幸的是,这实际上适用于两台不同计算机之间的连接。我需要连接到X服务器从WSL/Ubuntu到Windows在 * 同一 * 计算机。
微软已经为WSL/Ubuntu上的本Map片查看器提出了一个解决方案,我确实遵循了,但不幸的是,它没有工作。微软确实说过,他们的WSL/Ubuntu GUI产品只能与Windows 10 Build 19044+或Windows 11一起使用,当然还有WSL 2。我的是WSL 2与Windows 10 Build19045,这可能解释了为什么它不工作。
任何帮助,将不胜感激。

jchrr9hc

jchrr9hc1#

我终于找到了解决办法。在设置显示环境变量时,改为of

echo "export DISPLAY=localhost:0.0" >> ~/.bashrc && source ~/.bashrc

Do

export DISPLAY=:0.0

出于某种原因,第一个版本没有让安装在WSL 2/Ubuntu上的GUI应用程序可以访问显示环境变量。

相关问题