0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Windows系统中安装WSL子系统

Linux阅码场 来源:IOT物联网小镇 作者:道哥 2021-09-09 11:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

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

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

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

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

安装 WSL2 的前提条件在开始之前,我们先来看一下目前电脑中的 WSL 的版本。

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

b9720264-10ba-11ec-8fb8-12bb97331649.png

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

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

b97ba59e-10ba-11ec-8fb8-12bb97331649.png

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

b98f28ee-10ba-11ec-8fb8-12bb97331649.png

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

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

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

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

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

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

输入的指令是:

wsl --set-version Ubuntu-18.04 2

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

b9a4fafc-10ba-11ec-8fb8-12bb97331649.png

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

WSL2 Linux 内核升级包

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

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

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

b9b944ee-10ba-11ec-8fb8-12bb97331649.png

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

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

b9c3f3c6-10ba-11ec-8fb8-12bb97331649.png

现在,重新启动一下 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:

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 文件中:

$ cd

$ vi .bashrc

在文件末尾添加:

export DISPLAY=192.168.192.1:0

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

安装服务端

图形界面有 VcXsrv 和 Xming 两款软件,我们选择前面的 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:

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

sudo vi /etc/locale.gen

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

baa098e4-10ba-11ec-8fb8-12bb97331649.png

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

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

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

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

sudo vi /etc/default/locale

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

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

sudo apt install language-pack-zh-hans

sudo apt install language-pack-gnome-zh-hans

sudo apt install language-pack-kde-zh-hans

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

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217980
  • WINDOWS
    +关注

    关注

    4

    文章

    3697

    浏览量

    93232
  • 操作系统
    +关注

    关注

    37

    文章

    7328

    浏览量

    128635

原文标题:WSL2:Windows 亲生的 Linux 子系统

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ubuntu系统安装之Vmware虚拟机安装

    Linux操作系统有很多版本,我们选择使用的是ubuntu18.04发行版。ubuntu是基于Debian派生的操作系统,兼容性极强,ubuntu的特点是界面友好,容易上手。本文中的介绍及开发均是
    发表于 09-22 16:27

    keil无法写入wsl文件怎么解决?

    使用rt-thread的容器开发,想要在windows上打开并编译保存在wsl2的项目,遇到如下错误 Could not create/access path '
    发表于 09-16 06:04

    爱普生SG2520CAA车规晶振汽车电子系统的应用

    汽车电子系统,稳定可靠的时钟信号是确保各个模块正常运行的关键。爱普生SG2520CAA车规晶振以其卓越的性能和可靠性,成为汽车电子系统应用的理想选择。 SG2520CAA拥有20种
    的头像 发表于 09-05 16:53 584次阅读

    yolov8怎么wsl搭建呢?

    纯小白,yolov8怎么wsl搭建呢?一直报错且无法安装pip包
    发表于 07-11 07:37

    WSL 1 和 WSL 2 的区别是什么

    PS C:\Users\Administrator> wsl --set-default-version 2 >> 有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2
    的头像 发表于 06-27 10:25 1618次阅读

    迅为RK3568开发板新增topeet子系统-在产品中新增子系统

    build/subsystem_config.json文件增加名为topeet的子系统3.4节已经新建了topeet 文件夹存放子系统代码。添加 topeet
    发表于 06-16 10:43

    RK3568驱动指南|第十二篇 GPIO子系统-第135章 GPIO子系统与pinctrl子系统相结合实验

    RK3568驱动指南|第十二篇 GPIO子系统-第135章 GPIO子系统与pinctrl子系统相结合实验
    的头像 发表于 05-23 13:47 748次阅读
    RK3568驱动指南|第十二篇 GPIO<b class='flag-5'>子系统</b>-第135章 GPIO<b class='flag-5'>子系统</b>与pinctrl<b class='flag-5'>子系统</b>相结合实验

    不借助Linux系统Windows下如何搭建ZMC900E交叉编译环境

    不需要依赖笨重的虚拟机,也不需要安装系统。抛开繁琐的环境准备,Windows上轻松搭建交叉编译环境。本文将介绍如何在Windows上搭建
    的头像 发表于 05-21 11:34 650次阅读
    不借助Linux<b class='flag-5'>系统</b>,<b class='flag-5'>在</b><b class='flag-5'>Windows</b>下如何搭建ZMC900E交叉编译环境

    如何将FX3与WSL(Linux 的 Windows 子系统)一起使用?

    如何将 FX3 与 WSL(Linux 的 Windows 子系统)一起使用? 我 /dev/ 找不到任何设备 我有许多项目
    发表于 05-06 07:11

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-input子系统之input子系统简介

    Linux系统,Input子系统是一个用于处理输入设备的软件框架。它提供了一种统一的接口和机制,使得各种输入设备(如键盘、鼠标、触摸屏、游戏手柄等)能够与Linux
    发表于 04-15 10:42

    飞凌嵌入式ElfBoard ELF 1板卡-input子系统之input子系统简介

    Linux系统,Input子系统是一个用于处理输入设备的软件框架。它提供了一种统一的接口和机制,使得各种输入设备(如键盘、鼠标、触摸屏、游戏手柄等)能够与Linux
    发表于 04-15 10:27

    飞凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系统之GPIO子系统

    软件控制设备上的GPIO信号。Linux的GPIO子系统,提供了一组API函数来管理和操作GPIO引脚。以下是一些常用的GPIO子系统API函数:gpio_request():请求
    发表于 03-24 15:41

    详解deepin 25 Preview的Distrobox子系统

    为解决根社区仓库部分软件包缺失,或版本不满足用户需求的问题,deepin 结合 Distrobox 方案,商店上架了 Debian、Ubuntu、Arch Linux、 Fedora 子系统镜像
    的头像 发表于 01-24 09:15 2025次阅读
    详解deepin 25 Preview的Distrobox<b class='flag-5'>子系统</b>

    Triton编译器安装步骤详解

    1. 系统要求 开始安装之前,请确保您的系统满足以下要求: 操作系统 :支持 Linux 或 Wind
    的头像 发表于 12-24 17:35 4630次阅读

    如何在Windows安装Ubuntu系统

    Windows安装Ubuntu系统通常有两种方法:使用虚拟机软件安装Ubuntu作为虚拟机,
    的头像 发表于 12-12 14:29 3168次阅读