我已使用“systemctl disable bluetooth.service”禁用蓝牙服务,并使用 systemd-manager,但它仍在启动时启动。我使用的是 Ubuntu 18.04 amd64。
我认为它正在被另一个服务激活,但我如何找到并停止它?
我希望首先阻止它加载,而不是事后再停止,例如在 /etc/rc.local 中添加一行。我还想在需要时激活它,这样就不会使 bluetooth.service 无法执行或使用类似的黑客手段。
非常感谢。
答案1
一般来说,即使它被禁用,另一个具有“Requires=yourservice”的服务也可能会导致它启动。
在以下生成的列表中查找您的服务:
systemctl 列表依赖项
如果您发现蓝牙已链接到另一项服务,则可以使用以下方式进行编辑:
systemctl edit --full evilbluetoothstarting.service
After=bluetooth.service
这应该会创建一个在升级后仍能保留的单独文件。
现在至于禁用蓝牙,您可能只需要在禁用服务后更改一个参数:
vim /etc/bluetooth/main.conf
AutoEnable=true
=>
AutoEnable=false
答案2
通过互联网研究我发现了以下信息:
https://geekflake.com/how-to-start-services-on-boot-in-linux/
这些信息说明,要选择在操作系统启动过程中启动哪些服务,必须在 /etc/init.d/ 上编辑系统上的此项,并且必须使用带有 --add 参数的命令 chkconfig 或使用 systemctl 启用、禁用,例如: