Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WSL2:Windows 亲生的 Linux 子系统

WSL2:Windows 亲生的 Linux 子系统

作者头像
IOT物联网小镇
发布于 2021-08-13 07:12:13
发布于 2021-08-13 07:12:13
3.4K10
代码可运行
举报
文章被收录于专栏:IOT物联网小镇IOT物联网小镇
运行总次数:0
代码可运行

在上一篇文章中,我们主要聊了一下:在 Windows 系统中,安装 WSL 子系统。

文章在此:WSL:在 Windows 系统中开发 Linux 程序的又一神器

但是 WSL 只是长得像 Linux 而已,虽然在这个子系统中,我们可以执行 Linux 程序,但是到了底层,WSL 调用的还是 win32 API

也就是说:WSL 只是一个适配层。

后来,微软终于放出了 WSL2 这个真正的 Linux 子系统,这是一个真正的 Linux 完整内核,与传统的虚拟机 VitualBoxVMWare 一样,但是它与宿主机的互操作性更好。

为了完整性,我们就继续把这个流程给走完。

在这个过程中遇到的问题、需要的安装软件等资源,已经上传到网盘,在文末有下载地址。

安装 WSL2 的前提条件

在开始之前,我们先来看一下目前电脑中的 WSL 的版本。

Windows 命令行窗口,输入指令: wsl --list --verbose(或者输入简化版本: wsl -l -v),得到结果:

可以看到我们上一篇文章中安装的 Ubuntu-18.04,而且 WSL 的版本是 1

如果要升级到 WSL2Windows 操作系统的内核版本必须满足一定的要求,如下:

我们就按照官方的要求,检查一下自己的电脑是否满足需求:选择 Windows 徽标键 Win + R,然后键入 winver,选择 “确定”。

看来我的系统能满足要求,那就继续下一个步骤!

如果你的内核版本不满足这个需求,可以搜索关键字 “WIN10 获取内部预览版本”,就可以找到解决方案。

安装 WSL2

继续以管理员身份启动 PowerShell,然后执行指令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

此时,又到了重启电脑的时候!

重启之后,继续在 PowserShell 中,把 Ubuntu-18.04 设置为 WSL2 版本。

输入的指令是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wsl --set-version Ubuntu-18.04 2

这个步骤可能会遇到这样的问题:

解决方法:从微软的官网下载 WSL2 Linux 内核升级包,下载地址是:

WSL2 Linux 内核升级包

也可以从文末的网盘中下载

下载之后,一路 Next 安装即可。

此时,在 PowerShell 中重新执行 wsl --set-version Ubuntu-18.04 2 指令(需要等待一段时间,大概 1 分钟左右吧):

同时,把 WSL 的默认版本改为 2wsl --set-default version 2

此时,我们再执行指令 wsl -l -v 来查看一下,就变成 WSL2 版本了:

现在,重新启动一下 Ubuntu-18.04 系统,虽然还是黑乎乎的窗口,但是它可是一个完整、纯正的 Linux 操作系统!

安装桌面环境

这部分的操作,参考:https://autoize.com/xfce4-desktop-environment-and-x-server-for-ubuntu-on-wsl-2/。

关于 Linux 的桌面环境,它与 Windows 桌面环境的理念有一些不一样。

Linux 系统中,桌面环境是一个独立的应用程序,不属于操作系统的一部分。

换句换说,即使没有桌面环境,也可以很愉快的玩 Linux 系统,比如那些服务器之类的设备。

Linux 中的桌面由客户端和服务端组成,它们之间通过一个协议来通信,俗称:X11

服务端:负责图形的显示; 客户端:根据系统设置的 DISPLAY 环境变量,把显示图形的请求发送给服务端;

因此,为了让我们的 Ubuntu 显示图形界面,我们就需要安装一个服务端软件和客户端软件。

注意:这里的服务端软件是安装在 Windows 系统中的,客户端是安装在 Ubuntu-18.04 系统中的。

安装客户端

Ubuntu-18.04 的终端窗口中,执行如下指令安装客户端软件 xfce4

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install xfce4
配置 DISPLAY 环境变量

因为 Ubuntu 中的客户端 xfce4 需要把显示请求,通过网络发送给 Windows 上的服务端,因此需要知道 Windows 系统的 IP 地址,在 Windows 系统中的命令行窗口中查看:ipconfig

然后在 Ubuntu-18.04 中把这个 IP 地址,配置到家目录下的 .bashrc 文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cd
$ vi .bashrc

在文件末尾添加:

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

保存、关闭文件之后,执行:source ~/.bashrc 更新即可。

安装服务端

图形界面有 VcXsrvXming 两款软件,我们选择前面的 VcXsrv

同样的,我已经把 vcxsrv-64.1.20.9.0.installer.exe 放在网盘里,下载后一路 Next 安装。

安装之后,启动 Windows 桌面上的 XLaunch 程序:

然后,按照参考文档中的配置,如下:

在最后一个步骤,可以把配置信息保存在桌面上。

启动客户端

Ubuntu-18.04 系统中的命令行窗口,执行指令:startxfce4

此刻,神器的事情就发生了:你的 Windows 系统中是不是就跳出了下面这个窗口:

可以打开桌面上 File System,是不是看到了很多熟悉的身影?

在打开 mnt 目录,是不是看到了 Windows 系统中的盘符?

但是,中文信息显示的都是乱码!那我们就来安装中文语言支持包。

中文支持

Ubuntu-18.04 系统命令行窗口,设置 locale:

此时,我们可以使用桌面环境中的终端窗口,如下图所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo vi /etc/locale.gen

把下图中的蓝色这一行复制,然后去掉前面的 #空格,然后保存、退出。

然后在终端中执行指令:sudo locale-gen

单机右上角的用户名,选择 【Log Out..】

此时,Ubuntu 虚拟机的 WSL 窗口中的 xfce4 客户端会退出,再次执行 startxfce4 启动客户端:

再次,在桌面中的终端窗口中,把 locale 改为中文:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo vi /etc/default/locale

LANG=C.UTF-8 改为 LANG=zh_CN.UTF-8

然后,把下面这个几个中文语言包给它安装进去:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install language-pack-zh-hans
sudo apt install language-pack-gnome-zh-hans
sudo apt install language-pack-kde-zh-hans

此刻,你再看一下刚才的那些乱码,是不是已经正确显示中文了?

------ End ------

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IOT物联网小镇 微信公众号,前往查看

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

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

评论
登录后参与评论
1 条评论
热度
最新
关机还得重新配啊啊啊啊 win11好像还不太友好
关机还得重新配啊啊啊啊 win11好像还不太友好
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Win11安装基于WSL2的Ubuntu
趁着还没有完全忘记,详细记录一下在Win11下安装基于WSL2的Ubuntu的详细过程。不得不说WSL2现在被微软开发的比较强大了,还是很值得安装和使用的,笔者就通过WSL2安装的Ubuntu成功搭建了ROS环境。
charlee44
2024/12/14
6510
Win11安装基于WSL2的Ubuntu
Windows 系统中安装 WSL 子系统
在 Windows 命令行窗口,输入指令:wsl --list --verbose(或者输入简化版本:wsl -l -v),得到结果:
时代疯
2021/07/22
3.3K0
Windows10 WSL2 Ubuntu 图形界面环境搭建(Xfce4 、XServer)
在安装了wsl2后有时候需要传文件到ubuntu上面,比如传一个测试项目什么的。因为wsl里面挂载了本地的磁盘,所以准备安装个图形界面,操作下也挺简单的。
SpringSun
2021/04/30
28.4K0
Windows10  WSL2 Ubuntu 图形界面环境搭建(Xfce4 、XServer)
WSL2使用GUI APP
WSL2可以让我们在windows系统下方便的使用linux,但是有的linux程序是只能在GUI下才能使用,比如浏览器或者VPN软件等,这就需要我们使用WSL2的GUI界面,具体方法如下:
marsggbo
2022/06/14
1.2K0
WSL2使用GUI APP
【Linux运维】Windows上装Linux运行环境WSL2
WSL2是Windows Subsystem for Linux的第二个版本,它允许在Windows操作系统上运行本地Linux应用程序。相比于WSL1,WSL2采用了全新的虚拟化技术,使得Linux内核可以直接运行在一个轻量级的虚拟机中,从而提供更好的性能和更高的兼容性。
DevFrank
2024/07/24
8790
玩转 Windows 自带的 Linux 子系统 WSL(图文指南)
学计算机离不开 Linux 系统,当然,更离不开Windows。但是,二者从操作到核心的不同,貌似让鱼和熊掌不可兼得。
白墨石
2021/01/12
8.7K0
在windows系统通过RDP的方式进行远程链接Ubantu主机
在 Ubuntu 22.04 工作站上通过 RDP(远程桌面协议)进行连接的具体步骤如下:
zhangjiqun
2024/12/14
5820
在windows系统通过RDP的方式进行远程链接Ubantu主机
在Windows11上安装和使用WSL2
https://docs.microsoft.com/zh-cn/windows/wsl/
AiDBA宝典
2023/04/26
6.9K0
在Windows11上安装和使用WSL2
最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2
必须启用“适用于 Linux 的 Windows 子系统”可选功能并重启,然后才能在 Windows 上运行 Linux 发行版。
DevOps在路上
2023/05/16
7.6K0
最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2
如何在 Ubuntu 18.04 上安装 Xrdp 远程桌面服务
Xrdp 是 Microsoft 远程桌面协议 (RDP) 的开源实现,允许您以图形方式控制远程系统。使用 RDP ,您可以登录到远程计算机并创建一个真实的桌面会话,就像您已登录到本地计算机一样。
星哥玩云
2022/07/28
2.7K0
如何在 Ubuntu 18.04 上安装 Xrdp 远程桌面服务
如何在 Ubuntu 18.04 上安装 Xrdp 服务器(远程桌面)
Xrdp 是一个微软远程桌面协议(RDP)的开源实现,它允许你通过图形界面控制远程系统。通过 RDP,你可以登录远程机器,并且创建一个真实的桌面会话,就像你登录本地机器一样。
雪梦科技
2020/05/11
14.5K0
如何在 Ubuntu 18.04 上安装 Xrdp 服务器(远程桌面)
Windows下安装Ubuntu、图形界面、下载Android源码,看这一篇就够了
自己手里有一台Windows电脑,但是工作开发都是Linux系统下进行,想着给自己的Windows电脑安装Linux系统,说干就干。
八归少年
2022/10/08
2.2K0
Windows下安装Ubuntu、图形界面、下载Android源码,看这一篇就够了
VNC使用总结
这是一些使用VNC连接服务器的总结,这些操作都是在Ubuntu操作系统下进行的。
王云峰
2019/12/25
4.2K0
VNC使用总结
Xrdp服务安装配置实现Linux远程桌面访问
Tips: 安装完成后即可使用Windows远程桌面工具登录Ubuntu, 非常注意并不需要在家目录中创建.xsession的文件并输入xfce4-session等命令信息(坑);
全栈工程师修炼指南
2022/09/29
11K0
Xrdp服务安装配置实现Linux远程桌面访问
windows不安装虚拟机如何使用Linux系统作为开发工具?
Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。
嵌入式与Linux那些事
2022/04/08
2.7K0
windows不安装虚拟机如何使用Linux系统作为开发工具?
windows上使用WSL2安装docker
工作中通常既需要使用windows系统的常用工具,同时又想使用Linux的命令和算法库,特别是深度学习中一些库的编译和使用在Linux更为方便。这时候WSL就是很好的选择,我们可以直接在Windows系统上使用Linux。本文主要介绍如何启动WSL2安装Linux系统,在Linux系统中安装一个docker以及在安装过程中遇到的问题。
languageX
2021/10/03
6.9K0
基于WSL2 + VSCode + Clangd 打造最强C/C++编辑器
作者简介:张帅,WeChat:yorkszhang ,网站:www.flowlet.net
Flowlet
2022/08/18
8.6K0
基于WSL2 + VSCode + Clangd 打造最强C/C++编辑器
WSL:在 Windows 系统中开发 Linux 程序的又一神器
作为一名嵌入式软件开发工程师,在 Linux 系统下写代码、编译、调试是避免不了的事情。
IOT物联网小镇
2021/08/13
2K0
WSL:在 Windows 系统中开发 Linux 程序的又一神器
WSL1 升级为 WSL2
WSL2 使用了 hyper-v 虚拟化技术,它就是一个你感知不到的虚拟机(VM),比以前的版本性能更高。举个栗子,我在WSL里面安装 nodejs, 采用源码编译方式安装,在 WSL1 下整整编译了100分钟,实在是太慢了。
晓晨
2020/11/05
2K0
WSL1 升级为 WSL2
如何在Ubuntu 18.04上安装和配置VNC
虚拟网络计算(VNC)是一种连接系统,允许您使用键盘和鼠标与远程服务器上的图形桌面环境进行交互。它使得对于不熟悉命令行的用户更容易管理远程服务器上的文件,软件和设置。
独木桥先生
2018/09/29
45.4K1
相关推荐
Win11安装基于WSL2的Ubuntu
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验