在Windows下使用WSL和VSCode使用Games101环境

在Windows下使用WSL和VSCode使用Games101环境

视频在【配置环境】使用WSL2并在VSCode下使用Games101环境 - Bilibili
但是这个视频是我踩了一些不必要的坑,我认为首先还是看本文吧,已经足够详细了

一、WSL和Ubuntu的安装

  1. Windows功能中确保启用适用于Linux的Windows子系统(WSL)、虚拟机平台(Ubuntu)这两个功能,然后根据弹窗选择立即重新启动(可以在菜单里搜索“启用或关闭Windows功能)

    image-20241204181308271
  2. 管理员权限打开PowerShell或命令提示符(CMD),输入命令

    wsl --update --web-download
    image-20241204181447570
  3. 菜单中搜索Microsoft Store,在商店中搜索Ubuntu,点击下载

    image-20241204181715432
    image-20241204181808350
  4. 下载好之后打开Ubuntu设置User,设置账号密码,密码不会显示出来

    image-20241204182101685

到这里已经拥有了WSL和Ubuntu了,我们可以点击WSL进入,接下来会设置一些其他的

二、配置终端(包括默认终端、ZSH的安装、代理的更改、清华源的修改)

  1. 让终端默认打开Ubuntu:打开PowerShell的设置,用记事本打开Json文件
    搜索“Ubuntu”找到guid并复制到defaultProfile,重启PowerShell(不是那么必要)

    image-20241204182616108
    image-20241204182650123

    现在打开PowerShell就是默认为Ubuntu了

    image-20241204182729457
  2. 配置Ubuntu终端的ZSH(可选,只为了好看一些,这里有许多主题、字体、颜色、背景等设置)

    1. 输入如下指令:
    git clone https://github.com/powerline/fonts.git
    cd fonts
    bash ./install.sh

    这里就是在GitHub上下载fonts字体,然后进行安装,安装文件一共有install.shinstall.ps1

    image-20241204183112690
    image-20241204183125945
    1. 然后安装ZSH:
    sudo apt update
    sudo apt install git zsh -y
    image-20241204183208456
    image-20241204183251786

    一般没有什么问题,输入对指令即可。

    1. 然后安装oh-my-zsh

    输入指令

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

    一般会出现如下错误:

    curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

    这是因为网络的原因,可以自行解决,不过我认为应该最好换代理,这样WSL的代理和Windows一样了。(会在下一步写出)

    安装成功应该是如下界面

    image-20241204183738924
  3. 更改代理

    在官方文档中使用 WSL 访问网络应用程序 - 镜像模式网络 可以找到“镜像模式网络”

    image-20241204184707517

    管理员权限打开PowerShell(不是WSL),输入对应指令

    Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow

    这样就可以让WSL也能挂🪜

  4. 更改清华源:更快

    1. 首先查看Ubuntu版本(一般都是Ubuntu 24.04.1 LTS),在WSL中输入hostnamectl指令
    image-20241204192737648
    1. 在清华镜像网站清华开源软件镜像站-Ubuntu 软件仓库-传统格式上找到对应指令
    image-20241204185225065

    复制下来

    1. 输入指令sudo nano /etc/apt/sources.list对这个文件进行修改,用vim也可以
    image-20241204185322404

    粘贴进去保存并退出,这样以后的都是在清华镜像上进行下载安装等操作了

    image-20241204185400810

三、VSCode上使用WSL以及环境配置

  1. 当然是下载VSCode,这里在官网上下载就行,然后在左边安装中文插件,这样VSCode就是中文版的了

  2. 安装WSL插件和Remote - SSH 插件

    image-20241204185548487
    image-20241204185624780
  3. 点击左下角蓝色按钮进行链接WSL

    image-20241204185725212

    在上面点击Connect to WSL

    image-20241204185757744
  4. 这样就可以在VSCode上使用WSL了

    image-20241204185852683

四、Games101的设置

现在已经有Python的环境了,如果需要对test.py进行编译运行,则需要使用python3 test.py,在后面会讲到如何使用python也可以代替python3

  1. 安装gcc和g++

    现在可以看到并没有找到gcc和g++

    image-20241204190440671

    我们输入指令进行安装

    sudo apt install build-essential
    image-20241204190632785

    现在输入gcc --versiong++ --version可以看已经有了环境了

    image-20241204190719982

    我们可以写一个C++的helloworld进行测试

    image-20241204190810056

    参考https://code.visualstudio.com/docs/cpp/config-linux

  2. 安装opencv

    sudo apt install libopencv-dev

    在这里之前更新一下源sudo apt update

  3. 安装eigen3

    sudo apt-get install libeigen3-dev
    image-20241204191039982
  4. 安装VcXsrv

    https://nchc.dl.sourceforge.net/project/vcxsrv/vcxsrv/1.20.9.0/vcxsrv-64.1.20.9.0.installer.exe

    一直next即可

    打开WSL需要修改.bashrc文件(我同样对.zshrc也修改了)

    cd
    sudo vim .bashrc

    进入桌面目录,然后编辑.bashrc,输入i进行编辑,到最下方添加:

    export DISPLAY=localhost:0

    然后按esc退出编辑,然后输入:wq和回车进行保存并退出

  5. 使用python代替python3

    输入vi ~/.zshrc指令对~/.zshrc文件进行修改

    在最下方加入

    alias python=python3
    image-20241204191644279

    保存并退出,然后输入如下指令进行更新

    source ~/.zshrc

    最后可以看出可以使用python指令了

    image-20241204191815795

至此所有步骤都已经结束了

五、常见错误(持续更新)

1.运行时如果遇到了

image-20241204191815795

则需要以下三个步骤:

步骤一:添加Oibaf的PPA
首先,您需要添加Oibaf的PPA(Personal Package Archive),这个PPA提供了最新的开源图形驱动程序包,包括Mesa,为Radeon、Intel和Nvidia硬件提供支持。

打开终端,并输入以下命令来添加PPA:

sudo add-apt-repository ppa:oibaf/graphics-drivers

这条命令会告诉Ubuntu的系统包管理器APT,您想从Oibaf的PPA中安装软件包。

步骤二:更新软件包列表
添加PPA后,您需要更新APT的软件包列表,以便它知道新的软件源中有哪些可用的软件包。在终端中输入:

sudo apt update

步骤三:升级系统
现在,APT已经知道Oibaf的PPA中的软件包了,您可以开始升级您的系统了。不过,请注意,直接使用sudo apt upgrade可能会升级系统中的许多软件包,而不仅仅是Mesa。如果您只想升级与图形相关的软件包,可以使用更具体的命令,但通常对于大多数用户来说,升级整个系统也是可接受的。

sudo apt upgrade

这条命令会升级所有可升级的软件包,包括从Oibaf PPA中获取的Mesa图形驱动程序。
(参考博客:MESA 和 glx 错误 MESA: error: ZINK: failed to choose pdevglx: failed to create drisw screen - CSDN博客

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注