💡 参考文章见Ref,感谢提供思路!
🗺️当前这篇博文地址:https://myoontyee.github.io/article/c7d01a74.html
⚠️警告:博客文章禁止一切形式的非授权非法转载!
⚠️Attention: All forms of unauthorized illegal reposts are prohibited !
  • 打开WSL2的bash,输入以下指令
1
2
3
sudo apt update
sudo apt upgrade

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

sudo apt-get install dpkg-dev g++ gcc binutils libx11-dev libxpm-dev \
libxft-dev libxext-dev python libssl-dev

sudo apt-get install gfortran libpcre3-dev \
xlibmesa-glu-dev libglew1.5-dev libftgl-dev \
libmysqlclient-dev libfftw3-dev libcfitsio-dev \
graphviz-dev libavahi-compat-libdnssd-dev \
libldap2-dev python-dev libxml2-dev libkrb5-dev \
libgsl0-dev

sudo apt install libxerces-c-dev

sudo apt install qt5-default qtcreator # 安装QT5

qmake -version # 获取QT5安装路径
sudo strip --remove-section=.note.ABI-tag /mnt/d/Anaconda/main/lib/libQt5Core.so.5 # 路径需要替换成对应安装路径
  • 安装完成后的设置如下
    • 这一步更推荐Multiple windows而非One large window
1
2
3
4
5
title:报以下错误解决办法见下

Authorization required, but no authorization protocol specified
Error: Can't open display

  • 打开Xlaunch,注意要勾选Disable access control,其他为默认选项

  • 安装Ubuntu桌面环境

1
2
sudo apt-get install ubuntu-desktop unity compizconfig-settings-manager

  • 通过以下代码即可实现在XMing中显示内容
    • 注意WSL和WSL2的方法不同
1
2
3
4
5
6
7
8
WSL2与WSL相比,在于WSL2使用了Hyper-V,其基于虚拟机技术,所以其每次启动时IP地址不同,不能使用localhost或者127.0.0.1

通常使用指令` cat /etc/resolv.conf | grep nameserver | awk '{print $2}' `来获取当前WSL2的IP地址,故export对应的地址也要做修改



* Ref
* [wsl2启动桌面_WSL 1 与 WSL 2 有什么区别?到底哪个更适合你](https://blog.csdn.net/weixin_33929779/article/details/112238216)
  • WSL 1在bash内通过如下指令进行,将图像信息打印到对应窗口
1
export DISPLAY=localhost:0
  • WSL 2在bash内通过如下指令进行,将图像信息打印到对应窗口
1
export DISPLAY=`cat /etc/resolv.conf | grep nameserver | awk '{print $2}'`:0
  • 也可以通过以下指令将export内容输入到.bashrc
1
2
3
4
echo "export DISPLAY=`cat /etc/resolv.conf | grep nameserver | awk '{print $2}'`:0" >> ~/.bashrc 

source ~/.bashrc