搭建 WSL + Ubuntu 开发环境

记录了一次安装与搭建 WSL Ubuntu 开发环境的过程,包括如何配合 VSCode 进行开发以及替换默认终端为 Zsh & oh-my-zsh

为什么是 WSL ?

WSL 全称是 Windows Subsystem for Linux,也就是运行在 Windows 上的 Linux 子系统,可以让我们在 Windows 上无缝地运行 GNU/Linux 环境。由于本人工作时使用的是 macOS 系统,虽然在家里的 PC 上配置了最新的 Powershell + oh-my-posh,但是和 macOS 上的体验相比还是差远了,正好在 B 站上也一直刷到安利 WSL 的视频,本人除了大学时期用虚拟机跑 Ubuntu 做过作业之外也没怎么接触过 Linux 了,闲着也是闲着,赶紧来试试吧。

安装 WSL

微软的 官方文档 上写得比较清楚,稍微总结一下吧:

  1. 启用「适用于 Linux 的 Windows 子系统」可选功能,使用管理员身份运行以下命令:

    1
    
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    
  2. 检查 Windows 版本,如要使用 WSL2,对于 x86_64 Windows 的版本要求是 1903 或更高版本。

  3. 启用「虚拟机平台」可选功能,使用管理员身份运行以下命令:

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

    执行完此命令后,重新启动 计算机。

  4. 下载 Linux 内核更新包,使用 官方文档 中提供的链接。

  5. 将 WSL 2 设置为默认版本,运行以下命令:

    1
    
    wsl --set-default-version 2
    
  6. 安装 Linux 子系统,在此本人选择的版本是 Ubuntu 22.04,在 Microsoft Store 中搜索下载即可。安装完成后首次启动需要输入用户名与密码,之后就可以快乐地玩耍了。

配合 VSCode

VSCode 是一个非常强大的文本编辑器,我们都知道在 Powershell 中使用命令 code 可以直接在我们指定的目录下打开 VSCode,非常方便;而在 WSL 中我们也可以通过一个插件实现此功能,这个插件就是 WSL,安装完毕后我们在 WSL 中也可以直接使用 code 命令启动 VSCode 来写代码了。

安装 Zsh + oh-my-zsh

最后要做的就是安装 Zsh + oh-my-zsh 来替换 Ubuntu 默认的终端了,至于为啥选择 Zsh,属于是「为了这点醋才包的这顿饺子」了,用习惯了而已。

  1. 在 Ubuntu 上安装 Zsh 非常简单,只要运行以下命令即可:

    1
    
    sudo apt install zsh
    
  2. 由于网络原因,在国内直接通过 官方 的方法安装 oh-my-zsh 可能会出现连接失败的情况,我们可以使用 Gitee 上国内镜像的脚本进行安装,运行以下命令:

    1
    
    sh -c "$(wget -O- https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
    
  3. 安装 zsh-autosuggestions & zsh-syntax-highlighting 插件,分别用于命令自动补全与语法高亮,运行以下命令:

    1
    2
    
    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
    

    此时两个插件就已经安装完成,只需要在 .zshrc 中添加相关配置即可启用:

    plugins=(
         git
         zsh-autosuggestions
         zsh-syntax-highlighting
    )
    

    重启终端 后即可生效

到这里,整个 WSL 的开发环境便已经搭建完毕了。

备份

WSL 并不像 VMware 一样有快照的功能,环境要是玩坏了就得重新搭建,比较麻烦。但是我们可以通过备份的方式将我们配置好的 WSL 导出,要是玩坏了就直接导入,勉强可以替代虚拟机软件的快照功能。

  1. 通过 wsl -l 查看已安装的 Linux 子系统,如:

    1
    2
    3
    
    @Henry  ~ wsl -l
    适用于 Linux  Windows 子系统分发版:
    Ubuntu-22.04 (默认)
    
  2. 运行 wsl -t Ubuntu-22.04 停止此 Linux 子系统。

  3. 运行 wsl --export Ubuntu-22.04 'E:\Virtual machine\Ubuntu-22.04.tar' 导出此 Linux 子系统到 E:\Virtual machine\Ubuntu-22.04.tar 目录下。

  4. 要是玩坏了,运行 wsl --unregister Ubuntu-22.04 删除被玩坏的 Linux 子系统后,通过 wsl --import Ubuntu-22.04 <InstallLocation> 'E:\Virtual machine\Ubuntu-22.04.tar' 导入 Linux 子系统,<InstallLocation> 为安装路径,可自定义。

个人体验

搭建完 WSL 后本人也是稍微玩了一下,感觉还是比较丝滑的,相比于通过类似 VMware 的虚拟机软件来运行 Linux,WSL 没有那么严重的割裂感,当然功能也是少了很多(笑),我们在文件资源管理器里面也可以看到被挂载的 Linux 子系统,可以直接访问它的文件系统,好了,就介绍到这儿吧。

updatedupdated2024-10-302024-10-30