目前默认情况下,启动 WSL
后需要保持启动窗口(命令行)保持开启,如果关闭这个命令行,WSL
则会自动退出,作为将 WSL
作为开发环境或一些服务的 docker
运行环境来使用的话,这种需要前台守护运行显然是不合适的。
后台运行
在命令行下使用 wsl -l -v
得到想要启动的 WSL
版本,比如我的机器上是 Ubuntu-22.04
,以下命令中使用 Ubuntu-22.04
来代表 WSL
版本。
(base) PS C:\Users\kb> wsl -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 2
新建一个 wsl-d.vbs
文件(这个文件命名随意)作为启动脚本,里面内容如下:
set ws=wscript.CreateObject("wscript.shell")
ws.run "wsl -d Ubuntu-22.04", 0
后续启动 WSL
时直接运行这个启动脚本就会让 WSL
在后台运行了。
退出
退出还是正常的就可以了:
# 直接退出默认 wsl
wsl --shutdown
# 指定 wsl 退出
wsl -t Ubuntu-22.04
开机启动
如果想要在 windows
启动时就直接后台运行 WSL
。
WIN+R
运行 shell:startup
打开启动目录后,把上面哪个 wsl-d.vbs
脚本文件复制进去就就可以了。