在Windows系统中安装WSL子系统

在上一篇文章中,我们主要聊了一下:在 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),得到结果:
可以看到我们上一篇文章中安装的 ubuntu-18.04,而且 wsl 的版本是 1。
如果要升级到 wsl2,windows 操作系统的内核版本必须满足一定的要求,如下:
我们就按照官方的要求,检查一下自己的电脑是否满足需求:选择 windows 徽标键 win + r,然后键入 winver,选择 “确定”。
看来我的系统能满足要求,那就继续下一个步骤!
如果你的内核版本不满足这个需求,可以搜索关键字 “win10 获取内部预览版本”,就可以找到解决方案。
安装 wsl2继续以管理员身份启动 powershell,然后执行指令:
dism.exe /online /enable-feature /featurename:virtualmachineplatform /all /norestart
此时,又到了重启电脑的时候!
重启之后,继续在 powsershell 中,把 ubuntu-18.04 设置为 wsl2 版本。
输入的指令是:
wsl --set-version ubuntu-18.04 2
这个步骤可能会遇到这样的问题:
解决方法:从微软的官网下载 wsl2 linux 内核升级包,下载地址是:
wsl2 linux 内核升级包
也可以从文末的网盘中下载
下载之后,一路 next 安装即可。
此时,在 powershell 中重新执行 wsl --set-version ubuntu-18.04 2 指令(需要等待一段时间,大概 1 分钟左右吧):
同时,把 wsl 的默认版本改为 2:wsl --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:
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
把下图中的蓝色这一行复制,然后去掉前面的 # 和 空格,然后保存、退出。
然后在终端中执行指令: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
此刻,你再看一下刚才的那些乱码,是不是已经正确显示中文了?


为什么单片机内部的RAM这么少?
基于51单片机的智能大棚水量温度控制系统设计
京东618阅读手机同比增长超550%,C2M模式为品牌找到发展新路径
LED连接排列方式直接影响背光源性能
智慧城市建设的基础是什么
在Windows系统中安装WSL子系统
详细分析螺牙的缺陷检测
ARM公版架构 真的是麒麟处理器的槽点吗?
对超声波流量计计量性能影响因素的控制措施
华为数字能源刘大伟:充电度电成本是引领高质量充电基础设施可持续发展的科学投资评估方法
感知应用技术将对未来智能化发展起到至关重要的作用
智慧路灯杆系统以及智慧路灯杆方案的介绍
Boogie Board发布新款电子手写板 半透明显示屏成亮点
美国联邦航空局表示多名美国联邦航空局的检查员缺乏资质
刚上新就降价,红色iPhone7/7Plus不受国人待见,造苹果最快降价史
罗姆赞助“2021年亚广联大学生机器人大赛”
苹果A12是苹果公司又一次跨越代际的飞跃
移动芯片领域硝烟滚滚 高通,英特尔角逐终端市场
台积电宣布与格芯撤销双方之间及与其客户相关的所有法律诉讼
为什么自愈式电力电容器更受人们喜爱