近期入手了新的电脑,不想折腾,就用了自带的 Windows 系统。但近两三年来基本上都是使用 Ubuntu 系统,所以一时间系统之间切换使用竟还有些不适应。刚巧发现 WSL2 的 Linux 端子系统嵌套做得蛮不错的,就决定日常做开发时基于 WSL2 系统调试,也算是对于 Windows + Ubuntu 的一个妥协了。但是今天发现,如果运行图形程序时,比如 Python 中的画图,就无法可视化图片,这个功能的缺失让我很不适应,于是乎,Google 一番后,看了不少 Blog + Youtube + stackoverflow,最后摸出了一个适用我的电脑的解决方案,大致如下:
-
首先安装 VcXsrv 软件并运行它,配置如下:
留意最后一步,
Additional parameters for VcXsrv
一栏里填入:-ac
-
终端输入 (一次性,退出则要重新输入) 或者将如下两句加入
.bahrc
文件 (永久性)。如果是 zsh 用户则添加如下两句到.zshrc
文件:export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 # in WSL 2 export LIBGL_ALWAYS_INDIRECT=1
此步之后,在 WSL2 中的 Linux 子系统下,运行图形程序就可以正常弹窗显示了。
-
参考博客:
Using WSL to Build a Python Development Environment on Windows