在微软开源WSL2之前我就已经对WSL2产生了十足的好感,没想到微软直接开源了WSL2,现在WSL2社区也是好起来了,只看 wsl --list online 上的发行版就达到了20种

正话:什么是WSL?

wsl全称是 Windows Subsystem for Linux,即适用于 Linux 的 Windows 子系统,可以让你在 Windows 上近乎无损的使用 Linux 命令行

下面我提供一种配置方式,采用发行版是 manjaro for wsl2

配置

先看效果:

第一步,你需要先去 github 下载 manjaro for wsl2的发行版 release

下载后解压文件并双击 manjaro.exe 会在目录下建立虚拟硬盘,你的wsl文件都存在这个虚拟硬盘中

然后会开始创建wsl系统,接着根据提示输入用户名,root密码

设置完成后开始配置linux与wsl使其利于工作流

配置wslconf

在 Windows 目录 C:\Users\[用户名] 下创建名为 .wslconfig文件,将下述内容写入文件

[wsl2]
 
networkingMode=mirrored
 
firewall=true                     # 开启 Windows 防火墙
 
kernelCommandLine=cgroup_no_v2=all
 
[experimental]
 
hostAddressLoopback=true
 
autoMemoryReclaim=gradual         # 开启自动回收内存,可在 gradual, dropcache, disabled 之间选择
 
dnsTunneling=true                 # 开启 DNS Tunneling
 
sparseVhd=true                    # 开启自动释放 WSL2 虚拟硬盘空间

打开 PowerShell 输入 wsl --shutdown 让wsl关机使配置生效

配置pacman镜像源

sudo pacman-mirrors --country China # 由于网络因素可能部分镜像网站显示 error, 但运行结束后会自动更新可用的镜像列表
sudo pacman -Syu # 选择2 dbus-daemon-units
sudo pacman -S yay # 安装 AUR Helper, 它可以执行pacman的几乎所有操作,并在此基础上添加了很多额外用法。

配置终端

sudo pacman -S zsh

安装zsh

下载 oh-my-zsh 框架

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

配置插件环境

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

安装 auto jump

cd autojump
./install.py
# 如果遇到权限问题输入 sudo chomd +x ./install.py

安装fzf

sudo pacman -S fzf

更新 ~/.zshrc

plugins=(
    git
    sudo
    copypath
    copyfile
    autojump
    zsh-syntax-highlighting
    zsh-autosuggestions
)
 
# 确保 Oh My Zsh 在设置了 plugins 变量之后加载
source $ZSH/oh-my-zsh.sh
 
# 修正 autojump 路径
[[ -s $HOME/.autojump/etc/profile.d/autojump.sh ]] && source $HOME/.autojump/etc/profile.d/autojump.sh
autoload -U compinit && compinit -u
 
SPACESHIP_TIME_SHOW="true"
SPACESHIP_USER_SHOW="always"
SPACESHIP_USER_COLOR="212" #粉色
SPACESHIP_RUST_VERBOSE_VERSION=true
 
alias cls="clear"
alias vi="nvim"
alias vim="nvim"
 
source <(fzf --zsh)