win10 子系统(wsl) 开机启动以及启动脚本
最近电脑重装了系统, 所以 win10 子系统(wsl)也得重新安装, 配置环境. 这次重装后想结合 VSCode
的远程开发功能和 win10 的子系统, 实现一次配置环境, 不用每次重装系统后都要花很多时间配置系统环境.
因为子系统不支持 systemd
, 自然就无法通过 systemctl enable xxx
来实现服务或者程序的开机启动了. 网上搜了一圈, 基本上都是通过新建 vbs
脚本来实现开机启动, 我这里用的是系统的计划任务来实现.
设置步骤
1. Ubuntu
下新建开机脚本
1 |
|
1 |
|
2. 设置 sudo
免密执行开机脚本
1 |
|
在文件尾部输入以下内容
1 |
|
一定要在文件末尾, 否则会被前面组权限部分覆盖
完全退出子系统, 然后 sudo
执行脚本, 测试是否已经免密
1 |
|
此处一定要完全退出并打开子系统, 否则编辑
/etc/sudoers
时输入的密码会有缓存, 测试结果有误
3. 新建计划任务
回到 win10
WIN + S
打开搜索面板, 输入task
搜索并打开计划任务.创建任务
触发器选择启动时
操作选择启动程序
程序或脚本:
C:\Windows\System32\bash.exe
添加参数:-c 'sudo /home/your_user_name/.init.sh'
其他条件之类的, 根据你的情况设置
结语
重点在于计划任务的 触发条件 以及启动程序的 参数. 在子系统内的设置注意设置 免密执行脚本 即可.
自由转载-非商用-禁止演绎-保持署名 (CC BY-NC-ND 4.0)