当前位置:首页 » 《关于电脑》 » 正文

【24年9月亲测可用】Windows11-WSL2-Ubuntu22.04-可视化桌面安装教程(附带CUDA,cuDNN)

6 人参与  2024年10月05日 19:20  分类 : 《关于电脑》  评论

点击全文阅读


目录

TL;DR作者注:软硬件环境:一、在Windows上安装Linux子系统二、在子系统Ubuntu22.04上安装桌面环境2.1 更换国内镜像源(以阿里源为例)2.2 安装必要的依赖-`systemctl`【非常重要】2.3 安装必要的依赖-`ubuntu-desktop`【非常重要】2.4 安装远程控制软件xrdp 三、从Windows启动桌面版Ubuntu四、安装CUDA4.1 下载安装CUDA4.2 配置环境变量 五、安装cuDNN5.1 下载安装cuDNN5.2 安装和测试 之前浏览过但是各种报错的其他教程链接

TL;DR

本文主要参照这个教程,但是需要使用这个链接和这个链接作为补丁,否则用远程桌面链接之后会一直黑屏/蓝屏。

作者注:

如果读者之前安装失败了,可以去最后面这里搜索一下里面是否有你之前看过的教程,本人亲测都不太好用。

软硬件环境:

OS: Windows 11 家庭中文版 23H2 22631.4037WSL 版本: 2.3.17.0内核版本: 5.15.153.1-2WSLg 版本: 1.0.64MSRDC 版本: 1.2.5326Direct3D 版本: 1.611.1-81528511DXCore 版本: 10.0.26100.1-240331-1435.ge-releaseCPU:Intel Core i9-14900HXGPU:NVIDIA GeForce RTX 4060 Laptop GPU

一、在Windows上安装Linux子系统

第一步没什么坑,可以直接参照这个教程,直到安装好系统,出现这个界面,记得更新wsl版本就行,而且要下载22.04版本的Ubuntu,原教程是22.04:
在这里插入图片描述

二、在子系统Ubuntu22.04上安装桌面环境

2.1 更换国内镜像源(以阿里源为例)

先备份原来的软件源(虽然大概不会用到),之后删光当前软件源内的内容,再添加进新的内容。

# 备份原来的软件源sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak# 编辑软件源sudo vim /etc/apt/sources.list

如果是vim打开的这个文件,可以连续按D键来删除光标所在的行,之后按I键进入编辑模式,粘贴以下内容后按·ESC退出编辑模式,最后输入:wq保存并退出。

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

如果想用清华源,就粘贴下面的内容:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiversedeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiversedeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiversedeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiversedeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

保存之后更新一下:

# 更新软件源sudo apt-get update -y# 升级所有软件sudo apt-get upgrade -y

2.2 安装必要的依赖-systemctl【非常重要】

首先确认systemctl是否是自带的,很多教程里面会写去下面这个链接下载安装systemctl,但是在新版本的 wsl2 中这个东西是自带的。
请在命令行中输入

systemctl

如果出现以下一大堆输出,那说明systemctl已经安装好了,直接跳到 2.3 就行
在这里插入图片描述如果在这一步报错了,显示Code 1之类的一行,则需要按照下面这个流程先安装systemctl

# 其他教程提到的 systemctl 链接,但新版本的 wsl2 不需要安装这个git clone https://github.com/DamionGans/ubuntu-wsl2-systemd-script.gitcd ubuntu-wsl2-systemd-scriptvim enter-systemd-namespace

把这两行的参数从-a改成-m -p,之后保存即可
在这里插入图片描述
最后进行安装

bash ubuntu-wsl2-systemd-script.sh

安装之后重启wsl,重新进来之后输入systemctl应该就有下图的输出了

exitwsl --shutdownsystemctl

在这里插入图片描述
https://github.com/microsoft/WSL/discussions/9350

2.3 安装必要的依赖-ubuntu-desktop【非常重要】

其他的教程在这一步会提示你去安装ubuntu-desktop,但是很多人会遇到一个问题是,安装的时候进度卡在73%左右之后就不动了。
通过这个链接https://github.com/microsoft/WSL/discussions/9350得知,解决方法是首先:

sudo apt-mark hold acpid acpi-support

然后正常安装

# 安装gnome桌面环境sudo apt-get install ubuntu-desktop# 安装相关工具sudo apt-get install gnome-tweak

之后就会进入下图的安装流程,安装快慢视网速而定,大约10分钟内能完事。
在这里插入图片描述
这时候我们先回到Windows,用管理员身份打开PowerShell,并输入:

# 停止服务net stop LxssManager# 启动服务net start LxssManager

来重启服务。

2.4 安装远程控制软件xrdp

我们需要在Ubuntu中安装远程控制软件,然后使用Windows自带的mstsc工具(远程桌面连接)来达到可视化操作Ubuntu的目的。
回到Ubuntu,在Ubuntu命令行中执行安装安装命令:

sudo apt-get install xrdp

将端口从3389改为3390,因为此前默认的3389端口已保留用于ubuntu shell

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

配置启动session,否则远程桌面登录输入密码之后会直接闪退

echo "gnome-session" > ~/.xsession

重新启动xrdp服务

sudo systemctl restart xrdp

这时可以查看xrdp服务状态,左上角是个小绿灯,输出日志里面没有报错就OK。

sudo systemctl status xrdp

踩坑的点来了,需要修改以下文件,否则远程桌面连接进去之后会黑屏/蓝屏

xrdp连接后平面始终为黑色,首先打开 /etc/xrdp/startwm.sh 文件

sudo vim /etc/xrdp/startwm.sh

添加两行unset,完成以后可以尝试重连一下,注释两行test和exec,再添加一行 gnome-session,如下图所示

unset DBUS_SESSION_BUS_ADDRESS  # 新增unset XDG_RUNTIME_DIR           # 新增if test -r /etc/profile; then        . /etc/profilefi#test -x /etc/X11/Xsession && exec /etc/X11/Xsession # 注释#exec /bin/sh /etc/X11/Xsession  # 注释gnome-session  # 新增

完成后重启xrdp即可

sudo service xrdp restart

这个解决方案来自https://blog.csdn.net/taxuebufeng/article/details/141063474

三、从Windows启动桌面版Ubuntu

按住Windows+ R,在运行框中输入mstsc后按回车
在这里插入图片描述
计算机输入localhost:3390用户名输入之前 Ubuntu 设置的用户名后按回车
在这里插入图片描述
下一步选择
在这里输入Ubuntu的账户和密码并点击OK
在这里插入图片描述
在上一步之后可能会有短暂的黑屏,别怕!这不是配置没成功,稍微等待一下就可以看到下面这个图片啦,到此为止说明桌面环境已经成功配置并且可以正常进入啦!
在这里插入图片描述

四、安装CUDA

4.1 下载安装CUDA

安装cuda比较简单,进入官网,选择自己需要的版本,按照命令运行即可,这里以CUDA 12.1为例
CUDA Toolkit Archive | NVIDIA Developer
在这里插入图片描述
按照官方给的流程走即可

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

4.2 配置环境变量

打开~/.bashrc

sudo vim ~/.bashrc

在文件末尾添加如下内容:

export CUDA_HOME=/usr/local/cudaexport PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

测试一下:
在这里插入图片描述

五、安装cuDNN

5.1 下载安装cuDNN

进入官网进行下载,选择匹配自己cuda版本,这里以8.9.5版本为例
cuDNN Archive | NVIDIA Developer

在这里插入图片描述

5.2 安装和测试

解压文件,并将其放入cuda对应的文件中

tar -xvf cudnn-linux-x86_64-8.9.5.30_cuda12-archive.tar.xzsudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/includesudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

测试一下

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述

之前浏览过但是各种报错的其他教程链接

https://blog.csdn.net/m0_60171828/article/details/138376726https://blog.csdn.net/wang_dongjian/article/details/141294317https://blog.csdn.net/yellow_hill/article/details/128526709https://blog.csdn.net/zhouzhiwengang/article/details/139729949https://stackoverflow.com/questions/61860208/running-graphical-linux-desktop-applications-from-wsl-2-error-e233-cannot-ophttps://avivarma1.medium.com/gnome-desktop-on-wsl-2-using-ubuntu-db77635ed2aahttps://hackmd.io/@JYU/B1zmv1MCUhttps://askubuntu.com/questions/1405438/how-do-you-run-x-org-and-gnome-on-wslhttps://www.makeuseof.com/tag/linux-desktop-windows-subsystem/#:%7E:text=Windows%20Subsystem%20for%20Linux%20(WSL,install%20and%20run%20Linux%20softwarehttps://bbs.archlinux.org/viewtopic.php?id=273750https://askubuntu.com/questions/1481183/xf86enableio-failed-to-enable-i-o-ports-0000-03ff-operation-not-permittedhttps://unix.stackexchange.com/questions/478742/error-when-trying-to-use-xorg-only-console-users-are-allowed-to-run-the-x-servehttps://stackoverflow.com/questions/60984627/xfce4-session-cannot-connect-display-error

点击全文阅读


本文链接:http://zhangshiyu.com/post/168206.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1