1. 程式人生 > 其它 >WSL WSL2 服務自啟動 / WSL ssh 開機自啟動

WSL WSL2 服務自啟動 / WSL ssh 開機自啟動

網上有很多方法,要麼過於複雜,要麼已經過時,下面這個方法是最簡潔,最有效的方法

我的環境是windows10,Ubuntu 20.04.4 LTS,WSL發行版的名字是Ubuntu

 

進入任意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啟動我們的服務了,

而如果你不知道自己的 WSL 發行版叫做什麼名字,可以用 “wsl -l" 來檢視。不管你用最初的 bash (ubuntu 16.04) 還是商店裡下載的 debian/ubuntu1804 都能順利啟動服務了。

如果你用的是Ubuntu-18.04 LTS的發行版,那麼修改上面腳本里的debianUbuntu-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這些重度服務,可以需要的時候再啟動,用完就停了。

 

https://zhuanlan.zhihu.com/p/47733615

https://www.cnblogs.com/sinicheveen/p/13866881.html

https://blog.csdn.net/toopoo/article/details/85733566