WSL2 配置深度学习环境

1 安装和配置 WSL2

参考:双系统的日子结束了:Windows和Linux将合二为一

WSL 2是 WSL 中体系结构的新版本,它更改了 Linux 与 Windows 进行交互的方式。该版本提高了文件系统性能,增加了完全的系统调用兼容性。当然,Linux 分发版可以作为 WSL 1或 WSL 2运行,你可以自行选择,并且可以随时在它们之间进行切换。

WSL 2 是对基础体系结构的一次重大改造,它使用虚拟化技术和 Linux 内核来实现其新功能。微软处理了琐碎的细节,这样你就可以专注于重要的事情了。

1.1 安装 WSL2

参考:适用于 Linux 的 Windows 子系统安装指南 (Windows 10)

必须先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发版。

以管理员身份打开 PowerShell 并运行:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

若要仅安装 WSL 1,现在应重启计算机并继续安装所选的 Linux 分发版,否则请等待重启并继续更新到 WSL 2。 阅读有关比较 WSL 2 和 WSL 1 的详细信息。

若要更新到 WSL 2,必须满足以下条件:

  • 运行 Windows 10(已更新到版本 2004 的内部版本 19041 或更高版本)。

  • 通过按 Windows 徽标键 + R,检查你的 Windows 版本,然后键入 winver,选择“确定”。 (或者在 Windows 命令提示符下输入 ver 命令)。 如果内部版本低于 19041,请更新到最新的 Windows 版本。 获取 Windows 更新助手。

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。

以管理员身份打开 PowerShell 并运行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重新启动计算机,以完成 WSL 安装并更新到 WSL 2。

以管理员的身份打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:

wsl --set-default-version 2

1.2 安装 Ubuntu 子系统

打开 Microsoft Store,并选择你偏好的 Linux 分发版。首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。

然后,需要为新的 Linux 分发版创建用户帐户和密码。

2 安装桌面系统

  1. 更新和升级包:
sudo apt update && sudo apt upgrade
  1. 安装 xfce4 与 xrdp:
sudo apt install -y xfce4 xrdp

安装xfce4过程中会出现选择显示管理DM选择的提示,建议用 lightdm。如果错过了安装过程中出现的这个向导,那么可以在安装完成后执行下面的命令重新设置DM

sudo dpkg-reconfigure lightdm
  1. 配置 xrdp 端口:
sudo sed -i "s/port=3389/port=3390/g" /etc/xrdp/xrdp.ini

这里面 3389 是默认配置,这里将其改为 3390 是避免和 windows 的端口冲突。因为两边的端口号是通的,在 wsl 中开一个 8080 端口的 WebServer,在 windows 可以直接访问。

  1. 配置 xsession
sudo echo xfce4-session >~/.xsession

这一步其实是在告诉系统,开启桌面环境的时候开启什么桌面环境。

  1. 启动 xrdp
sudo service xrdp restart
  1. 远程连接
  • 在 win10 开始菜单中搜远程桌面,或按 win+r 后输入 mstsc
  • 在计算机后面输入 localhost:3390 点击连接,输入用户名。首次连接可能需要较长时间。

效果:

WSL2 配置深度学习环境_第1张图片

这样便可以启动 Ubuntu 桌面了。

如果WSL的Ubuntu系统关闭,如关机重启,会导致远程连接不上,此时需要先在Win10中打开Ubuntu的命令行界面,输入:

sudo service xrdp restart

此时再远程连接,即可连接上。

3 使用 WSL2 的 Visual Studio Code

只要您的 Windows10 已经安装 vscode,则可以直接在 Linux 的命令行中启动 vscode:

code .

在桌面系统打开 vscode 需要您自行安装。

请注意 WSL 的文件系统与 Windows10 的是一致的,比如:

WSL2 配置深度学习环境_第2张图片

/mnt/c/Users/xinet$ 对应于您的 C:/Users/xinet

4 安装 Anaconda3

首先进入 Anaconda | The World's Most Popular Data Science Platform 下载 Ubuntu 版本的 Anaconda3 软件包。然后执行如下命令进行安装:

sh Anaconda3-2020.07-Linux-x86_64.sh

这里我选中最新的版本。

5 WSL 安装 CUDA

参考 CUDA on WSL User Guide

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
$ sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
$ sudo apt-get update
$ sudo apt-get -y install cuda

6 Xubuntu 安装

如果不满足于简化的桌面可以安装 Xubuntu。

[WSL]在Windows10子系统里安装运行桌面(xUbuntu)

7 WSL 删除与重载

最近在折腾WSL,安装了一个Ubuntu 16和一个18,但是因为有些系统问题一直无法很好的设置,打算卸载了重装,可是按照网上的教程wslconfig /l, wslconfig /u卸载之后,重新通过Windows Store安装总是有问题,Store里面显示这2个APP已经安装过了,只有启动这一个选项,但是点击启动又报错,说没找到相应的文件。重新点击获取也不行,系统显示已下载,但是点击启动却说找不到文件,搞了很久一直无法解决,最终还是查到了一个方案,在Powershell里面通过命令行的方式来解决。

首先要先查看已经安装了哪些软件包:

Get-AppxPackage -allusers | Select Name, PackageFullName

然后可以看到列表里面你想要删除的软件包,执行以下命令来删除,例如要删除Ubuntu16

get-appxpackage CanonicalGroupLimited.Ubuntu20.04onWindows | remove-Appxpackage

完成后重新在Windows Store里面下载应用即可。

8 编译WSL 2内核

微软还在GitHub上更新了编译WSL 2内核的步骤,只需3 步:

  • 从微软商店安装最新的Ubuntu发行版
  • 打开Ubuntu子系统,安装内核组件:
sudo apt install build-essential flex bison libssl-dev libelf-dev
  • 编译 WSL:
make KCONFIG_CONFIG=Microsoft/config-wsl

9 其他教程

  • WSL2 的一些网络访问问题
  • 搭建 WSL2 的沙雕版 GUI(VcXsrv+xfce4)

你可能感兴趣的:(WSL2 配置深度学习环境)