WSL 配置
Windows Linux兼容层简史
2016年12月,微软发布了Windows Subsystem for Linux(WSL),通过子系统的方式运行一个Linux系统,使得在Windows中使用Linux中的工具成为可能。
Windows 果然是最好的Linux发行版
微软尝试在Windows上实现类似的Unix兼容性,是早在Windows NT 3.5的时代的微软POSIX子系统,但是这时的尝试有一种说法是为了满足1980年代美国联邦数据处理标准(FIPS)中列出的要求而做的尝试。
POSIX子系统在Windows XP和Windows Server 2003发布时就被移除了,被1999年微软收购SoftWay Systems时获得的OpenNT(被微软收购后更名为Interix)子系统所替代。
P.S. 为了截图,特意开了个Win7的虚拟机,进去装了一下,系统默认指向的下载连接都已经404了。还好微软官方还提供下载,只是地址变了。
2011年,微软宣布在Windows 8之后Interix将不再包含在Windows版本中。
当时间来到2014年,Windows 10正式发布,没过多久,当时被称作Bash on Ubuntu的子系统逐渐浮出水面,后来,Bash on Ubuntu被改名为WSL,并支持了除了Ubuntu之外的其他Linux发行版。
正文开始
自从WSL宣布伊始,大D就十分关注其动向,发布后立即开始使用,然而从来没有写过一篇配置好环境的博文,正好近日得闲,搞一下。
安装
在 控制面板 -> 程序和功能 -> 启用或关闭Windows功能 -> 勾选适合于Linux的Windows子系统
。
重启电脑之后在应用商店里搜索WSL
,来进行下载。
下载完成之后在开始菜单中启动,第一次启动时时间会比较长,进行进一步的安装。
安装结束后,会提示你输入用户名和密码。
然后就可以开心的使用了。
换源
Ubuntu的源国内还是比较慢,换掉。
先备份一下。
1 |
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak |
换成清华大学开源软件镜像站的源。
1 |
sudo vim /etc/apt/sources.list |
换成如下内容:
1 2 3 4 5 6 7 8 |
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse |
以上内容是将软件包源码镜像注释掉的,用以加速update,如有需要,自行打开。
之后更新一下软件包列表以及软件包。
1 2 |
sudo apt update sudo apt upgrade |
安装pip并更换pip源
大D选择使用WSL的一个最主要原因就是能够愉快的用Python,所以pip一定是要装的。
安装
默认装好时只有Python3,并没有Py2和pip,按需安装即可。
1 2 3 4 5 6 7 |
# 安装 pip2 sudo apt install python-pip # 安装 Python2 sudo apt install python-minimal # 安装 pip3 sudo apt install python3-pip |
更换pip源
可以先将pip更新到最新版,然后使用清华大学开源软件镜像站提供的方法直接更换。
1 2 |
pip install pip -U pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple |
网络比较卡的话,可以直接使用清华源临时升级。
1 |
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U |
如果只安装了Python3和pip3,请自行替换成pip3
安装Zsh
虽然目前大多数Linux发行版都使用Bash Shell
作为默认的Shell,但是鉴于zsh的强大,换了~
1 |
sudo apt install zsh |
安装Antigen
Antigen是Zsh的包管理器,方便配置Zsh。
1 |
sudo apt install zsh-antigen |
使用命令zsh
来启动安装。
如果遇到如下问题:
1 |
/usr/share/zsh-antigen/antigen.zsh:748: command not found: -antigen-env-setup |
可以参考相关项目的Github issue,换用Antigen官方提供的安装方式进行安装。
1 2 3 4 5 |
curl -L git.io/antigen > antigen.zsh # or sudo wget -q -O /usr/share/zsh-antigen/antigen.zsh git.io/antigen # or wget -q -O ~/.antigen.zsh git.io/antigen |
文件下载之后,新建一个Zsh的配置文件。
1 |
sudo vim ~/.zshrc |
内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
source /install-path/antigen.zsh # 加载oh-my-zsh库 antigen use oh-my-zsh # 加载原版oh-my-zsh中的功能(robbyrussell's oh-my-zsh). antigen bundle git antigen bundle heroku antigen bundle pip antigen bundle lein antigen bundle command-not-found # 语法高亮功能 antigen bundle zsh-users/zsh-syntax-highlighting # 代码提示功能 antigen bundle zsh-users/zsh-autosuggestions # 自动补全功能 antigen bundle zsh-users/zsh-completions # 快速跳转 antigen bundle rupa/z z.sh # 为man命令增加结果高亮显示 export LESS_TERMCAP_mb=$'\E[01;31m' export LESS_TERMCAP_md=$'\E[01;38;5;74m' export LESS_TERMCAP_me=$'\E[0m' export LESS_TERMCAP_se=$'\E[0m' export LESS_TERMCAP_so=$'\E[38;5;246m' export LESS_TERMCAP_ue=$'\E[0m' export LESS_TERMCAP_us=$'\E[04;38;5;146m' # 加载主题 antigen theme blinks # 保存更改 antigen apply |
正常安装时如下图:
如果安装完毕之后没有自动切换,重启终端或者使用source ~/.zshrc
立即体验。
设置为默认shell
1 |
chsh -s `which zsh` |
可能会遇到的错误
目录安全问题
1 2 |
zsh compinit: insecure directories, run compaudit for list. Ignore insecure directories and continue [y] or abort compinit [n]? |
运行compaudit
得到安装目录,然后设定权限。
1 |
sudo chmod -R 755 安装目录 |
主题
可以参考以下两个页面:
https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
后记
经过几年的使用,WSL 2 已经越来越顺手越来越成熟了。
在即将推出的Windows 10 2020年重大更新时,WSL也将迎来再一次更新,可以期待一下。