如何启用systemd
平时我们可能经常需要用systemctl去管理服务,然而WSL2默认是不启用systemd的,我们也就无法使用systemctl
启用方式是编辑/etc/wsl.conf
这个配置文件(如果没有该配置文件请手动创建),在里面添加
[boot]
systemd=true
快捷添加
echo "[boot]\nsystemd=true\n" >> /etc/wsl.conf
重启WSL2后即可使用systemctl
wsl --shutdown # 关闭wsl
wsl # 启动wsl
WSL2终端卡顿滞后的优化
WSL2内置终端卡顿的罪魁祸首就是WSL2默认将Windows的环境变量添加到了WSL里,在Linux终端遍历环境变量的时候会遍历到Windows的环境变量,问题就出在了这里,因为WSL2访问Windows I/O 的性能极低,就导致终端遍历的速度很慢,出现滞后(这种滞后一般出现在加装了高亮提示插件的ZSH上,因为高亮提示插件会不停的遍历环境变量)
要想解决这个问题,可以直接禁用WSL2访问Windows的环境变量即可
编辑/etc/wsl.conf
这个配置文件(如果没有该配置文件请手动创建),在里面添加
[interop]
appendWindowsPath=false
快捷添加
echo "[interop]\nappendWindowsPath=false\n" >> /etc/wsl.conf
不允许访问Windows的环境变量当然会对我们愉快的使用WSL2有影响,所以我们可以再选择性的添加一些环境变量就可以了
编辑/etc/profile
文件,在末尾添加上
export PATH="$PATH:/mnt/c/Users/26395/AppData/Local/Microsoft/WindowsApps"
export PATH="$PATH:/mnt/c/Program Files/Docker/Docker/resources/bin"
export PATH="$PATH:/mnt/c/Windows"
快捷添加
echo '### Windows ###
export PATH="$PATH:/mnt/c/Users/26395/AppData/Local/Microsoft/WindowsApps"
export PATH="$PATH:/mnt/c/Program Files/Docker/Docker/resources/bin"
export PATH="$PATH:/mnt/c/Windows"' >> /etc/profile
重启WSL2
wsl --shutdown # 关闭wsl
wsl # 启动wsl
这样就既可以流畅使用WSL2,又可以保留WSL2对Windows程序的调用,岂不美哉
多亏了你 ,我的wsl不卡了
感谢