安装 ArchWSL 后需要做的事
最近把 windows 更新到了 2004,切换到了 WSL 2 上。
安装 WSL 2
启用 WSL 和虚拟机控制平台功能(要求管理员权限):
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
之后重启电脑。
升级 Linux 内核,然后安装 Arch,参见 ArchWSL。
20200922 更新:在新电脑上安装 WSL2 时发现,按照升级内核的提示,打开网页 https://aka.ms/wsl2kernel,但发现并没有对应的链接。原因是中文版的帮助不知道为什么删掉了这一关键的步骤,而英文版的帮助上是有的。这里记录一下 msi 文件的链接,以防丢失。
WSL 2 相对于 WSL 1 的优缺点
优点:
- 本地文件操作更快。之前编译一个 glibc,几个小时都没有编完
- 解决了 sleep 的问题
- 支持网络操作,例如 ping
- 可以使用 docker
缺点:
- 经常会爆内存,包括安装大软件、长时间运行等
- 访问 Windows 主机上文件的速度变慢
语言设置
1 | sed -i '/zh_CN.UTF-8/s/^#//' /etc/locale.gen |
一个非常奇怪的事情是,如果把 LANG
设为 zh_CN.UTF-8
,那么在 bash 下,windows 中的中文文件名显示为乱码,而 zsh 则显示正常。
但在默认的 LANG=en_US.UTF-8
下,bash 和 zsh 都能正常显示中文文件名。
20200922更新:上面出错的原因找到了,是没有修改 /etc/locale.gen
以及运行 locale-gen
。
安装软件包
导入密钥(非常重要!!!)
1 | # 初始化密钥环 && 验证主密钥 && 更新密钥 |
启用国内的镜像源
1 | echo "Server = https://mirrors.aliyun.com/archlinux/\$repo/os/\$arch |
添加 ArchlinuxCN 源
1 | echo " |
这里坚持用 yaourt 的原因有两个,一是在 root 环境下使用不报错(主要是需要彩色显示),二是可以显示版本更新还是编译更新。
安装常用软件
先搭建好常用环境
1 | pacman -Syu |
安装 zinit(原 zplugin)
1 | git clone https://github.com/zdharma/zinit.git ~/.zinit/bin |
不得不再次吐槽一下
git clone
的速度。。。
安装 powerlevel10k
1 | echo "zinit ice depth=1; zinit light romkatv/powerlevel10k" >> ~/.zshrc |
启用 zsh(终于有了一个好看的终端)
1 | zsh |
然后就可以导入之前的 .zshrc
了。
切换默认终端至 zsh
1 | chsh -s /bin/zsh |
安装 vim-plug
1 | curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ |
导入之前的 .vimrc
文件,并执行命令:
1 | vim +PlugInstall +qall |
安装常用软件
1 | pacman -S base-devel which diffutils man openssh tree p7zip bc wget \ |
安装花哨软件
1 | pacman -S fd exa bat ripgrep percol |
安装常用字体
1 | pacman -S adobe-source-code-pro-fonts adobe-source-sans-pro-fonts adobe-source-serif-pro-fonts adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts tex-gyre-fonts ttf-dejavu wqy-zenhei wqy-microhei ttf-sarasa-gothic |
安装专业软件
1 | pacman -S texlive-most |
注意:安装 texlive-fontextra
会爆内存!!!
反正我的8G内存被爆了,16G没有问题)
安装 X 软件
1 | pacman -S tk gvim |
向 ~/.zshrc
中添加:
1 | export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0.0 |
注意对于 WSL 2,VcXsrv 启动时需要选中 Disable access control
的选项,或者加上 -ac
的参数。
primrary
20200922更新:如果是普通用户而且防火墙开启的话,在打开 VcXsrc 之后会弹出防火墙设置的弹窗。注意这里一定要把【公用网络】勾选上,因为 WSL2 创建 vEthernet(WSL)
默认识别为公用网络。
添加新用户
1 | groupadd AAA |
其实我一直是使用 root 账户,只有在需要 makepkg 的时候才切换到普通用户。