WSL2 Ubuntu+gnome原生图形界面及WSL2 CUDA驱动的安装

  • 写在前面
  • WSL2安装和Ubuntu安装
  • gnome原生图形界面
  • NVIDIA显卡WSL2驱动的安装
  • 驱动安装

写在前面

  没有图形化界面的Ubuntu实在是看着不爽,虽然已经习惯用命令。为了更加方便使用WSL2子系统,还是配置了gnome原生桌面(虽然不是很轻量级,但是舒服啊!),然后因为有深度学习需求,有NVIDIA的显卡顺带配置了一下显卡驱动。   下面看看如何配置WSL2图形界面和显卡驱动。

WSL2安装和Ubuntu安装

WSL2的安装主要参考官方教程:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 Ubuntu安装:   安装Ubuntu加上其他软件,再加开发需求,后续占用内存达几十个GB。一般建议选用空间大于40GB的盘及文件夹。WSL2默认安装在C盘,后续迁移难度大,所以本文手动自定义直接安装在空间充足的盘或文件夹

主要参考教程如下:   wsl安装到非C盘解决方案 - 云中志的文章 - 知乎 微软提供了一个手动下载WSL发行版的网址:   手动下载适用于 Linux 的 Windows 子系统发行版包   首先直接下载所需发行版到任意位置。   下载后文件一般后缀是**.appx或.appxbundle**   修改软件包扩展名,将**.appx或.appxbundle改为.zip**即可,然后解压(想安装到哪个磁盘,解压到哪个磁盘):

注意:最新下载的Ubuntu2004,后缀为.appxbundle改了之后需要解压两次:

  第一次解压之后,需要选择对应的x64版本,修改后缀后再次解压:

cuda12 cuda10的镜像 cuda界面_linux

  第二次解压后:

cuda12 cuda10的镜像 cuda界面_linux_02

  直接双击我们解压的ubuntu2004.exe可执行文件就可以开始安装

  然后设置用户名和密码之后,Ubuntu安装成功。就可以愉快的使用了。同时,在ubuntu2004.exe的同级目录下,会生成一个.vhdx的文件,这个文件就是WSL的虚拟磁盘,说明我们的WSL已经成功的安装在了D盘。

gnome原生图形界面

WSL2官网已经原生支持Linux GUI图形化显示,参考链接如下:   对 Linux GUI 应用的安装支持   但是我们安装的Ubuntu版本还没有桌面,即官方给的不是desktop版本,需要我们自己安装桌面应用。   Gnome 桌面基于 systemd,现在WSL 已经支持 systemd 而其没有默认以 systemd 启动。需要参考以下教程启用:   systemd 支持注意启用前,检查自己WSL版本, 需要 0.67.6+ 版本的 WSL 才能启用 systemd。   首先打开终端,输入以下命令:

sudo vim /etc/wsl.conf

  然后按一下键盘i键,复制粘贴以下文本:

[boot]
systemd=true

  之后在PowerShell 中的使用如下命令关闭 WSL 分发以重启 WSL 实例。

wsl.exe --shutdown

  重新打开新的 WSL Ubuntu窗口后, systemd 将自动运行。   安装完毕后,可以运行以下命令进行查询:

systemctl status | cat
或
systemctl list-unit-files --type=service

  接下来安装gnome原生图形界面:

sudo apt-get update && sudo apt-get upgrade
sudo apt install ubuntu-desktop

  桌面安装完毕,输入以下命令测试

touch test.txt
sudo gedit test.txt

  等待一会,奇迹出现,显示快慢以电脑性能而定

cuda12 cuda10的镜像 cuda界面_Ubuntu_03

敲个小黑板:   ROS里面的图形化界面也支持,经过测试支持大部分Linux GUI应用也能行,甚至微软官方已经支持Linux 的 Google Chrome和Linux 的 Microsoft Edge 浏览器,详情见本节开始!

NVIDIA显卡WSL2驱动的安装

注意:本文安装的不是显卡显示驱动,是cuda计算驱动。NVIDIA官网也说明了,无需甚至不能安装显示驱动:

  CUDA on WSL User Guide

cuda12 cuda10的镜像 cuda界面_ubuntu_04

本节参考教程如下:

Install the GPU driver  其实WSL对Linux的支持已经很完善了,安装驱动其实有两种方式。

第一种方式:常规Linux GPU驱动安装,看见网上有人成功安装过,但不知道后续测试是否出问题

第二种方式安装WSL的cuda GPU驱动。

  参考NVIDIA官网说明文档,本文选择了第二种方式

cuda12 cuda10的镜像 cuda界面_linux_05

驱动安装

  这步比较简单,进入官网,按照下图所示选择就行,下载安装就行:

  官网参考链接

cuda12 cuda10的镜像 cuda界面_ubuntu_06

  分别依次输入如下指令:

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
sudo apt-get update
sudo apt-get -y install cuda

  最后参考B站:UP主KDHF的教程CUDA安装部分第四步写入环境变量,写入对应版本的环境变量就行:

sudo vim ~/.bashrc

  移动鼠标光标到最后一行,按键盘i键输入,粘贴以下内容:

# >>> cuda initialize >>>
export PATH=$PATH:/usr/local/cuda-12.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.1/lib64:/usr/lib/x86_64-linux-gnu 
# >>> cuda initialize >>>

  最后按ESC退出编辑,输入“:wq”保存。   然后输入以下命令使环境变量生效:

source ~/.bashrc

  输入命令进行测试,检查驱动版本是否一致:

nvidia-smi
nvcc -V

  至此WSL开发环境搭建完成!!!