【通过WSL2安装Ubuntu24.04系统及图形化界面】

news2024/12/25 9:06:53

WSL(Windows Subsystem for Linux)是一个为Windows用户设计的兼容层,它允许用户在Windows10和Windows11操作系统上直接运行GNU/Linux环境。WSL提供了一个微软开发的Linux兼容内核接口,使得用户可以在不启动虚拟机或使用双重启动设置的情况下,在Windows上运行大多数命令行工具、实用程序、应用程序以及服务。

尽管WSL2并不提供图形用户界面(GUI)支持‌,但可以通过一些方法间接实现图形界面的使用。例如,可以使用[远程桌面协议]RDP工具如[xrdp]在Windows上显示WSL的图形界面。用户可以在WSL中安装远程桌面服务器,然后在Windows上通过远程桌面客户端连接,从而在Windows桌面上显示WSL的图形界面‌

本文演示在Windows 11上使用WSL2安装Ubuntu 24.04并配置图形界面

1、前置条件

WSL2需要虚拟化支持,需要开启虚拟机平台。

前置条件: 1、确保windows机器是支持虚拟化并且在BIOS中开启虚拟化技术

​ 2、确保Windows版本支持WSL2,并已启用WSL功能。

在BIOS中开启虚拟化

如果您的机器支持虚拟化,但未在系统中启用,则需要在BIOS中开启。以下步骤可能因不同主板和制造商而异:

  1. 重启计算机:
    • 在计算机启动时,通常会显示一个提示,告诉你按哪个键进入BIOS或设置(常见的按键有 F2、F10、Del 或 Esc)。
  2. 进入BIOS/UEFI设置:
    • 使用上述提示中的按键进入BIOS或UEFI设置界面。
  3. 查找虚拟化设置:
    • 在BIOS/UEFI设置中,查找与虚拟化相关的设置。这通常位于“高级”、“处理器设置”或“芯片组”部分,并且可能被命名为“Intel Virtualization Technology”(Intel VT)、“AMD-V”或“Virtualization”。
  4. 启用虚拟化:
    • 确保虚拟化选项设置为“Enabled”或“On”。
  5. 保存并退出:
    • 保存更改并退出BIOS/UEFI设置。通常需要按 F10 并确认保存。
  6. 重启计算机:
    • 计算机将重启,以使更改生效。

请注意,BIOS/UEFI界面和选项可能会根据您的硬件和制造商而有所不同。如果在BIOS中找不到这些选项,可能是因为您的系统已经默认启用了虚拟化,或者您的系统不支持虚拟化。如果不确定如何操作,建议参考您主板或计算机的官方手册。

检查是否支持虚拟化

  1. 使用系统信息工具:

    • 按下 Windows 键,输入 msinfo32,然后按 Enter
    • 在“系统摘要”中,查找“处理器”部分,看是否有“虚拟化”这一项,并且其状态为“已启用”。
  2. 使用命令提示符:

    • 打开命令提示符(cmd)。

    • 输入以下命令 systeminfo 并按Enter

    • 查找“虚拟化”相关的信息。如果“虚拟化:已启用”表示您的CPU支持虚拟化。

2、开启windows虚拟化功能并启用WSL2

方法1:窗口操作

打开控制面板-程序-启用或关闭windows功能,勾选下面两项。

在这里插入图片描述

方法2:命令操作

以管理员身份打开 PowerShell 或 Windows 命令提示符(cmd)

  1. 在Windows上启用WSL功能,输入以下命令并按回车键:

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    
  2. 在Windows上启用虚拟化机平台功能,输入以下命令并按回车键:

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    

打开 CMD(管理员)并运行以下命令来启用WSL 功能:

#安装wsl,默认是安装好的
wsl --install

#查看支持内核版本 wsl版本是2.x
wsl -v
WSL 版本: 2.1.5.0
内核版本: 5.15.146.1-2
WSLg 版本: 1.0.60
MSRDC 版本: 1.2.5105
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 版本: 10.0.22631.3958

#升级下子系统
wsl --update
正在检查更新。
正在将适用于 Linux 的 Windows 子系统更新到版本: 2.2.4。

#查看支持内核版本 wsl版本是2.x
wsl -v
WSL 版本: 2.2.4.0
内核版本: 5.15.153.1-2
WSLg 版本: 1.0.61
MSRDC 版本: 1.2.5326
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26091.1-240325-1447.ge-release
Windows 版本: 10.0.22631.3958

#如果wsl不是2.x, 将WSL2设置为默认版本
wsl --set-default-version 2

3、安装Ubuntu24.04

如果你通过windows商店安装Ubuntu,那么安装的版本是22.04版本,下面我们通过命令行来安装。

#查看可安装的linux版本

wsl --list --online
以下是可安装的有效分发的列表。
使用 ‘wsl.exe --install ’ 安装。

NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
Ubuntu-24.04 Ubuntu 24.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.6 openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed openSUSE Tumbleweed

#安装Ubuntu-24.04 发行版本

wsl --install -d ubuntu-24.04

4、更换国内软件源

由于Ubuntu默认的软件源在国外有时候后可能会造成下载软件卡顿这里我们更换为国内的阿里云源其他国内源亦可。Ubuntu24.04源地址配置文件发生改变,同时格式改变,现在为DEB822格式,不再使用以前的sources.list,而是使用文件 /etc/apt/sources.list.d/ubuntu.sources

# 备份原来的软件源
sudo cp /etc/apt/sources.list.d/ubuntu.sources  /etc/apt/sources.list.d/ubuntu.sources.bak

# 编辑软件源
sudo nano /etc/apt/sources.list.d/ubuntu.sources
cat /etc/apt/sources.list.d/ubuntu.sources
#可以看到源配置文件内容如下:
## See the sources.list(5) manual page for further settings.
Types: deb
URIs: http://archive.ubuntu.com/ubuntu
Suites: noble noble-updates noble-backports
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

## Ubuntu security updates. Aside from URIs and Suites,
## this should mirror your choices in the previous section.
Types: deb
URIs: http://security.ubuntu.com/ubuntu
Suites: noble-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

更新源地址,可以用下面国内的源(tsinghua源或aliyun源等)

清华源 mirrors.tuna.tsinghua.edu.cn
阿里云 mirrors.aliyun.com
腾讯云 mirrors.cloud.tencent.com
华为云 mirrors.huaweicloud.com
中科大源 mirrors.ustc.edu.cn

sources.list.d文件夹中,所有.sources拓展名结尾的文件均会被作为一个可选的源
我们先将原始文件备份:

sudo mv /etc/apt/sources.list.d/ubuntu.sources  /etc/apt/backup-sources.list.d-ubuntu.sources

然后创建一个新的文件,以.sources结尾,例如

sudo nano /etc/apt/sources.list.d/tuna.sources

把下里的内容(Ctrl+V)粘贴进去

Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
#如果使用其他镜像站,上面这行可以改成其他镜像站的网址(如:https://mirrors.aliyun.com/ubuntu/)
Suites: noble noble-updates noble-backports
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
#如果安全更新需要使用镜像站,上面这行可以改成其他镜像站的网址
Suites: noble-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

然后按Ctrl + O保存,ENTER确认,并按Ctrl + X退出编辑模式。

之后运行

# 更新源列表
$ sudo apt update
# 更新系统软件包
$ sudo apt upgrade -y

5、图形化界面

1)安装Ubuntu桌面版

默认情况下,WSL2安装的是服务器版Ubuntu,没有图形界面。要安装桌面环境,可以根据自己的喜好安装 KDE、Gnome、xfce、lxde 等桌面环境。Gnome是 Ubuntu 的默认桌面上环境,也是多数发行版的默认桌面环境,这里以Gnome为例进行安装:
WSL Ubuntu命令行输入:

# 安装 Ubuntu 桌面版
sudo apt install ubuntu-desktop

安装其他桌面:

#KDE
sudo apt install kubuntu-desktop 

#Xfce 
sudo apt install xubuntu-desktop

2)安装XRDP

‌ 在使用xrdp进行远程桌面连接时,默认情况下,xrdp使用/etc/ssl/private/ssl-cert-snakeoil.key证书,该证书仅对ssl-cert用户组可读。因此,需要将xrdp用户添加到ssl-cert用户组,以确保xrdp服务能够正常访问和验证SSL证书‌。

具体操作步骤如下:

  1. 安装xrdp服务并启动:使用命令sudo apt-get install xrdp安装xrdp,并使用sudo systemctl start xrdp启动服务。
  2. 将xrdp用户添加到ssl-cert用户组:使用命令sudo adduser xrdp ssl-cert将xrdp用户添加到ssl-cert用户组。
  3. 重启xrdp服务:使用命令sudo systemctl restart xrdp重启xrdp服务,以确保更改生效‌。

通过这些步骤,可以确保xrdp服务能够正确访问和验证SSL证书,从而解决连接时的安全问题‌。

3)连接远程桌面

先在子系统上运行以下命令,查看下虚拟机的IP地址

ip addr | grep eth0

在这里插入图片描述

上面选中的部分就是子系统虚拟机的 IP 地址,复制下来。

win+R,运行mstsc:
在这里插入图片描述

输入刚刚复制的ip地址
在这里插入图片描述

点击连接后如果出现错误提示弹窗,参见文末的问题排查1进行解决。
输入登录的用户名密码:
在这里插入图片描述
在这里插入图片描述

注意:wsl2暂时还不支持硬件加速绘图,所以你是在用cpu跑gnome图形界面,可能会比较卡。cpu不太给力的机器,甚至有可能进去后一片漆黑。

在这里插入图片描述

问题排查

一些常见问题给出相关解决办法:

  1. 远程桌面点击连接后显示连接失败:
    如果弹窗说你正在运行一个控制台会话,说明xrdp默认的3389端口已经被其他(控制台)应用占用了,尝试修改xrdp监听的端口 sudo vim /etc/xrdp/xrdp.ini ,修改文件中的port。
    如果弹窗说无法连接到远程计算机,WSL命令窗口关闭,IP地址不对或者xrdp没有正常运行。使用 ip addr | grep eth0 命令重新看下IP地址。尝试 sudo systemctl restart xrdp 重启 xrdp 服务。

  2. 可以连接,但是进去后桌面一片漆黑:
    第一次进入桌面会比较卡,稍等一会看看
    尝试重启wsl(cmd管理员运行:net stop LxssManager 和 net start LxssManager)
    尝试sudo apt install ubuntu-desktop重新安装下桌面

  3. 闪退
    应该是权限的问题,不要用root登录。

关于xrdp
xrdp 配置文件在/etc/xrdp目录。一般不需要对配置文件进行修改。
使用sudo vim /etc/xrdp/xrdp.ini对配置文件进行修改。
默认的端口号是3389。
xrdp 使用startwm.sh文件启动 X 会话,可以通过编辑 /etc/xrdp/startwm.sh来使用其他X Window 桌面。

更多查看微软官方教程:适用于 Linux 的 Windows 子系统文档 | Microsoft Learn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2200620.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PostgreSQL的学习心得和知识总结(一百五十三)|[performance]将 OR 子句转换为 ANY 表达式

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

安装Unity3D并配置VisualStudio

安装Unity3D并配置VisualStudio 由于近期课程要求,需要在电脑上安装Unity3D并配置VisualStudio,所以顺便写了本篇博文 1.下载Unity Hub 首先我们找到Unity中文官网,下载Unity Hub,它可以帮助我们管理我们的Unity项目和版本&#…

vue3.x系列之封装响应式的hooks技巧

v3.x封装一个接口请求的hooks的&#xff0c;都应该很熟练了&#xff0c;那么要实现一个响应式的hooks该怎么做&#xff1f; 实现效果 代码实现 <template><div v-if"error">Oops! Error encountered: {{ error.message }}</div><div v-else-i…

【第2章 开始学习C++】C++语句

文章目录 导语声明语句和变量赋值语句cout的新花样使用cin类简介 导语 C 程序是一组函数&#xff0c; 而每个函数又是一组语句。 C 有好几种语句&#xff0c;例如&#xff1a;声明语句创建变量&#xff0c; 赋值语句给该变量提供一个值。 声明语句和变量 计算机是一种精确的…

selenium-Alert类用于操作提示框/确认弹框(4)

之前文章我们提到&#xff0c;在webdriver.WebDriver类有一个switch_to方法&#xff0c;通过switch_to.alert()可以返回Alert对象&#xff0c;而Alert对象主要用于网页中弹出的提示框/确认框/文本输入框的确认或者取消等动作。 Alert介绍 当在页面定位到提示框/确认框/文本录入…

集成学习和随机森林

集成学习 生活中的集成学习&#xff1a; 买东西找别推荐 import numpy as np import matplotlib.pyplot as pltfrom sklearn import datasetsX, y datasets.make_moons(n_samples500, noise0.3, random_state42)plt.scatter(X[y0,0], X[y0,1]) plt.scatter(X[y1,0], X[y1,1]…

OpenSource - License 开源项目 TrueLicense

文章目录 官网集成Demo 官网 https://truelicense.namespace.global/ https://github.com/christian-schlichtherle/truelicense 集成Demo https://github.com/christian-schlichtherle/truelicense-maven-archetype https://github.com/zifangsky/LicenseDemo https://git…

工厂车间|基于springBoot的工厂车间系统设计与实现(附项目源码+论文+数据库)

私信或留言即免费送开题报告和任务书&#xff08;可指定任意题目&#xff09; 目录 一、摘要 二、相关技术 三、系统设计 四、数据库设计 五、核心代码 六、论文参考 七、源码获取 一、摘要 社会发展日新月异&#xff0c;用计算机应用实现数据管理功能已经算是很完…

《Java基础》常用类

综述 深入理解包装类 和 String类 一、包装类 针对八种基本数据类型都有一个引用类型的包装类&#xff0c;这个类可以自动包装和解包 基本数据类型包装类booleanBooleancharCharacterbyteByteshortShortintIntegerlongLongfloatFloatdoubleDouble 这几个类的继承关系&…

零工市场转型数字化的挑战和机遇

我们的生活因为科技而变的更加方便、便利&#xff0c;例如手机支付、网上购物&#xff0c;那么就目前的就业市场来说&#xff0c;零工市场也面临着数字化转型的挑战和机遇。 零工市场数字化的机遇&#xff1a; 1.通过大数据的计算&#xff0c;极大的提高了零工市场中的匹配效率…

跨平台应用程序本地化过程的特点

跨平台应用程序本地化不仅仅是将单词从一种语言翻译成另一种语言。这是关于调整应用程序&#xff0c;使其无缝融入全球用户的不同文化和语言环境&#xff0c;无论他们使用的是哪种设备或平台。这个过程对于跨平台应用程序来说尤其复杂&#xff0c;它们需要在多个操作系统和设备…

汽车车轮平衡块行业前景:预计2030年全球市场规模将达到10亿美元

汽车车轮平衡块&#xff0c;也称为轮胎平衡块&#xff0c;是一种安装在车轮上的配重部件。它的主要作用是帮助车轮在高速旋转状态下保持动平衡。当车轮高速旋转时&#xff0c;由于车轮的动态不平衡状态&#xff0c;会导致车辆在行驶中出现车轮抖动和方向盘震动的现象。汽车车轮…

[Python] 文件操作详解

文章目录 文件是什么&#xff1f;常用的文件操作函数1. 打开文件2. 关闭文件3. 读取文件(1) read() 方法(2) readline() 方法(3) readlines() 方法 4. 写入文件(1) write() 方法(2) 追加写入 5. 文件读写模式总结 中文文件的处理指定文件编码 上下文管理器示例&#xff1a;使用…

posix接口与system V接口及其异同

POSIX接口和System V接口是用于多线程和进程间通信的两种主要编程接口。它们各自有不同的特点、功能和适用场景。以下是对这两种接口的详细介绍及其异同点。 POSIX接口 特点 标准化: POSIX&#xff08;可移植操作系统接口&#xff09;是由IEEE制定的标准&#xff0c;旨在提供统…

win10+vs2017+opencv4.5.3+yolov5-5.0

win10vs2017opencv4.5.3yolov5-5.0 1&#xff0c;安装OpenCV4.5.3配置环境2&#xff0c;进行模型加载3&#xff0c;如何导出自己的onnx模型&#xff08;1&#xff09;下载YOLOv5的5.0版本的代码&#xff08;2&#xff09;在谷歌实验室更改两部分代码&#xff08;1-1&#xff09…

1个maven命令快速查看jar包依赖路径

本文目标&#xff1a;开发人员&#xff0c;在了解maven工具的dependency命令的条件下&#xff0c;进行查看jar包依赖关系&#xff0c;达到确认jar包引入来源的程度。 文章目录 1 痛点2 解决方案3 总结/练习 1 痛点 maven项目依赖包多时&#xff0c;项目某个包有问题时&#xff…

小赢卡贷公益行:乡村振兴与多元公益并进

在金融科技的浪潮中&#xff0c;小赢卡贷不仅以其创新的金融产品和服务赢得了市场的广泛认可&#xff0c;更以其背后的公益之心&#xff0c;积极履行社会责任&#xff0c;传递着温暖与希望。小赢公益基金会&#xff0c;作为小赢卡贷社会责任的延伸&#xff0c;主要聚焦于乡村振…

IEEE754浮点数的表示

在学习浮点数的表示之前&#xff0c;先看一下二进制和十进制之间的转换。再来学习IEEE754标准的浮点数。 十进制转二进制 对于十进制整数转换位2进制小数。 例如125转换为二进制小数方法为除二取余。 125/262 余数1 62/231 余数0 31/215 余数1 15…

USB转多路RS485应用-组态软件调试

前言 在工业领域&#xff0c;经常使用组态软件来监控和控制生产设备。组态是指不需要编写计算机程序、通过类似“配置”的方式完成工业应用开发的系统。终端设备包括仪表&#xff0c;PLC&#xff0c;传感器等&#xff0c;大部分支持RS485接口和Modbus协议。 运维或部署人员在实…

并发事务演示及隔离级别

引言 在MySQL数据库中&#xff0c;事务是一组不可分割的操作单元&#xff0c;这些操作要么全部成功&#xff0c;要么全部失败。事务的四大特性&#xff0c;通常被称为ACID特性&#xff0c;包括原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#x…