You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一电脑中WSL Ubuntu无法连接Windows X服务器问题求助

解决WSL2 Ubuntu中Pillow im.show()报错"unable to open display 'localhost:0.0'"

以下是针对你的场景(WSL2+Windows 10 Build 19045,已安装ImageMagick和Windows X服务器)的排查与解决步骤:

1. 确认X服务器配置与运行状态

  • 启动Windows端X服务器(如VcXsrv、Xming)时,必须勾选**"Disable access control"**选项,否则WSL会被拒绝连接。
  • 确认X服务器使用默认display号:0,对应地址为localhost:0.0。

2. 正确配置WSL的DISPLAY环境变量

WSL2采用NAT网络,localhost无法直接映射到Windows主机,需手动指定Windows IP:

  • 临时生效:在WSL终端执行
    export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
    
  • 永久生效:将上述命令写入shell配置文件,避免每次重启终端重新设置
    echo 'export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '\''{print $2}'\''):0.0' >> ~/.bashrc
    source ~/.bashrc
    

3. 验证ImageMagick配置

Pillow的im.show()依赖ImageMagick的display命令,确保其正常可用:

  • 确认安装:sudo apt install imagemagick
  • 检查命令路径:which display,输出/usr/bin/display即为正常。

4. 无X服务器替代方案

如果上述方法仍无法解决,可绕过X服务器,直接将图片导出到Windows目录查看:
修改Python脚本如下:

from PIL import Image

im = Image.open("test2.png")
# 替换为你的Windows用户目录路径
im.save("/mnt/c/Users/你的用户名/Pictures/test2_exported.png")

之后直接在Windows的图片文件夹中打开导出的文件即可。

内容的提问来源于stack exchange,提问作者charlesumesi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 02:35:04