当前位置: 首页 > article >正文

Win10系统安装WSL2-Ubuntu, 并使用VScode开始工作

本教程基于博主当前需要使用 WSL2(Windows Subsystem for Linux 2) 而编写,将自己使用的经过分享给大家。有什么意见建议敬请大家批评指正。此过程需要打开 Microsoft Store
话不多说,立即开始~

文章目录

    • 1. 检查系统版本
    • 2. 启动 WSL 功能
    • 3. 安装Ubuntu
    • 4. 设置 WSL2 为默认版本并更新
    • 5. WSL && VScode
    • 6. 注意事项


1. 检查系统版本

WSL2 的 系统需求:
1. Win10 1903 或 更高版本(家庭版、专业版、企业版和教育版)
2. Win11 系统

如何检查是否满足要求?
1. 按下 win + R, 输入 winver 并回车
2. 弹出的窗口 关于Windows 中可查看版本号

简言之,就是只要是 Win10 或者 Win11 都满足要求


2. 启动 WSL 功能

下面是详细步骤

  • 控制面板 → \to 程序 → \to 程序和功能 → \to 启用或关闭 Windows 功能

启用或关闭 Windows 功能 按钮的位置

  • 在弹出窗口中勾选以下两项:
    • 适用于 Linux 的 Windows 子系统
    • 虚拟机平台

Note: 这两项几乎在最下边,进度条拖到最底往上翻找比较快

需要开启的两项功能

  • 之后点击确定,等待系统自动下载并安装所需组件,下载后 重启计算机

3. 安装Ubuntu

步骤:

  1. 找到 Microsoft Store (该应用但凡是Win系统都自带,找不到就去开始菜单里面找)
  2. 搜索栏输入 “Ubuntu”,点击回车后选择自己需要的版本
  3. 点击 “获取” 按钮 进行安装
  4. 安装完成后,开始菜单栏会出现 Ubuntu的图标,点击图标并进入
  5. 首次进入会设置用户名和密码,博主建议用户名密码设置一样

4. 设置 WSL2 为默认版本并更新

步骤:

  1. 以管理员身份运行 PowerShell
    PowerShell位置: Win10系统鼠标移动至开始按钮,单击右键即可看到, Win11操作步骤差不多
  2. 输入命令wsl --set-default-version 2并单击回车
  3. 输入命令wsl.exe --update更新(魔法能提高更新速度, 没有魔法速度可能会很慢)

5. WSL && VScode

该项需要下载 VScode,这就不提了~
接下来直接看 WSL2 连接 VScode的步骤

VScode方面: 需要安装插件:Remote - SSH, 直接搜 ssh 即可找到
WSL方面: 打开 Ubuntu 并输入命令: code ., 等待一段时间之后就会打开 VScode, 现在就可在VScode中工作了

之后需要在VScode中工作,可直接启动VScode,VScode会自动连接WSL。
若某次VScode与WSL断开的话,可以重复上述操作, 但是这种方法挺麻烦的,还有更简单的方案:

  1. 在 VScode中找到以下图标并点击
    ssh按钮位置
  2. 确保 远程资源管理器WSL 目标, 一般情况下设置好后并不会改变
  3. 鼠标移动到 Ubuntu 或者 相关文件夹名称上面
  4. 此时会显示图标 → \to , 点击即可进入。

6. 注意事项

  1. 安装过程中如果遇到权限问题, 确保使用 管理员 身份运行相关操作
  2. 如果系统提示 WSL 2 内核组件未安装,可尝试更新 Windows系统 或 手动下载安装 WSL 2 内核更新包
  3. 使用VScode过程中如果想要退出远程, 可点击VScode左下角蓝色文字 WSL: Ubuntu-**.04, 并在弹窗中选择关闭远程连接

相关文章:

Win10系统安装WSL2-Ubuntu, 并使用VScode开始工作

本教程基于博主当前需要使用 WSL2(Windows Subsystem for Linux 2) 而编写,将自己使用的经过分享给大家。有什么意见建议敬请大家批评指正。此过程需要打开 Microsoft Store 话不多说,立即开始~ 文章目录 1. 检查系统版本2. 启动 WSL 功能3. 安装Ubuntu4…...

SLAM(七)-卡尔曼滤波

SLAM(七)-卡尔曼滤波 一、卡尔曼滤波(KF)二、扩展卡尔曼滤波(EKF)三、误差状态卡尔曼滤波(ESKF) 参考《概率机器人》、《Principles of GNSS,lnertial and Multisensor lntegrated Navigation Systems (Second Edition)》 一、卡尔曼滤波(KF)…...

如何解决DDoS攻击问题 ?—专业解决方案深度分析

本文深入解析DDoS攻击面临的挑战与解决策略,提供了一系列防御技术和实践建议,帮助企业加强其网络安全架构,有效防御DDoS攻击。从攻击的识别、防范措施到应急响应,为网络安全工作者提供了详细的操作指引。 DDoS攻击概览&#xff1a…...

解决 Ubuntu 上 Docker 安装与网络问题:从禁用 IPv6 到配置代理

解决 Ubuntu 上 Docker 安装与网络问题的实践笔记 在 Ubuntu(Noble 版本)上安装 Docker 时,我遇到了两个常见的网络问题:apt-get update 失败和无法拉取 Docker 镜像。通过逐步排查和配置,最终成功运行 docker run he…...

Windows for Redis 后台服务运行

下载 redis 安装包 地址:https://github.com/tporadowski/redis/releases 解压zip压缩包,执行 redis-server.exe 即可以窗口模式运行(窗口关闭则服务关闭) 运行窗口可以看到,端口是 6379 我这里使用 nvaicat 客服端测…...

AMGCL库的Backends及使用示例

AMGCL库的Backends及使用示例 AMGCL是一个用于解决大型稀疏线性方程组的C库,它提供了多种后端(backends)实现,允许用户根据不同的硬件和性能需求选择合适的计算后端。 AMGCL支持的主要Backends 内置Backends: builtin - 默认的纯C实现block - 支持块状…...

【前端】【css】flex布局详解

Flex 布局(Flexible Box Layout,弹性盒子布局)是 CSS3 中的一种布局模式,用于在容器中更高效地分配空间并对齐内容,即使它们的大小是动态未知的。它非常适用于响应式设计。 一、Flex 布局的基本概念 1. 启用 Flex 布局…...

Java面试黄金宝典43

1. 零拷贝技术 零拷贝(Zero - copy)技术是一种高效的数据传输技术,它旨在减少数据在用户空间和内核空间之间的拷贝次数,以此提升系统的数据传输性能。在传统数据传输过程中,数据往往需要多次在用户空间和内核空间之间拷贝,这会消耗大量的 CPU 资源,而零拷贝技术能避免这…...

C语言超详细指针知识(二)

在上一篇有关指针的博客中,我们介绍了指针的基础知识,如:内存与地址,解引用操作符,野指针等,今天我们将更加深入的学习指针的其他知识。 1.指针的使用和传址调用 1.1strlen的模拟实现 库函数strlen的功能是…...

华为机试—最大最小路

题目 对于给定的无向无根树&#xff0c;第 i 个节点上有一个权值 wi​ 。我们定义一条简单路径是好的&#xff0c;当且仅当&#xff1a;路径上的点的点权最小值小于等于 a &#xff0c;路径上的点的点权最大值大于等于 b 。 保证给定的 a<b&#xff0c;你需要计算有多少条简…...

[Linux]从零开始的ARM Linux交叉编译与.so文件链接教程

一、前言 最近在项目需要将C版本的opencv集成到原本的代码中从而进行一些简单的图像处理。但是在这其中遇到了一些问题&#xff0c;首先就是原本的opencv我们需要在x86的架构上进行编译然后将其集成到我们的项目中&#xff0c;这里我们到底应该将opencv编译为x86架构的还是编译…...

【模板】缩点

洛谷p3387 思路: 算法:tarjan算法 根据题意,我们只要找到一个路径,使得最终权重最大即可,首先,根据题目可知,如果一个点在一个环上,那么我们就将这整个环都选上,题目上允许我们能够重复走,因此,我们可以将环缩成点,将环所称点后,就可以转换成树,从没有父节点的结点开始,我们向…...

Rag实现流程

Rag实现流程 目录 Rag实现流程1. 加载问答链代码解释`chain_type="stuff"` 的含义其他 `chain_type` 参数选项及特点1. `map_reduce`2. `refine`3. `map_rerank`示例代码展示不同 `chain_type` 的使用其他参数类型2. 提出问题3. 检索相关文档代码解释其他参数类型4. …...

计算机网络- 传输层安全性

传输层安全性 7. 传输层安全性7.1 传输层安全基础7.1.1 安全需求机密性&#xff08;Confidentiality&#xff09;完整性&#xff08;Integrity&#xff09;真实性&#xff08;Authenticity&#xff09;不可否认性&#xff08;Non-repudiation&#xff09; 7.1.2 常见安全威胁窃…...

常青藤快速选择系统介绍

功能特点 支持多种属性和特性&#xff1a;可依据实体属性&#xff08;如实体类型、图层、颜色、线宽等&#xff09;以及实体特性&#xff08;如直线长度、圆面积、文字内容等&#xff09;进行筛选。多过滤条件与运算符号&#xff1a;支持多个过滤条件组合&#xff0c;基本涵盖实…...

【c语言】指针习题

练习一&#xff1a;使用指针打印数组内容 #include <stdio.h> void print(int* p, int sz) {int i 0;for (i 0; i < sz; i) {printf("%d ", *p);//printf("%d ", *(p i));} } int main() {int arr[] { 1,2,3,4,5,6,7,8,9,10 };int sz sizeof…...

KWDB创作者计划—KWDB认知引擎:数据流动架构与时空感知计算的范式突破

引言&#xff1a;数据智能的第三范式 在数字化转型进入深水区的2025年&#xff0c;企业数据系统正面临三重悖论&#xff1a;数据规模指数级增长与实时决策需求之间的矛盾、多模态数据孤岛与业务连续性要求之间的冲突、静态存储范式与动态场景适配之间的鸿沟。KWDB&#xff08;K…...

Sqoop常用指令

Sqoop&#xff08;SQL-to-Hadoop&#xff09;是一个开源工具&#xff0c;旨在将关系型数据库中的数据导入到Hadoop的HDFS中&#xff0c;或者从HDFS导出到关系型数据库中。以下是一些常用的Sqoop命令&#xff1a; 导入数据到HDFS 1. 基本导入 sqoop import \ --connect jdbc:mys…...

银行业务知识序言

银行业务知识体系全景解析 第一章 金融创新浪潮下的银行业务知识革命 1.1 数字化转型驱动金融业态重构 在区块链、人工智能、物联网等技术的叠加作用下&#xff0c;全球银行业正经历着"服务无形化、流程智能化、风控穿透化"的深刻变革。根据麦肯锡《2023全球银行业…...

智慧水务项目(八)基于Django 5.1 版本PyScada详细安装实战

一、说明 PyScada&#xff0c;一个基于Python和Django框架的开源SCADA&#xff08;数据采集与监视控制系统&#xff09;系统&#xff0c;采用HTML5技术打造人机界面&#xff08;HMI&#xff09;。它兼容多种工业协议&#xff0c;如Modbus TCP/IP、RTU、ASCII等&#xff0c;并具…...

畅游Diffusion数字人(23):字节最新表情+动作模仿视频生成DreamActor-M1

畅游Diffusion数字人(0):专栏文章导航 前言:之前有很多动作模仿或者表情模仿的工作,但是如果要在实际使用中进行电影级的复刻工作,仅仅表情或动作模仿还不够,需要表情和动作一起模仿。最近字节跳动提出了一个表情+动作模仿视频生成DreamActor-M1。 目录 贡献概述 核心动…...

【Unity网络编程知识】C#的 Http相关类学习

1、搭建HTTP服务器 使用别人做好的HTTP服务器软件&#xff0c;一般作为资源服务器时使用该方式&#xff08;学习阶段建议使用&#xff09;自己编写HTTP服务器应用程序&#xff0c;一般作为Web服务器或者短连接游戏服务器时使用该方式&#xff08;工作后由后端程序员来做&#…...

Python operator 模块介绍

operator 模块是 Python 标准库中的一个模块,它提供了一系列与 Python 内置运算符对应的函数。这些函数可以用于替代一些常见的运算符操作,在某些场景下能让代码更加简洁、高效,还能方便地用于函数式编程。以下是对 operator 模块的详细介绍: 1. 导入模块 使用 operator …...

SpringBoot企业级开发之【用户模块-更新用户头像】

功能如下所示&#xff1a; 我们先看一下接口文档&#xff1a; 为什么头像是一串字符串呢&#xff1f;因为我们是将头像图片放到第三方去存储&#xff0c;比如&#xff1a;阿里云等 开发思路&#xff1a; 实操&#xff1a; 1.controller 注意!这里使用【PatchMapping】注解…...

DAPP实战篇:使用ethersjs连接智能合约并输入地址查询该地址余额

本系列目录 专栏:区块链入门到放弃查看目录-CSDN博客文章浏览阅读400次。为了方便查看将本专栏的所有内容列出目录,按照顺序查看即可。后续也会在此规划一下后续内容,因此如果遇到不能点击的,代表还没有更新。声明:文中所出观点大多数源于笔者多年开发经验所总结,如果你…...

网络流量管理-流(Flow)

1. 传统网络的问题&#xff1a;快递员送信模式 想象你每天要寄100封信给同一个朋友&#xff0c;传统网络的处理方式就像一个固执的快递员&#xff1a; 每封信都单独处理&#xff1a;检查地址、规划路线、盖章、装车…即使所有信的目的地、收件人都相同&#xff0c;也要重复100…...

每日文献(十一)——Part two

今天从第四章&#xff1a;快速RCNN&#xff0c;方法细节开始介绍。 目录 四、快速RCNN&#xff1a;方法细节 4.1 快速R-CNN回顾 4.2 对抗网络设计 4.2.1 遮挡的对抗空间信息损失 4.2.2 对抗空间Transformer网络 4.2.3 对抗融合 五、实验 5.1 实验设置 5.2 PASCAL VOC…...

Laravel 实现 队列 发送邮件功能

一. 什么是队列 在构建 Web 应用程序时&#xff0c;你可能需要执行一些任务&#xff0c;例如解析文件&#xff0c;发送邮件&#xff0c;大量的数据计算等等&#xff0c;这些任务在典型的 Web 请求期间需要很长时间才能执行。 庆幸的是&#xff0c;Laravel 可以创建在后台运行…...

一、绪论(Introduction of Artificial Intelligence)

写在前面&#xff1a; 老师比较看重的点&#xff1a;对问题的概念本质的理解&#xff0c;不会考试一堆运算的东西&#xff0c;只需要将概念理解清楚就可以&#xff0c;最后一个题会出一个综合题&#xff0c;看潜力&#xff0c;前面的部分考的不是很深&#xff0c;不是很难&…...

Web攻防—SSRF服务端请求伪造Gopher伪协议无回显利用

前言 重学Top10的第二篇&#xff0c;希望各位大佬不要见笑。 SSRF原理 SSRF又叫服务端请求伪造&#xff0c;是一种由服务端发起的恶意请求&#xff0c;SSRF发生在应用程序允许攻击者诱使服务器向任意域或资源发送未经授权的请求时。服务器充当代理&#xff0c;执行攻击者构造…...