常规做法
通常在Linux中开机启动可以通过
1.编辑/etc/rc.loacl
2.在/etc/init.d/ 下添加启动脚本
3.配置systemd
但这几种方式在子系统中无法使用,我们可以通过Windows 间接的启动子系统中的服务。
在子系统中创建脚本
sudo vim /etc/init.wsl
脚本内容如下
#! /bin/sh
/etc/init.d/ssh start
/etc/init.d/mysql start
/etc/init.d/php-fpm start
/etc/init.d/nginx start
sudo chmod +x /etc/init.wsl
在Windows中创建脚本
在Windows下 输入快捷键 WIN+R 打开运行窗口
输入 shell:startup
打开Windows 启动脚本目录
在该目录下新建 linux-start.vbs
内容如下
Set ws = WScript.CreateObject("WScript.Shell")
ws.run "wsl -d Ubuntu-18.04 -u root /etc/init.wsl"
上面脚本中的 wsl -d 后面的参数是你所安装的子系统的版本 可以通过wsl -l查看
现在可以重启Windows验证下