Win11的Linux子系统WSL2安装Ubuntu的关键步骤

2023-11-18

安装Ubuntu

主要参考:官网教程

  • 注意WSL2的重启时机与WSL有所不同。
  • 在Ubuntu 22中,配置用户名和子系统分区的界面已经与官网教程有所不同,用户名不能有大写,分区可以采用默认设置。

若卡在Ubuntu安装页面:

  • 在Windows设置中卸载安装失败的Ubuntu和Linux子系统,重启。
  • 参考Windows教程重置Linux环境,具体讨论见WSL的issue6405

配置桌面环境:

按照Ubuntu官网教程配置时,最后一步打开出现报错:"can't open display XXX",这是因为Ubuntu还没有配置GUI界面。网上的配置方法主要有两种:

在Ubuntu终端输入密码不显示是bug(或者特性),只需照常输入即可。

  1. 备份默认网址源的配置文件
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. 打开配置文件
    sudo vi /etc/apt/sources.list
    
  3. 在vi编辑器下编辑sources.list的内容
    附:vi编辑器的使用
    在命令行模式下,按g跳转到最后一行,注意看终端右下角的总行数。方向键控制光标到第一行行首,按0跳转到文章首行,按Delet删除原始内容,也可以键入#dd来删除#行。
    i进入插入模式,然后右键粘贴(参考WSL(Ubuntu20.04)与其图形界面安装配置
    #网易源
    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
    # deb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
    # deb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
    # deb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
    # deb-src http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
    # 预发布软件源,不建议启用
    # deb http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
    # deb-src http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
    
    #阿里源
    deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    
    #清华源https
    
    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
    
    # 预发布软件源,不建议启用
    # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
    
    然后更新
    sudo apt update
    
    升级
    sudo apt upgrade
    
    删除多余的包
    sudo apt autoremove
    
  4. 其他配置参考WSL2 Ubuntu GUI 图形用户界面的配置。
  5. 注意,如果apt命令失败,可以换用aptitude代替(参考简书文章),这样aptitude会给出包错误的解决方法,注意看提示信息,如果是放弃安装的No
  6. 在5的基础上,运行sudo vi ~/.bashrc命令,在文件末尾添加
    export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
    export XDG_SESSION_TYPE=x11
    

其他参考文献

https://autoize.com/xfce4-desktop-environment-and-x-server-for-ubuntu-on-wsl-2/
https://blog.csdn.net/Ashken/article/details/108974058
https://blog.csdn.net/liyunxin_c_language/article/details/114107994

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Win11的Linux子系统WSL2安装Ubuntu的关键步骤 的相关文章

  • 有谁知道在哪里定义硬件、版本和序列号。 /proc/cpuinfo 的字段?

    我想确保我的 proc cpuinfo 是准确的 目前它输出 Hardware am335xevm Revision 0000 Serial 0000000000000000 我可以在代码中的哪里更改它以给出实际值 这取决于 Linux 的
  • 如何以管理员身份在 rake 任务中运行 shell 命令?

    我有一个简短的 cmd 文件 我想将其作为部署过程的一部分运行 不幸的是 cmd 文件需要管理员权限 是否可以从 rake 中获得管理员权限 或者我是否需要以管理员身份启动 shell 您可以尝试runas http ss64 com nt
  • 在 64 位 Windows 上运行 32 位可执行文件时出现问题

    如果允许的话 我会添加 500 个我自己的代表作为赏金 我在用着wkhtml转pdf http wkhtmltopdf org 将 HTML 网页转换为 PDF 这在我的 32 位开发服务器上完美运行 不幸的是 我无法运送我的机器 p 但是
  • 如何授予 apache 使用 NTFS 分区上的目录的权限?

    我在一台带有 20GB 硬盘的旧机器上运行 Linux Lubutu 12 10 我有一个 1 TB 外部硬盘 上面有一个 NTFS 分区 在该分区上 有一个 www 目录 用于保存我的网页内容 它在启动时自动安装为 media t515
  • 为什么我可以直接从 bash 执行 JAR?

    我是一个长期从事 Java 工作的人 并且知道运行带有主类的 JAR 的方法MANIFEST MFJar 中的文件很简单 java jar theJar jar 我用它来启动 Fabric3 服务器 包含在bin server jar在其标
  • 将 jar 作为 Linux 服务运行 - init.d 脚本在启动应用程序时卡住

    我目前正在致力于在 Linux VM 上实现一个可运行的 jar 作为后台服务 我已经使用了找到的例子here https gist github com shirish4you 5089019作为工作的基础 并将 start 方法修改为
  • 批处理脚本 - IF EXIST 复制到 %localappdata% 错误

    我似乎被批处理脚本困住了 需要一些帮助 基本上我需要检查文件是否存在于文件夹中 localappdata 如果确实如此 则覆盖该文件 如果没有放置在不同的位置 那么目前它的内容如下 IF EXIST localappdata foldern
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • Nexus 7 (2013) 和 Win 7 64 - 尽管检查了许多论坛和在线资源,仍无法安装 USB 驱动程序

    我正在尝试设置 Nexus 7 2013 进行调试 但我在安装 USB 驱动程序的步骤中陷入困境 到目前为止 这是我尝试过的 采取的步骤 在 Nexus 7 2013 上打开调试模式 连接设备至 PC 下载 Google USB 驱动程序于
  • Windows 等效的系统配置目录

    我正在 Ruby 中开发一个 CLI 应用程序 我希望允许通过标准配置文件级联在 Unix 中进行配置 etc appnamerc appnamerc 然而 该应用程序也应该在 Windows 环境中运行 我不确定将像这样的文件放在哪里 e
  • Notepad++ - 使函数“可点击”?

    我只是想这可能有用 但我找不到办法 在 Notepad 中 有没有一种方法可以使函数名称 可单击 即使它们成为链接 这样如果您单击它们 它会自动将您带到其定义 最好是跨整个代码库 目前还没有插件提供可直接单击的函数名称 但您可以尝试使用 S
  • 当用户尝试打开新实例时返回到已打开的应用程序

    这是我有一段时间想不通的问题 防止第二个实例很简单并且有很多方法 但是恢复已经运行的进程则不然 我想 最小化 撤消最小化并将正在运行的实例置于最前面 在其他窗口后面 将应用程序置于最前面 我使用的语言是 VB NET 和 C 我发现这段代码
  • 我不明白 execlp() 在 Linux 中如何工作

    过去两天我一直在试图理解execlp 系统调用 但我还在这里 让我直奔主题 The man pageexeclp 将系统调用声明为int execlp const char file const char arg 与描述 execl exe
  • “以管理员身份运行”时的 Windows 批处理文件起始目录

    我有一个位于目录中的批处理文件 也必须从那里运行 因为它会更新该目录中的文件 这工作得很好 除非用户以管理员身份运行批处理文件 Vista 上需要 那么起始目录是C Windows System32 有什么办法仍然能够知道批处理文件是从哪个
  • Linux - 从第二个选项卡获取文本

    假设我们有这样的文件 一些文本11 一些文本12 一些文本13 一些文本21 一些文本22 一些文本23 文本由制表符分隔 我们知道第 1 列中的一些文本 但希望从第 2 列中获取文本 我知道我可以通过以下方式获取线路 grep somet
  • waitpid() 的作用是什么?

    有什么用waitpid 它通常用于等待特定进程完成 或者如果您使用特殊标志则更改状态 基于其进程 ID 也称为pid 它还可用于等待一组子进程中的任何一个 无论是来自特定进程组的子进程还是当前进程的任何子进程 See here http l
  • 使用 Objective-C 进行 Windows 开发

    最近读了一篇关于 Objective C 的文章 我觉得它是一门相当简洁的语言 具有很多很酷的功能 我无意进行任何 iPhone 开发 但是我了解 GCC 能够编译 Objective C 代码 所以我想知道 Objective C 是 W
  • Docker 警告:无法从守护进程获取默认注册表端点

    在 Windows 10 上 当我调用 docker 命令时 docker pull mongo windowsservercore 我得到以下输出 Warning failed to get default registry endpoi
  • EnumDisplayDevices 与 WMI Win32_DesktopMonitor,如何检测活动监视器?

    对于我当前的 C 项目 我需要为在大量计算机上连接并处于活动状态的每个监视器检测一个唯一的字符串 研究指出了两种选择 使用 WMI 并查询 Win32 DesktopMonitor 以获取所有活动监视器 使用 PNPDeviceID 来唯一

随机推荐

  • iOS证书(.p12)和描述文件(.mobileprovision)申请

    我们在做uniapp开发的时候 打包ios应用需要自有证书 而自有证书包含 p12和 mobileprovision这两个跟证书有关的文件 但是uniapp官方的教程 却是需要使用苹果mac系统去申请 假如没有mac电脑 则它的教程就没有参
  • Python pass 语句

    Python pass 是空语句 是为了保持程序结构的完整性 pass 不做任何事情 一般用做占位语句 Python 语言 pass 语句语法格式如下 pass 测试实例 usr bin python coding UTF 8 输出 Pyt
  • Spring boot实现Rest风格请求及底层原理

    Rest风格的介绍 如今各大公司都是使用restful风格来定义接口 restful也是一套接口的规范 restful可以使我们的接口更加简洁 快捷高效 透明 常见的Rest风格 CRUD 请求方式 对应属性 使用方式 GET 查询 表单请
  • 使用markedjs预览md文件

  • 神经网络时间序列预测PyTorch-Forecastin!

    来源 数据STUDIO 深度学习初学者 本文约5200字 建议阅读8分钟 本文为你介绍了神经网络时间序列预测PyTorch Forecastin PyTorch Forecasting 1 使用神经网络的时间序列预测对数据科学工作者和研究人
  • 地推里的t1结算啥意思

    T1结算 通常是指在地推活动中 结算员工提成的时间点 在这种情况下 T1代表第一天或第一周期的结算时间 即在活动结束后的第一天或第一周进行结算 例如 如果地推活动是在一个星期内进行的 那么T1结算可能是指在活动结束后的第一周内结算员工提成
  • 二叉树的创建和遍历实现

    1 前言 提到 树 Tree 结构 很容易联想到 大树 想到这是 一对多关系 特性的数据结构 其相关的名词 概念很多 子树 SubTree 结点 Node 根结点 Root 叶子 Leaf 终端结点 分支结点 非终端结点 内部结点 孩子 C
  • 在Windows2012下配置Mercurial

    所需的安装文件 xampp win32 1 8 3 4 VC11 installer exe python 2 7 7 amd64 msi tortoisehg 3 0 1 x64 msi mercurial 3 0 1 win amd64
  • windows下使用FFmpeg生成PCM音频文件并播放(通过命令的方式)

    一 PCM文件的定义 PCM文件 模拟音频信号经模数转换 A D变换 直接形成的二进制序列 该文件没有附加的文件头和文件结束标志 Windows的Convert工具能够把PCM音频格式的文件转换成Microsoft的WAV格式的文件 将音频
  • python 历险记(五)— python 中的模块

    目录 前言 基础 模块化程序设计 模块化有哪些好处 什么是 python 中的模块 引入模块有几种方式 模块的查找顺序 模块中包含执行语句的情况 用 dir 函数来窥探模块 python 的内置模块有哪些 结语 参考文档 系列文章列表 前言
  • 大千世界无奇不有,设计师又遇一无赖暴击!

    黑客技术 点击右侧关注 了解黑客的世界 Java开发进阶 点击右侧关注 掌握进阶之路 Linux编程 点击右侧关注 免费入门到精通 有网友发文感叹道 大千世界无奇不有 设计师又遇一无赖暴击 你们的设计我很满意 但是我不会付款的 为什么 你们
  • kylin: build cube Hbase: Region Server 意外退出

    背景 跑kylin 的 build cube 任务 总是在跑任务 数据量200M 的时候挂掉 各种调节yarn的参数都不行 关键跑的时候还没涉及到hbase 因为我跑的是kylin on druid 但是总是跑着跑着 直接ERROR 查看h
  • C++顺序检索、二分检索,并统计比较次数,体现最好、最差、平均三种情况

    实验四 include
  • vscode自动化写代码插件 自动生成代码插件

    直接在vscode中搜索chatGPT中文版安装即可 在代码仓中右侧 就去搜索你想要的代码啦 比如想搜索一个深拷贝
  • COW奶牛!Copy On Write机制了解一下

    前言 只有光头才能变强 在读 Redis设计与实现 关于哈希表扩容的时候 发现这么一段话 执行BGSAVE命令或者BGREWRITEAOF命令的过程中 Redis需要创建当前服务器进程的子进程 而大多数操作系统都采用写时复制 copy on
  • 分布式记账的意义

    今天正式开始 区块链方法论 的第二部分 寻根溯源 的第一章节 说到区块链 大多数的人说的最多的就是分布式记账 没错 分布式记账是区块链技术中最广为人知的特征之一 但几乎没有多少人知道为什么要采用分布式记账 所以 今天我们就来说一说分布式记账
  • 记录一下Popmenu的使用以及一些坑:自定义Popupmenu、Menu、Popupmenu添加icon

    今天就记录一下昨天写bug的时候使用Popupmenu的时候遇到的一些问题吧 尝试使用Popupmenu 避免不必要的坑 我贴的代码都是我最后的代码 记录自己看一下 后来参考的人就看看步骤就行 先看看我最后的效果图 壹 Popupmenu的
  • nginx系统学习5--常用配置6--网络限速配置

    6 6 网络限速配置 6 6 1 操作 01 修改配置文件 worker processes 1 events worker connections 1024 http include mime types default type app
  • SpringBoot自动配置原理,一文搞懂

    阅读收获 1 type 1 2 理解SpringBoot自动配置原理 SpringBoot是什么 SpringBoot 的诞生就是为了简化 Spring 中繁琐的 XML 配置 其本质依然还是Spring框架 使用SpringBoot之后可
  • Win11的Linux子系统WSL2安装Ubuntu的关键步骤

    安装Ubuntu 主要参考 官网教程 注意WSL2的重启时机与WSL有所不同 在Ubuntu 22中 配置用户名和子系统分区的界面已经与官网教程有所不同 用户名不能有大写 分区可以采用默认设置 若卡在Ubuntu安装页面 在Windows设