教程参考来源:WSL服务自动启动的正确方法
进入任意WSL发行版中,创建并编辑文件:vim /etc/init.wsl
#!/bin/sh
/etc/init.d/cron $1
/etc/init.d/ssh $1
/etc/init.d/supervisor $1
里面调用了我们希望启动的三个服务的启动脚本,设置/etc/init.wsl权限777,这时候可以通过:
sudo /etc/init.wsl [start|stop|restart]
来启停我们需要的服务,在Windows中,开始 > 运行,输入:
shell:startup
在打开的文件夹中按照你WSL使用的Linux发行版创建启动脚本,比如创建的Debian.vbs文件:
Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d debian -u root /etc/init.wsl start", vbhide
这个脚本就会在你登陆的时候自动在名字为debian的wsl发行版中执行/etc/init.wsl启动我们的服务了,如果你用的是Ubuntu-18.04 LTS的发行版,那么修改上面脚本里的debian为Ubuntu-18.04,并创建ubuntu1804.vbs:
Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d Ubuntu-18.04 -u root /etc/init.wsl start", vbhide
而如果你不知道自己的WSL发行版叫做什么名字,可以用wsl -l来查看。
WSL中有很多有用的服务,你可以按需删改/etc/init.wsl,但没必要塞很多东西进去影响你的启动速度,比如mysql/mongodb这些重度服务,可以需要的时候再启动,用完就停了。