WSL2的环境配置(安装+网络配置+基本美化)

0. 前言

之前用了很久的WSL2,重装了系统后发现想恢复以前的环境难上加难,各路教程相当繁杂,为了方便我以后使用,遂在此记录。

1. 安装

检查更新

打开终端(最好管理员),输入

wsl --update

在这里插入图片描述

设置默认版本

wsl --set-default-version 2

在这里插入图片描述

列出当前已安装的发行版

wsl -l -v

在这里插入图片描述
我这里由于已经安了个发行版,就会显示,如果没安会提示你没有安装

列出可安装版本

wsl --list --online

在这里插入图片描述

选择版本安装

这里面以Ubuntu为例,没有版本后缀的代表最新入口,其他的带版本的顾名思义,我这里选取Ubuntu玩玩:

wsl --install Ubuntu

在这里插入图片描述
然后自行配置账号和密码即可(注:密码看不见是正常现象),设置完成后,会自动给你进入Ubuntu:
在这里插入图片描述

这里我们重启terminal,不出意外的话在下拉菜单这里就多了一个Ubuntu的选项(根据你的实际安装版本而定):
在这里插入图片描述
再次执行

wsl -l -v

会成功输出你新增的发行版
在这里插入图片描述

2. 网络配置

前期检测

我们打开一个Ubuntu的标签,会发现他会提醒检测到配置了代理但是wsl没走
在这里插入图片描述
这里可以在WSL Setting里用mirror模式,不过那个有可能有点问题,我这里就用传统方法。

这里死活审核不通过,这一段转发知乎了:链接

4. 给APT换源

检测

然后执行

sudo apt update

更新一下,如果发现更新的速度卡卡的(几个M都跑半天),说明你需要给apt换源

替换清华源

执行:

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

将内容替换成清华源:

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

提示:nano中Ctrl+O后Enter保存、Ctrl+X退出

然后保存更新:

sudo apt update && sudo apt upgrade

会发现这次就很快了。

5. 换用oh-my-zsh+powerlevel10k

原版bash实在是既称不上好用、也称不上好看,这里换成oh-my-zsh。

安装zsh

sudo apt update && sudo apt upgrade -y
sudo apt install zsh -y

在这里插入图片描述

设置终端

chsh -s /bin/zsh

在这里插入图片描述
这个时候我们检查一下当前终端,发现依旧是bash,这是因为我们没有重启

echo $SHELL

在这里插入图片描述
我们重新打开系统,会发现弹了个这个:
在这里插入图片描述
我们可以先不管他,先按q,进来后发现现在是zsh了:
在这里插入图片描述

安装oh-my-zsh

使用官网命令安装:

sh -c "$(curl -fsSL https://install.ohmyz.sh/)"

在这里插入图片描述

加载以前的配置

这个时候我们curl一下Google,会发现超时:

curl -I https://www.google.com

在这里插入图片描述
这是因为我们刚刚的代理配置是写在bashrc里的,而现在默认改成了zsh,因此不会去加载那个配置文件,所以我们需要手动加载一下,不过直接加载整个bashrc的话不够优雅,也会报一些错误(zsh不认识bash的一些语法),因此我们可以单独把刚刚那段代理配置拿出来:

vi ~/.wsl-proxy

(内容见知乎
然后编辑zshrc

 vi ~/.zshrc

在最上方加入这一行:

[[ -f ~/.wsl-proxy ]] && source ~/.wsl-proxy

完成后使用:

source ~/.zshrc

在这里插入图片描述
这样就搞定了。

配置主题(powerlevel10k)

oh my zsh有很多主题,这里有一个主题的受欢迎排名,
在这里插入图片描述

我就选择了powerlevel10k(这个链接是官方安装教程),主要奔着显示指令cost时间去的。
在这里插入图片描述
首先我们要安装扩展字体,下载这四个字体,你也可以下载别的Nerd Font

由于我们这里是WSL,因此只需要在Windows下下载后点击安装即可:
在这里插入图片描述
然后在终端的设置>外观中选择终端字体为MesloLGS NF:
在这里插入图片描述

然后安装:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"

也可以用官方镜像源:

git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"

在这里插入图片描述
然后编辑

vi ~/.zshrc

设置主题为powerlevel10k/powerlevel10k
在这里插入图片描述
然后重启zsh

exec zsh

首次安装会弹出配置:
在这里插入图片描述
前面几个是字体校验,显示正常的话应该都是第一个,后面几个就根据自己的喜好自己配置了,我配好了是这样的:
在这里插入图片描述
后面也可以通过命令手动进入配置:

p10k configure

我们还可以进一步客制化p10k,编辑它的配置文件:

vi ~/.p10k.zsh

可以看到很多东西都是注释了的:
在这里插入图片描述
比如我们可以随便取消几个注释,然后source ~/.zshrc
在这里插入图片描述
顺带一提,在WSL中我们可以用code命令直接使用vscode查看编辑文件:

code ~/.p10k.zsh

在这里插入图片描述
在其中,你还可以简单地自定义一些显示内容,比如自带的内存显示与磁盘显示一个只显示用了的内存,一个只显示用了的磁盘百分比,我们可以写一个函数:

  # ===========================
  # Custom Disk Usage Segment
  # ===========================
  function prompt_my_disk_usage() {
    # 获取磁盘信息(/)
    local total used percent
    total=$(df -h / | awk 'NR==2{print $2}')
    used=$(df -h / | awk 'NR==2{print $3}')
    percent=$(df / | awk 'NR==2{print int($5)}')

    # 根据磁盘使用率选择配色(继承 p10k 内置 disk_usage)
    local fg bg
    if (( percent < 80 )); then
      fg=$POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND
      bg=$POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND
    elif (( percent < 90 )); then
      fg=$POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND
      bg=$POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND
    else
      fg=$POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND
      bg=$POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND
    fi

    # 拼接显示内容(使用  图标)
    local text="$used/$total | $percent%%"

    # 输出 segment
    p10k segment -i '' -t "$text" -f $fg -b $bg
  }

然后把这个prompt放在想要的位置:
在这里插入图片描述
在这里插入图片描述
类似的,写一个my_ram

  function prompt_my_ram() {
    # 获取内存信息:单位 MiB
    local total used percent
    total=$(free -m | awk '/Mem:/ {print $2}')
    used=$(free -m | awk '/Mem:/ {print $3}')
    percent=$(( used * 100 / total ))

    # 转换为 GB(保留 1 位小数)
    local human_total human_used

    if (( total > 1024 )); then
      human_total=$(printf "%.1fG" "$(echo "$total / 1024" | bc -l)")
      human_used=$(printf "%.1fG" "$(echo "$used / 1024" | bc -l)")
    else
      human_total="${total}M"
      human_used="${used}M"
    fi

    # 使用 p10k 内置 RAM 颜色
    local fg bg
    if (( percent < 80 )); then
      fg=$POWERLEVEL9K_RAM_FOREGROUND
      bg=$POWERLEVEL9K_RAM_BACKGROUND
    elif (( percent < 90 )); then
      fg=$POWERLEVEL9K_RAM_WARNING_FOREGROUND
      bg=$POWERLEVEL9K_RAM_WARNING_BACKGROUND
    else
      fg=$POWERLEVEL9K_RAM_CRITICAL_FOREGROUND
      bg=$POWERLEVEL9K_RAM_CRITICAL_BACKGROUND
    fi

    # 显示格式
    local text="${human_used}/${human_total} | ${percent}%%"

    # 输出 segment(去掉 -n)
    p10k segment -i '' -t "$text" -f $fg -b $bg
  }

在这里插入图片描述
在这里插入图片描述

注:WSL默认只分配一半大小的内存,这是正常的

oh-my-zsh插件

折腾完外观,现在来搞zsh的插件:

code ~/.zshrc

可以看到,默认是启用了一个git插件的:
在这里插入图片描述
官方有一些内置插件,我们可以从这个文件夹查看:

cd ${ZSH}/plugins && ls

在这里插入图片描述
选择想要的插件或者安装第三方插件,然后加plugins里就行
在这里插入图片描述

6. oh-my-zsh 插件推荐

我在用的插件:

z

内置的插件,缓存打开的文件夹,可以通过文件夹名快速打开文件夹
在这里插入图片描述

zsh-autosuggestions

缓存之前用过的命令,显示你可能希望输入的命令,按上下键可以切换
在这里插入图片描述
安装:

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

zsh-syntax-highlighting

为命令加上语法高亮
在这里插入图片描述
安装:

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

sudo

内置的插件,按两下ESC为命令加上sudo

colored-man-pages

内置的插件,为man手册加上高亮
在这里插入图片描述
在这里插入图片描述

hitokoto

内置插件,随机生成一句话,不过要先安装jq
在这里插入图片描述

7. 结语

暂时就这样吧,后面会更VS+wsl开发的环境搭建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值