关于Games101课程在使用wsl进行环境配置及vscode远程调用

Games101的windows环境下的wsl配置及vscode的远程调用

文章目录

  • Games101的windows环境下的wsl配置及vscode的远程调用
    • ① wsl的环境配置
        • (1)安装wsl
        • (2)安装ubuntu镜像
        • (3)安装wsl图形化界面
    • ② cmake、g++、eigen、opencv配置
    • ③vs code远程连接wls

① wsl的环境配置

(1)安装wsl

1.WSL2需要启用windows功能中的虚拟机平台和适用于Linux的Windows子系统.以直接使用Windows+R快捷键,在打开的「运行」窗口中直接执行optionalfeatures打开「Windows 功能」,或者在控制面板中打开「Windows 功能」启用需要的功能,然后重新启动

2.进入cmd, 输入

wsl --set-default-version  <version> 
# version为1或2,代表wsl的版本·

3.验证成功输入wsl --update 更新

(2)安装ubuntu镜像

安装镜像有两种选择

(1)打开cmd,输入wsl --list --online , 不过我这里可能网络原因, 显示无法连接

(2) windows 商店下载相应的ubuntu 镜像。顺带一提:我选择的是Ubuntu18.04.5LTS, 和课程的Ubuntu虚拟硬盘版本相近~~

安装完成后就可以登录ubuntu创建相应用户~

(3)安装wsl图形化界面
  1. 安装windows的VcXsrv , 下载网址是 https://sourceforge.net/projects/vcxsrv/

  2. wsl终端中安装xfce4

    #安装xfce4桌面
    sudo apt-get install xfce4 xfce4-terminal 
    #配置声明
    echo -e "\n##DISPLAY Configuration" >> ~/.bashrc 
    #添加配置
    echo "export DISPLAY=127.0.0.1:0.0" >> ~/.bashrc 
    #配置生效
    source ~/.bashrc
    
  3. 配置DISPLAY环境变量遇到的坑

由于WSL2其实是用Hyper-V技术实现的一个虚拟机,和WSL1的工作原理不一样,因此如果使用之前网上

的方法直接设置DISPLAY=:0.0的话,启动xfce4的时候会出现下面的错误:

lpwm@DESKTOP-FI0NTIP:~$ startxfce4
/usr/bin/startxfce4: X server already running on display :0.0
xrdb: Connection refused
xrdb: Can't open display ':0.0'
Unable to init server: Could not connect: Connection refused
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

正确的配置姿势

# 首先需要查看Windows系统和WSL2通信使用的虚拟网卡地址
$ sudo vim /etc/resolv.conf
# nameserver后面的地址就是Windows系统虚拟网卡的地址,记一下,同时需要取消下面两行内容的注释,禁用自动重新生成配置文件,否则重启后这个地址会变
[network]
generateResolvConf = false
 
 
$ vim ~/.bashrc
# 在文件最后追加下面内容,地址使用上面查看到的
export DISPLAY=虚拟网卡地址:0


 #由于每次电脑启动虚拟网卡ip地址都会改变,因此可以使用以下方法~
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 


$source ~/.bashrc
#执行刚修改的初始化文件,使之立即生效
  1. 打开XLauch

    选择OneLargeWindow
    关于Games101课程在使用wsl进行环境配置及vscode远程调用_第1张图片

在第三步勾选Disable client access, 否则会导致协议无效
关于Games101课程在使用wsl进行环境配置及vscode远程调用_第2张图片
5. 打开wsl, 输入

 startxfce4			#即可看到可视化界面了~

② cmake、g++、eigen、opencv配置

由于题主使用的是linux 的 apt-get命令获取软件的下载包。故需先使用如下语句更新apt, 否则会无法完成以下环境的下载。

sudo apt-get --update   

更新成功后就可以进行环境配置啦~

  • g++配置

     sudo apt-get install build-essential   # 安装g++
     g++ --version 					# 安装完成后检查版本
    
  • cmake配置

    sudo apt-get install cmake			#安装cmake
    cmake --version						#照例检查版本
    
  • eigen 配置

    sudo apt-get install libeigen3-dev
    

    这三件配置完就可以完成pa0了~

    将pa0文件夹移至你的ubuntu文件夹下

    /usr/games$ sudo cp /mnt/e/101/pa0 .  
    
    • 移至 /mnt/你的windows硬盘/pa0的文件路径
    • 我将其移至了usr的game 文件夹下,理论上只要在usr文件夹下都可以

    然后就可以进行相应的build了~

    /usr/games/pa0$ mkdir build
    /usr/games/pa0$ cd build/
    /usr/games/pa0/build$ cmake ..
    /usr/games/pa0/build$ make
    /usr/games/pa0/build$ ./Transformation
    
  • Opencv 配置

    1.安装依赖


sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libcanberra-gtk-module
sudo apt-get install pkg-config

​ 2. 下载opencv源码

https://www.raoyunsoft.com/wordpress/index.php/2020/03/09/opencvdownload/

我下载的是带zip格式的~

​ 3.在适当位置解压文件

sudo unzip XXX.zip

​ 4.在解压文件夹下构建build文件夹,进入,cmake, make

sudo mkdir build
cd build

sudo cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local .. 

#通过八线程构建, 你也可以通过修改原来的数字进行构建
sudo make -j8	

sudo make install

​ 5.配置环境变量

​ 5.1 将库添加到系统路径

sudo vim /etc/ld.so.conf

在文件中加上一行include /usr/local/lib,因为makefile中默认opencv安装在该路径下。

然后进行更新

sudo ldconfig

此时会报下面的错, 原因是WSL构建 和其他的原生linux文件有些不同

/sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

此时必须修改wsl配置文件

cd /usr/lib/wsl
sudo mkdir lib2
sudo ln -s lib/* lib2
sudo vim /etc/ld.so.conf.d/ld.wsl.conf
#将 /usr/lib/wsl/lib 改为 /usr/lib/wsl/lib2
测试修改是否生效
sudo ldconfig

5.2 配置 bash ,修改 bash.bashrc 文件

sudo vim /etc/bash.bashrc

shift+g跳到末尾添加下面两行

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

保存退出,再source一下

source /etc/bash.bashrc

然后就可以使用了~

此时我们可以打开xlauch, 在图形化的界面中调试我们的三角形了~~
关于Games101课程在使用wsl进行环境配置及vscode远程调用_第3张图片

③vs code远程连接wls

(1)首先安装主系统下的vs code, 由于流程简单,这里就不做细述

(2)打开vs code, 选择插件中心,搜索 wsl

关于Games101课程在使用wsl进行环境配置及vscode远程调用_第4张图片

(3)安装第一个wsl插件

在这里插入图片描述

(4)安装完成后, 在插件中心下方就有远程资源管理器标志了, 直接进入会弹出已识别的wsl,点击即可操作wsl~, 进入wsl找到对应的文件夹即可编辑代码~

关于Games101课程在使用wsl进行环境配置及vscode远程调用_第5张图片
(5)在Vscode 中编辑WSL中的代码时,可能发生用户权限问题导致无法保存,此时在作业文件夹下使用命令

sudo chmod 777 -R .

将文件夹的权限修改至任意用户都可修改即可。

由于题主目前还没有学习到课程后面的内容, 因此opengl的配置之后会慢慢更新~~
顺带一提,使用完wsl记得在cmd中执行 wsl --shutdown , 否则虚拟内存会一直占用~

你可能感兴趣的:(games101,windows,vscode,ubuntu)