Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。相比在Windows下用虚拟机来运行Linux,WSL要方便得多,但是每次退出wsl后,所开启的服务,如:ssh, mysql, supervisor等服务就是用不了,每次得手动的重启开启,非常的不方便,本文就以我工作和实战中遇到的问题来记录。
网上也很多文章写到怎么在window启动的时候就自动的开启服务,而不用手动的进入到wsl开启,但是还是不能解决开机自启的问题,经过一番探索和折腾后,终于解决问题,在此分享给大家我遇到的问题,废话不多说。
1. 首先新建一个shell脚本来保存你要开启服务的命令:
#!/bin/sh
service ssh $1
service mysql $1
redis-server /etc/redis/redis.conf
service supervisor $1
然后保存到/etc/init.wsl中, 其中每一行都是你要开启对应服务的命令,$1代表执行该文件接收的第一个参数,$0代表所执行的文件名,如:
sudo /etc/init.wsl start ,其中$0接收为/etc/init.wsl,$1接收为start,相关介绍:https://blog.csdn.net/qq_30137611/article/details/77092524
2. 添加执行权限
sudo chmod +x /etc/init.wsl,这样该文件就可以被执行了,可以调用此文件来开启里面的服务,sudo /etc/init.wsl start
3. 编辑sudoers,避免输入密码
sudo vim /etc/sudoers,在最后一行添加
%sudo ALL=