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

相关文章

ubuntu退出redis的示例:指定配置文件方式启动源码redis:roo...
ubuntu中mysql改密码忘了的解决方法:1.在终端中切换到root权...
ubuntu安装mysql失败的解决方法原因:可能是原有的MySQL还有...
使用centos和ubuntu建站的区别有以下几点1.CentOS是Linux发行...
ubuntu图形界面和字符界面切换的方法:可以通过快捷键CTRL+A...
ubuntu中重启mysql失败的解决方法1.首先,在ubuntu命令行中,...