首页 > 技术文章 > WSL服务自启动 / WSL ssh 开机自启

sinicheveen 2020-10-23 23:45 原文

教程参考来源: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

这个脚本就会在你登陆的时候自动在名字为debianwsl发行版中执行/etc/init.wsl启动我们的服务了,如果你用的是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这些重度服务,可以需要的时候再启动,用完就停了。

推荐阅读