fedora 不在sudoers文件中_在Windows子系统(WSL)中配置开机自启动服务

在WSL中跑了一些测试服务 比如 mysql nginx等,但关机后每次都要手动开启甚是吃力,本想着用rc.local来编辑开机启动 ,无奈不支持啊!先看看非WSL环境中是怎么实现的。

在 Ubuntu 18一下,设置开机自动启动一般是编辑 /etc/rc.local

在 Ubuntu 18以上则需要链接 rc-local.service 文件 然后创建 rc.local 文件并修改权限,大概是这样的:

ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service  
touch /etc/rc.local  
chmod 755 /etc/rc.local  

然后编辑rc.local 大概格式是这样的:

#!/bin/bash
service start ....
exit 0   

然而,WSL中并不支持通过rc.local 来实现开机启动。但在这有个偏方,可以通过windows 的启动项来启动 rc.local中的脚本。

win+r shell:startup <- 进入启动目录

  • 创建一个VBScript脚本wls_rclocal.vbs
  • 写入内容 , 通过bash命令参数去执行rc.local
set ws=wscript.createobject("wscript.shell")
ws.run "C:WindowsSystem32bash.exe -c 'sudo /etc/rc.local'",0
  • 进入WSL终端 创建 sudoers 文件
vim /etc/sudoers.d/rc-local
  • 编辑配置如下内容,yourusername 为 linux账户名称 , 后面的路径则是需要启动的程序路径。这里的作用是无需输入用户名和密码即以sudo/超级账户执行配置的程序和脚本。
yourusername * = (root) NOPASSWD: /etc/rc.local
yourusername * = (root) NOPASSWD: /etc/init.d/mysql
yourusername * = (root) NOPASSWD: /etc/xxxxxx
  • 重启电脑,登录账户后就会执行wls_rclocal.vbs,通过VBS执行rc.local中的启动脚本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值