前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Win11安装基于WSL2的Ubuntu

Win11安装基于WSL2的Ubuntu

作者头像
charlee44
发布于 2024-12-14 01:10:48
发布于 2024-12-14 01:10:48
62400
代码可运行
举报
文章被收录于专栏:代码编写世界代码编写世界
运行总次数:0
代码可运行

1. 概述

趁着还没有完全忘记,详细记录一下在Win11下安装基于WSL2的Ubuntu的详细过程。不得不说WSL2现在被微软开发的比较强大了,还是很值得安装和使用的,笔者就通过WSL2安装的Ubuntu成功搭建了ROS环境。

2. 详论

2.1 子系统安装

在Win11搜索栏中搜索“启用或关闭Windows功能”,在弹出的“Windows功能”对话框中,勾选择 “适用于Linux的Windows子系统”和“虚拟机平台”,如下图1所示:

图1 启用适用于Linux的Windows子系统
图1 启用适用于Linux的Windows子系统

点击“确定”按钮,等待Windows更改完成。在选择“立即重新启动”,重新进入Win11系统之后,启动Windows PowerShell。注意,为了避免权限问题,后续所有启动Windows PowerShell的方式都可以以管理员身份运行。笔者也不太清楚哪些要管理员权限,哪些不要,干脆就统一以管理员身份运行好了。

在Windows PowerShell中输入如下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wsl --update

之后就会更新wsl,如下图2所示:

图2 更新wsl
图2 更新wsl

注意,如果你是用的比较新的Win11版本,那么应该就会默认安装到WSL2,所以不用进行切换WSL版本。如果安装的还是WSL1,那么就要升级到WSL2,因为WSL1和WSL2的特性是不太一样的。

接下来通过Microsoft Store安装Ubuntu发行版,可以直接在Microsoft Store中搜索Ubuntu,笔者这里安装的是Ubuntu 20.04.6 LTS版本,如下图3所示:

图3 Microsoft Store安装Ubuntu
图3 Microsoft Store安装Ubuntu

现在Microsoft Store的网络连接应该比较稳定了,下载安装过程还是比较顺利的。安装完成之后,就可以在系统搜索栏搜索到“Ubuntu 20.04.6 LTS”并启动,如下图4所示:

图4 启动Ubuntu子系统
图4 启动Ubuntu子系统

第一次启动Ubuntu终端的时候会让你创建用户名和密码,按照提示进行设置即可。不过笔者在这一步的时候不小心关闭终端了,后果就是每次启动Ubuntu终端的账户的时候都是root账户。

应该来说整个系统的安装过程还是很顺利的,并没有遇到诸如需要切换版本、下载其它终端、迁移地址等问题。

2.2 资源管理

按照惯例,安装好Ubuntu第一件事就是更新和升级包管理器,这是安装依赖库或者软件必须。在终端输入如下指令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt-get update  
apt-get upgrade

经过笔者的测试,上述指令现在没有遇到网络问题了,不知道是不是因为是WSL的原因。如果无法更新的话,有两种解决方式,一种是设置代理,还有一种是换源,这里就不多作论述了。

使用WSL的Ubuntu的好处就是方便资源管理,比如前面提到的要给包管理器换源,就要编辑/etc/apt/sources.list这个文件。但是这时是没有GUI界面的,只有使用像Vim和nano这样基于终端的文本编辑器,笔者反正是不太想使用的。但是在WSL下,如果你按照之前的步骤顺利安装完成,就可以直接通过Win11自带的文件资源管理器访问到Ubuntu下所有的文件,如下图5所示:

图5 Win11文件资源管理器访问到Ubuntu资源
图5 Win11文件资源管理器访问到Ubuntu资源

文件资源能访问到当然就可以通过Win11的文本编辑器打开并编辑(需要注意Windows和Ubuntu文本文件的换行问题)。不仅是文本文件,任何文件资源的拷贝和移动都很方便,可以实现常规的复制粘贴操作。其实文件资源不拷贝也行,两个系统之间的文件本身就可以互相访问,当然可能需要解决一些权限问题。

2.3 GUI界面

2.3.1 WSLg

既然都用上Ubuntu了,当然还是想给它装上GUI界面。其实目前最新的WSL2已经集成了WSLg技术,也就是可以支持GUI程序,只需要安装GUI程序,然后运行就可以了。在Ubuntu终端中输入指令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xeyes

就可以在Win11系统中看到xeyes应用程序窗口,如下图6所示:

图6 Win11系统启动Ubuntu GUI程序xeyes
图6 Win11系统启动Ubuntu GUI程序xeyes

如果没有出现xeyes窗口,那么可能是Win11版本、WSL版本太低或者GPU驱动的问题,都进行更新一下即可。如果顺利出现,就说明可以直接打开Ubuntu的GUI程序。例如,可以打开Ubuntu的文件资源管理器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
thunar

如果提示不识别,就安装一下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get update
sudo apt-get install thunar

启动窗口如下图7所示:

图7 Ubuntu文件资源管理器
图7 Ubuntu文件资源管理器

应该来说,双系统资源互通加上这个文件资源管理器,应该能方便解决很多问题了。

2.3.2 VcXsrv

如果还是想获得沉浸式的桌面体验,那么就需要安装桌面环境了。不过这种方案不是安装了包就行了,更类似于远程桌面连接,需要在Win11端安装X服务器VcXsrv,可以在其官方网站上下载。

下载安装完成后会在桌面上生成一个XLaunch的快捷方式。为了以防外一,还是以管理员方式启动XLaunch,首先配置展示设置,如下图8所示:

图8 VcXsrv配置展示设置
图8 VcXsrv配置展示设置

展示配置用于设置Ubuntu桌面以及GUI程序的窗口方式,其实四种方式其实都可以,这里就以Multiple windows为例。点击下一步,配置如何启动客户端,如下图9所示:

图9 VcXsrv配置如何启动客户端
图9 VcXsrv配置如何启动客户端

这里保持默认配置就行。继续下一步,进行额外配置,如下图10所示:

图10 VcXsrv额外配置
图10 VcXsrv额外配置

注意这里的Disable access control是一定要勾选的,否则可能无法启动GUI桌面。继续下一步,点击“Save configuration”可以将配置保存,便于下一次启动。点击“完成”,VcXsrv就会正式启动,如下图11所示:

图11 VcXsrv配置完成
图11 VcXsrv配置完成

一定要注意,通过Multiple windows方式启动的VcXsrv是看不到窗口的,它是在后台启动的,可以在任务管理器中看到。如果因为各种原因需要重启,就在任务管理器中关掉,确保只有一个VcXsrv程序。

以上是在win11端中的操作,接下来就是在Ubuntu终端的操作。同样的,为了避免问题以管理员方式启动Ubuntu终端,并且使用root权限账号。使用如下指令安装xfce4桌面环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install xfce4 

配置远端的展示地址,指令如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export DISPLAY=192.168.31.168:0

注意这里使用的192.168.31.168要换成你Win11端的IP地址,localhost或者127.0.0.1是不行的,因为对Ubuntu来说,Win11端其实是远端,一定要用Win11端的IP地址。这一步在每次启动桌面环境的时候都要设置,如果对Ubuntu环境比较熟的话可以配置到.bashrc文件中,可以避免每次都执行这个操作。

通过sudo startxfce4启动xfce4桌面环境,效果如下图12所示:

图12 启动Ubuntu桌面环境
图12 启动Ubuntu桌面环境

2.3.3 问题

如果是使用WSLg还是VcXsrv连接的方式,都还是有一些问题的。WSLg的问题是启动GUI程序是不支持高分屏的,这样GUI上的文字特别小,看起来非常伤眼睛。VcXsrv的问题是只有以Multiple windows方式启动的桌面环境才能支持GPU/OpenGL,但是这种方式启动的桌面环境中打开的GUI程序有点问题,具体表现为点击标题栏的关闭按钮无法生效,或者无法通过标题栏拖动窗口的位置。图8所示的其他方式如Fullscreen、One large window等就没这个问题,但是又不支持GPU/OpenGL。

不过话说回来,对使用GPU的GUI程序来说,基于WSL的Ubuntu确实不是最优解,笔者这里使用glxinfo | grep "OpenGL"显示的OpenGL只能支持到OpenGL 3.1,更不谈其他显卡的驱动了。以后有机会的话还是试试双系统的Ubuntu,体验一下满血Ubuntu的感觉。

3. 参考

  1. Win11安装WSL2 子系统以及不同分发版Ubuntu系统
  2. WS2 安装ubuntu +迁移+vscode
  3. 通过 VcXsrv 在 WSL2 上使用图形化界面
  4. wsl最丝滑的图形桌面设置方式是什么?
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ICML 2023 Workshop | Siamese SIREN:隐式神经表征的音频压缩
隐式神经表征 (INRs) 已经成为一种很有前景的表示各种数据模式的方法,包括3D形状、图像和音频。虽然最近的研究已经证明了 INRs 在图像和 3D 形状压缩方面的成功应用,但它们在音频压缩方面的潜力仍未得到充分开发。基于此,本文提出了一项关于使用 INRs 进行音频压缩的初步研究。
用户1324186
2023/09/27
5880
ICML 2023 Workshop | Siamese SIREN:隐式神经表征的音频压缩
Relu激活函数Out了?正弦周期激活函数在隐式神经表示中大显神威!
下图就是一些我们经常使用的激活函数,从这些激活函数的图像可以看出它们有的是局部线性的有的是非线性的,有的是一个函数表达式下来的,有的是分段的。但其表达式好像都不是很常见,给人一种应凑的感觉有没有?
AI科技评论
2020/07/15
2.4K0
Relu激活函数Out了?正弦周期激活函数在隐式神经表示中大显神威!
学界 | 深度神经网络为什么不易过拟合?傅里叶分析发现固有频谱偏差
众所周知,过参数化的深度神经网络(DNN)是一类表达能力极强的函数,它们甚至可以以 100% 的训练准确率记住随机数据。这种现象就提出了一个问题:为什么它们不会轻易地过度拟合真实数据?为了回答这个问题,我们使用傅立叶分析研究了深度神经网络。我们证明了具有有限权重(或者经过有限步训练)的深度神经网络天然地偏向于在输入空间上表示光滑的函数。具体而言,深度 ReLU 网络函数的一个特定频率分量(k)的大小至少以 O(k^(-2))的速率衰减,网络的宽度和深度分别以多项式和指数级别帮助网络对更高的频率建模。这就说明了为什么深度神经网络不能完全记住 delta 型的峰函数。我们的研究还表明深度神经网络可以利用低维数据流形的几何结构来用简单的函数逼近输入空间中存在于简单函数流形上的复杂函数。结果表明,被网络分类为属于某个类的所有样本(包括对抗性样本)都可以通过一条路径连接起来,这样沿着该路径上的网络预测结果就不会改变。最后,我们发现对应于高频分量的深度神经网络(DNN)参数在参数空间中所占的体积较小。
机器之心
2018/07/26
9870
学界 | 深度神经网络为什么不易过拟合?傅里叶分析发现固有频谱偏差
如何从频域的角度解释CNN(卷积神经网络)?
时域卷积=频域乘积,卷积神经网络大部分的计算也在卷积部分,如何从频域的角度思考卷积神经网络,如何从频域的角度解释ResNet。
abs_zero
2020/11/11
1.3K0
如何从频域的角度解释CNN(卷积神经网络)?
性能优于ReLU,斯坦福用周期激活函数构建隐式神经表示,Hinton点赞
这个非线性激活函数效果比 ReLU 还好?近日,斯坦福大学的一项研究《Implicit Neural Representations with Periodic Activation Functions》进入了我们的视野。这项研究提出利用周期性激活函数处理隐式神经表示,由此构建的正弦表示网络(sinusoidal representation network,SIREN)非常适合表示复杂的自然信号及其导数。
机器之心
2020/06/29
1.5K0
性能优于ReLU,斯坦福用周期激活函数构建隐式神经表示,Hinton点赞
ICML 2019 | SGC:简单图卷积网络
题目:Simplifying Graph Convolutional Networks
Cyril-KI
2022/11/17
8870
ICML 2019 | SGC:简单图卷积网络
SIREN周期激活函数
CNN强大的学习能力使其能拟合任意函数,然而这种网络架构无法对信号进行细致的建模,很难去表示信号在时域,空域的衍生信息。我们提出以「周期激活函数来表示隐式神经网络」,并「证明这些网络非常适合复杂的自然信号及其导数」。而在实验中也表明SIREN相较于其他激活函数对于音视频任务有更好的效果。
BBuf
2020/07/09
1.9K0
SIREN周期激活函数
另一个角度看神经网络回归-频域分析
神经网络模型被广泛应用在回归问题中。神经网络模型的回归精度与训练数据的分布有关。本文从训练数据的频域的角度来对该问题进行分析
绿盟科技研究通讯
2019/12/11
2K0
另一个角度看神经网络回归-频域分析
WACV 2023 | ImPosing:用于视觉定位的隐式姿态编码
标题:ImPosing:Implicit Pose Encoding for Efficient Visual Localization
3D视觉工坊
2023/04/30
3070
WACV 2023 | ImPosing:用于视觉定位的隐式姿态编码
上海交大 | 神经网络的两个简单偏好(频率原则、参数凝聚)
我是 2017 年 11 月开始接触深度学习,至今刚好五年。2019 年 10 月入职上海交大,至今三年,刚好第一阶段考核。2022 年 8 月 19 号,我在第一届中国机器学习与科学应用大会做大会报告,总结这五年的研究以及展望未来的方向。本文是该报告里关于理论方面的研究总结(做了一点扩展)。报告视频链接可以见:
ShuYini
2022/12/06
2.5K0
上海交大 | 神经网络的两个简单偏好(频率原则、参数凝聚)
深度神经网络中的数学,对你来说会不会太难?
选自MIT 机器之心编译 参与:Jane W 这是一篇讲解深度学习数学的系列文章,但并非是基础数学,还涉及到了拓扑与测度论等内容。本文为该系列文章的第一部分,机器之心会持续把后续内容全部放出。更规范
机器之心
2018/05/09
7050
深度神经网络中的数学,对你来说会不会太难?
2025最新卷积神经网络(CNN)详细介绍及其原理详解
本文详细介绍了卷积神经网络(CNN)的基础概念和工作原理,包括输入层、卷积层、池化层、全连接层和输出层的作用。通过举例和图解,阐述了CNN如何处理图像,提取特征,以及如何进行手写数字识别。此外,讨论了池化层的平移不变性和防止过拟合的重要性。 本文是关于卷积神经网络(CNN)技术教程,整体内容从基础概念到实际示例,逐层剖析 CNN 的各个组成部分与作用,并通过手写数字识别案例帮助大家更直观地理解其工作原理。
猫头虎
2025/06/08
1.4K0
2025最新卷积神经网络(CNN)详细介绍及其原理详解
NeurIPS 2023 | 神经网络图像压缩:泛化、鲁棒性和谱偏
目前,神经图像压缩(NIC)在分布内(in-distribution, IND)数据的 RD 性能和运行开销表现出了卓越的性能。然而,研究神经图像压缩方法在分布外(out-of-distribution, OOD)数据的鲁棒性和泛化性能方面的工作有限。本文的工作就是围绕以下关键问题展开的:
用户1324186
2024/01/04
5200
NeurIPS 2023 | 神经网络图像压缩:泛化、鲁棒性和谱偏
Tacotron2论文阅读
这篇论文描述了Tacotron 2, 一个直接从文本合成语音的神经网络架构。系统由两部分构成,一个循环seq2seq结构的特征预测网络,把字符向量映射为梅尔声谱图,后面再接一个WaveNet模型的修订版,把梅尔声谱图合成为时域波形。我们的模型得到了4.53的平均意见得分(MOS),专业录制语音的MOS得分是4.58。为了验证模型设计,我们对系统的关键组件作了剥离实验研究,并且评估了使用梅尔频谱替代语言学、音长和F0特征作为WaveNet输入带来的不同影响。我们进一步展示了使用紧凑的声学中间表征可以显著地简化WaveNet架构
mathor
2020/08/13
1.6K0
90后华裔教授一年连发三篇Nature子刊!首个量子神经网络QuantumFlow开源
---- 新智元报道   作者:姜炜文 编辑:好困 【新智元导读】近日,华裔教授姜炜文再获量子计算革命性突破,在QuantumWeek上开源了首个量子神经网络设计栈,加速了神经网络在量子计算机上的发展。 神经网络是当下计算应用中发展最快,使用最广的机器学习算法。然而,随着应用不断复杂化导致网络结构不断扩大,存储性能瓶颈已逐渐凸显。 在传统计算平台上,N个数字比特只能表示1个N位数据,然而在量子计算中,M个量子比特却同时能表示2^M个数据,并能同时操作这些数据。 量子计算机如此强大的存储与计算能力,使其
新智元
2023/05/22
3360
90后华裔教授一年连发三篇Nature子刊!首个量子神经网络QuantumFlow开源
一位上海交大教授的深度学习五年研究总结
我是2017年11月开始接触深度学习,至今刚好五年。2019年10月入职上海交大,至今三年,刚好第一阶段考核。2022年8月19号,我在第一届中国机器学习与科学应用大会做大会报告,总结这五年的研究以及展望未来的方向。本文是该报告里关于理论方面的研究总结(做了一点扩展)。报告视频链接可以见:https://www.bilibili.com/video/BV1eB4y1z7tL/
黄博的机器学习圈子
2022/11/07
9000
一位上海交大教授的深度学习五年研究总结
既是自编码器,也是RNN,DeepMind科学家八个视角剖析扩散模型
如果你尝试过目前最火的 AI 绘画工具之一 Stable Diffusion,那你就已经体验过扩散模型(diffusion model)那强大的生成能力。但如果你想更进一步,了解其工作方式,你会发现扩散模型的形式其实有很多种。
机器之心
2023/09/08
5710
既是自编码器,也是RNN,DeepMind科学家八个视角剖析扩散模型
图神经网络 GNN GAT & GCN(一)
知乎: https://www.zhihu.com/people/gong-jun-min-74
zenRRan
2020/04/21
3.6K0
图神经网络 GNN GAT & GCN(一)
最基本的25道深度学习面试问题和答案
近年来,对深度学习的需求不断增长,其应用程序被应用于各个商业部门。各公司现在都在寻找能够利用深度学习和机器学习技术的专业人士。在本文中,将整理深度学习面试中最常被问到的25个问题和答案。如果你最近正在参加深度学习相关的面试工作,那么这些问题会对你有所帮助。
deephub
2022/11/11
9840
最基本的25道深度学习面试问题和答案
解读 | 如何从信号分析角度理解卷积神经网络的复杂机制?
机器之心原创 作者:Qintong Wu 参与:Jane W 随着复杂和高效的神经网络架构的出现,卷积神经网络(CNN)的性能已经优于传统的数字图像处理方法,如 SIFT 和 SURF。在计算机视觉领域,学者们开始将研究重点转移到 CNN,并相信 CNN 是这一领域的未来趋势。但是,人们对成效卓著的 CNN 背后的机理却缺乏了解。研究 CNN 的运行机理是当今一个热门话题。基本上,有三种主流观点:1>优化、2>近似、3>信号。前两种观点主要集中在纯数学分析,它们试图分析神经网络的统计属性和收敛性,而第三种观
机器之心
2018/05/07
8570
解读 | 如何从信号分析角度理解卷积神经网络的复杂机制?
推荐阅读
相关推荐
ICML 2023 Workshop | Siamese SIREN:隐式神经表征的音频压缩
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验