dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl -l -v
命令查看安装的version是否为2,若显示当前不是 WSL 2 版本,通过命令wsl --set-version Ubuntu-22.04 2
进行设置 WSL 的默认版本sudo apt-get install virtualenv
安装virtualenv,virtualenv --version
检查virtualenv 版本,最后使用virtualenv -p /usr/bin/python3.10 /d/my_envPy3.10
将环境搭建到物理机的D盘上,因为我的C盘和D盘在同一张固态,当Pycharm加载环境时,加载速度影响不大,稍微慢一丢丢(跨系统)wsl --help
查看wsl的指令,export主要是打包系统分发文件,而import是导入系统分发文件wsl --export Ubuntu-22.04 D:\Ubuntu-22.04.tar
将系统分发导出到D盘,然后使用wsl --unregister Ubuntu-22.04
注销系统,即系统文件从C盘中彻底卸载并删除,最后使用wsl --import Ubuntu-22.04 D:\meiwu_WSL D:\Ubuntu-22.04.tar
将系统导入到D盘。就实现了系统转移# 备份初始源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
# 编辑sources.list文件
sudo vim /etc/apt/sources.list
# 更新
sudo apt-get update
sudo apt-get upgrade
wsl --version
进行查看,若无法正常查看版本,则WSL版本过低导致的,请使用wsl --update
进行更新至最新版即可,如下是我的WSL版本wsl -d Ubuntu-22.04
进入系统,依次运行下面指令# 新建wsl.conf文件
sudo nano /etc/wsl.conf
# 将以下内容添加到wsl.conf并保存文件
[automount]
root = /
options = "metadata"
[boot]
systemd = true
# 关闭wsl
wsl --shutdown
# 重新启动Ubuntu,运行sudo systemctl status命令或systemctl ,即可看到Systemd服务
sudo apt-get install tightvncserver
which vncserver /usr/bin/vncserver
sudo vncserver :1 -geometry 1902x902 -name meiwu -depth 24
sudo apt-get install netstat
sudo netstat -npl | grep 59
sudo vncserver -kill :1
sudo git clone https://github.com/novnc/noVNC
cd ./noVNC/utils/
进入到noVNC的utils文件夹下,执行以下指令# 创建安全连接,一路回车即可
sudo openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
# 运行noVNC,若不进行listen设置,默认web监听端口为6080,websockify代理将自动装载证书,设置密码
./novnc_proxy --vnc localhost:5901 --listen 5555
http://localhost:5555/vnc.html
即可访问Ubuntu-22.04,其中localhost可以替换成服务端ip,使用ifconfig
进行查看,只需关注inetsudo apt-get update
sudo apt-get install xfce4 xfce4-goodies
# 选择语言和编码
dpkg-reconfigure locales
# 防止出现乱码,选择以下选项
en_US ISO-8859-1
zh_CN GB2312
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_TW BIG5
zh_TW.UTF-8 UTF-8
# 接下来选择默认语言字体,选择:
zh_CN.UTF-8
# 查看当前系统字体
vim /etc/default/locale
# 安装语言字体包
sudo apt-get install fonts-arphic-bsmi00lp fonts-arphic-gbsn00lp fonts-arphic-gkai00mp
# 重新进入Ubuntu-22.04
wsl -t Ubuntu-22.04 # 退出
wsl -d Ubuntu-22.04 # 启动
sudo apt-get install fcitx fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-libpinyin
# 查看
dpkg --get-selections | grep firefox
# 若有,则卸载
sudo apt-get purge <相关包>
sudo add-apt-repository ppa:mozillateam/ppa
echo '
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
' | sudo tee /etc/apt/preferences.d/mozilla-firefox
echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox
sudo apt-get install firefox
sudo tar -zxvf ./pycharm-community-2022.3.tar.gz -C ./
sudo apt-get install autocutsel
~/.vnc/xstartup
,实现打开vncserver服务即可在后台运行autocutsel# 编辑
sudo vi ~/.vnc/xstartup
# 加入以下内容
autocutsel -f
~/.vnc/xstartup
文件内容#!/bin/sh
xrdb "$HOME/.Xresources"
xsetroot -solid grey
autocutsel -f
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession
# 编辑超级用户~/.bashrc
sudo -s
vi ~/.bashrc
#将以下内容添加到末尾
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-12.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#更新~/.bashrc
source ~/.bashrc
#更新依赖
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
#检查是否安装成功,若返回相应版本信息,则安装成功
nvcc -V
# 退出超级用户
exit
sudo vi ~/.bashrc
#将以下内容添加到末尾,Esc退出编辑,:wq保存并退出vi
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-12.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#检查是否安装成功,若返回相应版本信息,则安装成功
nvcc -V
ln -s /usr/lib/wsl/lib/nvidia-smi /usr/local/bin
sudo tar -xvf ../../mnt/e/cudnn-linux-x86_64-8.8.0.121_cuda12-archive.tar.xz -C ./
sudo cp -P cudnn-linux-x86_64-8.8.0.121_cuda12-archive/lib/* /usr/local/cuda-12.0/lib64/
sudo cp cudnn-linux-x86_64-8.8.0.121_cuda12-archive/include/cudnn.h /usr/local/cuda-12.0/include/
sudo chmod a+r /usr/local/cuda-12.0/include/cudnn.h
sudo chmod a+r /usr/local/cuda-12.0/lib64/*
import torch
print(torch.__version__) # 查看torch当前版本号
print(torch.cuda.is_available()) # 查看当前cuda是否适用于当前版本的pytorch,返回bool值,若为True,则可用
Could not load library libcudnn_cnn_infer.so.8
,请执行sudo apt-get install nvidia-driver-515
,然后重启即可。下图为测试结果,模型可正常训练并使用物理GPU