如何在Windows上优雅地使用Linux子系统

  • wsl以及wsl2的安装配置
  • wsl2美化
  • ubuntu系统换源
  • python pip换源
  • windows Terminel美化
  • wsl及其wsl2在Windows下的docker配置以及换源

wsl以及wsl2的安装配置

安装配置

如果想要升级wsl2,首先还是得先配置wsl,但是wsl2必须先得将系统升级到2004,至少操作系统版本得在19000+

image-20200621222931816

如何先得启动一些Windows的虚拟机平台和 Linux 子系统功能,有两种方法:

  1. 以管理员权限启动 PowerShell,然后输入以下命令启用虚拟机平台:

    Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

以管理员权限启动 PowerShell,然后输入以下命令启用 Linux 子系统功能:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

在以上每一步命令执行完之后,PowerShell 中可能会提示你重新启动计算机。按“Y”可以重新启动。

  1. 打开Windows设置,如何打开程序与功能,在列表中开关

image-20200621223547018

image-20200621223531743

image-20200621223619683

image-20200621223655593

wsl下载

之后你就可以去微软官方商店去下载linux的发行版了,但是得先更改地区到美国。。。国内好像并不不能下载,更改地区就不详诉了

image-20200621225738032

随便选择一个喜欢的下载就行,然后点击运行

输入自己的用户名以及密码。

之后管理员打开powershell输入ubuntu2004.exe config --default-user root前面的exe为你自己下载的Linux发行版,即可更改默认登录用户。

wsl升级成wsl2(Windows版本为190X可跳过这步)

注意:升级前得先升级Linux内核等级,https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

然后在powershell中输入wsl -l可以查看当前的Linux虚拟机的名称

image-20200621230908494

然后wsl --set-version <Linux_Name> 2就可以将刚刚的子系统升级到wsl2版本,比如我的Ubuntu-20.04就是wsl --set-version Ubuntu-20.04 2

使用以下命令可以在以后安装 Linux 的时候默认启用 WSL2:wsl --set-default-version 2

wsl2(wsl)美化

这里的美化也是对于Linux的美化,主要基于oh-my-zshvimplus(其实也就是安装这两个包)

oh-my-zsh

apt-get install zsh
sh -c "$(curl -fsSL https://gitee.com/wuaiHE/oh-my-zsh/raw/master/tools/install.sh)"

下载完后打开~/.zshrc里面是对zsh的配置,可以设置主题等等

主题大全

插件

vimplus

git clone https://gitee.com/chxuan/vimplus.git ~/.vimplus
cd ~/.vimplus
./install.sh

等待安装后就可以拥有一个漂亮的vim编辑器了

如图:

image-20200621233042764

ubuntu系统换源

主要针对2004:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
vim /etc/apt/sources.list

阿里源:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

清华源:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security multiverse

之后更新源即可

apt-get update
apt-get upgrade

Python pip换源

直接修改 ~/.pip/pip.conf (没有就创建一个)

[global]
index-url = xxx

国内镜像源:

  阿里云 http://mirrors.aliyun.com/pypi/simple/
  中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  豆瓣(douban) http://pypi.douban.com/simple/
  清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
  中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

windows Terminel美化

我的配置文件(已经备注):

******
{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",//默认打开终端

    ******
    "profiles":
    {
        ******
            {
                "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",//终端ID
                "hidden": false,
                "useAcrylic":false,
                "acrylicOpacity" : 0.75,//透明度
                "backgroundImage" : "C:/Users/lijin/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/bake.jpg",//背景图片
                "backgroundImageOpacity" : 0.75,//背景透明度
                "startingDirectory" : "C:/Users/lijin/Desktop/ubt",//文件打开位置
                "name": "Ubuntu-20.04",//终端名称
                "source": "Windows.Terminal.Wsl"
            },
******
}

上面备注的是一些有用的,详情的可以看看https://www.jianshu.com/p/31bf9f9c0fb1

这是美化后的结果(德克萨斯世界に一つ!!!!)

image-20200622000148497

wsl及其wsl2在Windows下的docker配置以及换源

首先,在Windows上使用docker,必须先下载Docker Desktop(需要科 学 上 网,不然下载贼慢)

之后按他方式安装。注:需要打开hyper-V,方法和上面虚拟机平台打开方式一致,2004版本不存在hyper-VVM虚拟机的不兼容,可以两者共存

wsl的docker配置:

前面部分还是Linux子系统中安装docker,可以使用自动化脚本安装:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

之后会发现docker的服务器一直找不到,这时候就需要Docker Desktop来辅助了,打开Docker Desktop的setting

image-20200622001102663

将红框打开后重启Docker Desktop即可,这里是相当于将Docker Desktop的服务器映射到该端口

之后进入系统,连接docker前在终端输入

export DOCKER_HOST=tcp://0.0.0.0:2375

即可

wsl2 docker配置

wsl2的配置就简单多了,即setting中打开image-20200622001426435

即可,但是注意的是这个只适用于root用户,服务器只映射到root上。