WSL&Zsh的安装与配置

WSL&Zsh的安装与配置

背景

一切的一切,起源于我的强迫症。

事情的起因是这样的:不久前我根据国光的教程入坑了Termux,从此走上在手机上码Python代码的不归路。直到有一天,我想起了我笔记本的高DPI屏幕,并且告诉自己要爱护眼睛。

然而当我重新打开Windows10,映入眼帘的git bash和Termux上Zsh的agnoster主题相比简直……

于是我想起Win10有了WSL - Windows Subsystem for Linux,据说可以在Windows上提供原生丝滑的Linux体验。

先上最后感受——嗯,真香。

安装WSL

方法一

  • 按下WIndows徽标键
  • 键入“Windows功能”,然后选择“启用或关闭Windows功能”项
  • 在列表中找到“适用于Linux的Windows子系统”,将其前面的的复选框选中(打勾)
  • 然后Windows会下载所需的文件并完成安装。

方法二

  • 按下WIndows徽标键

  • 键入“powershell”,选中项右键用管理员身份运行

  • 输入或者粘贴如下命令

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

    然后Windows会下载所需的文件并完成安装。

注意:安装完成后需要重启。我第一次安装完成后没有立即重启,而是等忙完了手头的事情后关机,但是这样再开机的时候WSL并没有完全安装完成,我输入powershell命令后直接提示重启。

可能的结论:安装完要点立即重启

安装Linux发行版

打开Microsoft Store,搜索Linux,然后选择喜欢的版本安装(我选了熟悉的ubuntu)。

这一步需要在上一步之后完成,我就是因为上一步没有立即重启,所以安装的时候提示Linux子系统功能没有开启。

安装完成后可以在开始菜单找到ubuntu,点击即可运行。

同时可以发现在资源管理器中按住shift右键会出现“在此处打开linux shell”的选项,打开的当然是WSL了。(完美替代git bash)

配置Linux

设置默认用户为root

该部分内容参考此处

第一次运行会创建一个用户,默认都是用这个用户登录,但是每次执行一些需要权限的命令都要加sudo。

所以我决定把默认用户改成root。

如下:(这是powershell命令)

1
ubuntu config --default-user root

注意

接下来所有的操作都默认用root进行,如果不是,请自行在需要权限的命令前加上sudo。

更换镜像源

该部分内容参考中科大镜像源使用说明

默认官方源在国外,换成国内下载快一点。

先备份:

1
cp /etc/apt/sources.list /etc/apt/sources.list.bac

替换源地址:

1
sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

这是将默认源换成中科大的源,当然你也可以选择其他源。

(当然你也可以直接用vim编辑sources.list)。

更新:

1
apt update && apt upgrade

然后等就是了。

Zsh&Oh-my-zsh

安装Zsh

1
apt install zsh

将zsh设为默认

1
chsh -s $(which zsh)

安装Oh-my-zsh

1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/agnoster/oh-my-zsh/master/tools/install.sh)"

如果想默认安装别的主题,可以把agnoster改成想要的主题。

更改主题

当然,如果安装之后想改变主题的话,可以编辑~/.zshrc文件,将ZSH_THEME的值改成想要的主题。

改变控制台默认字体

如果之前没有作任何改动的话,这个时候的样子并不好看,也没有想象中的尖角箭头而是丑丑的矩形,这是因为有许多的特殊字符没有在当前字体中所以显示不出来,需要安装支持powerline的字体。

这里推荐一个:更纱黑体

下载之后在WSL终端窗口标题栏右键默认值,选中形如”等距更纱黑体TSC“,的字体,关掉再打开即可。

去掉默认显示的用户名和主机名

该部分内容参考此处

默认显示的用户名和主机名会使得花里胡哨的这一串显得太长(有时命令一行敲不下会很烦—),而且大部分时候我们完全不关心这部分内容,那么可以这样去掉:

  • 在~/.zshrc的文件末尾添加以下内容:
1
DEFAULT_USER=$USER

这样就清爽多了。

解决ls目录名称背景问题

Windows下其他的文件在/mnt目录下。可以发现,在这些目录执行ls命令时,文件夹的名称会有一个绿色的背景。

解决方法请直接看此处

其他参考资料

最后

这篇笔记由多方资料整合而来,仅为了方便学习研究。如有侵权,立即删除。

0%