教程參考來源: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這些重度服務,可以需要的時候再啟動,用完就停了。