Bootstrap

基于WSL2的ubuntu(Windows 子系统)安装及开发环境搭建

  WSL 是 Windows Subsystem for Linux 的缩写,译为适用于Linux 的 windows 子系统。使用WSL让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。如果你是Windows用户的话,觉得使用Linux很不方便,那么这篇文章可以给你提供一个还算舒适的Windows10下Linux开发的环境,并且不需要多高的配置,也可以很顺畅的使用。

        接下来我们就开始配置 Windows 终端 & WSL 开发环境。

1 系统要求

  • Windows 版本大于1903,运行 win+R 后执行winver进行确认。
  • 支持 Hyper-V 虚拟化。

         本机配置:

              Operating System  : Windows 11 Professional

              Operating System  : Chinese (Simplified) (Regional Setting: Chinese (Simplified))

  Operating system version  : 22621.1848
                           Processor  :12th Gen Intel(R) Core(TM) i7-12700   2.10 GHz
                              Memory  : 32.0 GB RAM

                          Card name  : NVIDIA GeForce GTX 3080

2 设置 WSL

· 开启window10开发者模式

        设置->更新与安全->开发者选项->开发人员模式

· 启用或关闭windows功能

        1) 打开「控制面板」>「程序」>「启用或关闭 Windows 功能 」,然后在「适用于 Linux 的 Windows 子系统」选项前面打勾。

        2)  使用快捷键 Win+s 打开搜索功能,在搜索框中输入关键字 Windows 功能,可以快速打开「启用或关闭 Windows 功能」。

· 下载 Linux 内核更新包

        适用于 x64 计算机的 WSL2 Linux 内核更新包

  1. 运行上一步中下载的更新包。 (双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。)

        安装完成后,请继续执行下一步 - 在安装新的 Linux 分发时,将 WSL 2 设置为默认版本。 (如果希望将新的 Linux 安装设置为 WSL 1,请跳过此步骤。)

· 安装 WSL 发行版

        本文以 Ubuntu 20.04 LTS为例,之后的所有内容也是基于 WSL Ubuntu 编写。

        重启电脑,然后打开Microsoft Store,搜索Ubuntu并选择对应的版本安装。安装完成后打开,设置初始的用户名和密码即可。

安装在非C盘

        首先在目标盘创建一个文件夹,比如D:\Linux ,进到这个文件夹下载ubuntu20.04:

Invoke-WebRequest -Uri https://wsldownload.azureedge.net/Ubuntu_2004.2020.424.0_x64.appx -OutFile Ubuntu20.04.appx -UseBasicParsing

 然后执行如下命令:

Rename-Item .\Ubuntu20.04.appx Ubuntu.zip
Expand-Archive .\Ubuntu.zip -Verbose
cd .\Ubuntu\
.\ubuntu2004.exe

        可以在powershell里面 , 看看自己安装的版本:

        

wsl -l -v

3 安装GPU环境

        在英伟达下载与安装支持WSL的GPU驱动。

        按照自己的GPU产品选择对应的驱动(该步骤需要Nvidia账户),下载后安装即可。·

        无需在 WSL 中安装 Linux 显示驱动程序,Windows 显示驱动程序将同时安装本机 Windows 和 WSL 支持的常规驱动程序组件。

        1)安装cuda toolkit

        进入官网: https://developer.nvidia.com/cuda-toolkit-archive,选择自己需要的版本。

wget https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run
sudo sh cuda_11.5.0_495.29.05_linux.run

        安装完成后显示:

$ sudo sh cuda_11.5.0_495.29.05_linux.run
[sudo] password for ubuntu2004:
===========
= Summary =
===========

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-11.5/
Samples:  Installed in /home/ubuntu2004/

Please make sure that
 -   PATH includes /usr/local/cuda-11.5/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-11.5/lib64, or, add /usr/local/cuda-11.5/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.5/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 495.00 is required for CUDA 11.5 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
    sudo <CudaInstaller>.run --silent --driver

Logfile is /var/log/cuda-installer.log

        安装完成后,在~/.bashrc中加入环境变量:

export PATH=/usr/local/cuda-11.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.5/lib64:$LD_LIBRARY_PATH

        输出如下命令,立即生效。

source ~/.bashrc

        2)  安装cuDNN

        进入官网:https://developer.nvidia.com/zh-cn/cudnn,下载选择对应版本,点击 cuDNN Library for Linux(x86_64) 下载,解压:

$ tar -zxvf cudnn-11.5-linux-x64-v8.3.0.98.tgz
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.5/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-11.5/include/
sudo cp cuda/include/cudnn_version.h /usr/local/cuda-11.5/include/ 
sudo chmod a+r /usr/local/cuda-11.5/include/cudnn.h 
sudo chmod a+r /usr/local/cuda-11.5/lib64/libcudnn*

4 安装图形界面

        要想使用Linux的图形用户界面通常有两种方法,一种是使用X-Windows安装使用图形化界面,另一种是通过本机远程桌面连接。

        这里以第二种方法为例

        1)安装xorg

sudo apt-get install xorg

        2)安装xfce4(运行在类Unix操作系统上,提供轻量级桌面环境)

sudo apt-get install xfce4

        3)安装xrdp(一种开源的远程桌面协议(RDP)服务器)

sudo apt-get install xrdp

        4)配置xrdp(配置端口)

sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini

        5)向.xsession中写入xfce4-session

sudo echo xfce4-session >~/.xsession

        6)重启xrdp服务

sudo service xrdp restart

        在Cortana中搜索远程桌面连接,点击进入,计算机栏输入【主机IP:端口】,用户名栏输入子系统用户名,点击连接。

        xrdp每次电脑重启后都需要命令行sudo service xrdp restart后远程连接。

        wsl2在windows类似于文件夹,可以直接操作。

5 Win下的PyCharm调用WSL2的python环境

        Settings->Project: Your Project Name->Project Interpreter->右边齿轮->Add,选择WSL,添加Python解释器路径

        同理,在wsl中也可以使用win的Python环境。

参考:

        搭建Pycharm+Wsl深度学习平台 | Zihang Zhang (ustczhzhang.github.io)

;