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
    +关注

    关注

    87

    文章

    11219

    浏览量

    208872
  • WINDOWS
    +关注

    关注

    3

    文章

    3524

    浏览量

    88398
  • 操作系统
    +关注

    关注

    37

    文章

    6727

    浏览量

    123181

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

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

收藏 人收藏

    评论

    相关推荐

    Mobaxterm Windows 系统的应用

    MobaXterm 是一款功能强大的终端软件,它集成了 SSH、Telnet、RDP、VNC、FTP、SFTP、X11 转发等多种网络协议,使得用户可以 Windows 系统上方便地进行远程连接
    的头像 发表于 11-10 15:34 420次阅读

    Windows操作系统的常用命令

    这些命令不仅能提高工作效率,还能帮助用户解决许多复杂的问题。本系列文章将详细介绍Windows操作系统的常用命令,帮助你成为Windows极客!
    的头像 发表于 08-07 15:40 504次阅读
    <b class='flag-5'>Windows</b>操作<b class='flag-5'>系统</b><b class='flag-5'>中</b>的常用命令

    内网穿透——windows系统搭建私人影音平台

    Windows系统搭建私人影音平台并实现内网穿透,可以让用户随时随地远程访问自己的影音资源。以下是详细的步骤和说明: 一、选择影音服务器软件 首先,需要选择一款合适的影音服务器软件
    的头像 发表于 07-25 11:08 320次阅读
    内网穿透——<b class='flag-5'>windows</b><b class='flag-5'>系统</b><b class='flag-5'>中</b>搭建私人影音平台

    gprsdemowindows server系统上无法运行的解决办法

    gprsdemowindows server系统上无法运行,请按照如下步骤设置以解决该问题。1. 按下图进入依次下面界面 2. 点击“添加”后,会弹出文件浏览对话框,找到DTU配置工具的
    发表于 07-25 06:03

    求助,请问如何在Windows系统安装ESP-IDF⼯具链?

    求助,请问如何在Windows系统安装ESP-IDF⼯具链?
    发表于 07-09 06:28

    WSL的ubuntu里面的VSCode烧写不成功是怎么回事?

    系统Windows10,WSL版本2,ubuntu版本20.04 VScode里面安装IDF插件,编译成功 烧录时,点左下角插头图标能检测到ESP32核心板的串口COM6 烧写时提示
    发表于 06-21 08:14

    wsl2安装的idf,monitor时会报错的原因?

    wsl2安装的idf,使用vscode 扩展,功能一切正常,但是 monitor 时会报下列错误 xtensa-esp32-elf-a
    发表于 06-17 07:30

    24芯M16插座汽车电子系统的关键作用

      德索工程师说道24芯M16插座汽车电子系统的关键作用,可以从多个方面进行深入探讨。随着汽车电子技术的不断发展,车辆内部的电子系统变得越来越复杂,对于连接器的要求也日益提高。24
    的头像 发表于 05-22 18:03 275次阅读
    24芯M16插座<b class='flag-5'>在</b>汽车电<b class='flag-5'>子系统</b><b class='flag-5'>中</b>的关键作用

    在运行Windows11的系统安装KitProg编程器驱动程序时遇到的疑问求解

    我在运行 Windows 11 的系统安装 KitProg 编程器驱动程序时遇到困难。 每次尝试安装时,Windows 都无法为设备找到合
    发表于 05-21 06:35

    鸿蒙开发实战:【包管理子系统

    包管理子系统负责应用安装包的管理,提供安装包的信息查询、安装、更新、卸载和包信息存储等能力
    的头像 发表于 03-14 15:23 616次阅读
    鸿蒙开发实战:【包管理<b class='flag-5'>子系统</b>】

    WINDOWS系统有几个版本

    Windows系统自1985年发布以来,已经推出了多个版本。根据不同的分类方式,Windows系统的版本可以分为以下几类: 按照时间顺序。包括Win
    发表于 02-29 16:40

    简述智能制造系统的组成 智能制造系统子系统包括哪些

    。物理层是指制造过程涉及的物理设备和资源,信息层是指生产过程中产生的信息和数据,决策层是指基于收集到的信息进行决策的系统智能制造系统
    的头像 发表于 01-19 10:36 2555次阅读

    子系统里,低频、中频、高频信号的频率范围分别是多少?

    子系统里,低频、中频、高频信号的频率范围分别是多少?还是系统不一样,它们的频率范围会不同,比如运放系统或数据转换系统
    发表于 12-14 06:01

    LabVIEW不同操作系统上使VI、可执行文件或安装程序

    LabVIEW不同操作系统上使VI、可执行文件或安装程序 LabVIEW可以多个操作系统上运行,主要支持以下几种操作
    发表于 12-02 21:47

    安装Linux后windows在哪启动

    操作系统引导加载程序,可以管理多个操作系统的启动。它允许用户系统启动时选择要运行的操作系统。本文将详细介绍 Linux
    的头像 发表于 11-28 15:02 1120次阅读