微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐