我正在使用 Ubuntu 17.04(budgie 桌面),并且我禁用了蓝牙服务以防止蓝牙在计算机启动时启用。我使用此命令来禁用它:
sudo systemctl disable bluetooth.service
我使用此命令来确认它已被禁用:
systemctl is-enabled bluetooth.service
> disabled
但有时,即使蓝牙(和一些其他服务)被禁用,它们也会随计算机一起启动。这是错误吗?还是我遗漏了什么?
答案1
也许其他服务或套接字需要它们,因此在需要时启动它们。如果您不希望以任何方式(自动、手动或由任何其他服务)启动该服务,则应屏蔽该服务:
sudo systemctl mask name.service
sudo systemctl stop name.service
sudo systemctl disable name.service
屏蔽服务使其指向/dev/null
不再启用/启动该服务。
如果您想再次启用它,请使用:
sudo systemctl unmask name.service
sudo systemctl enable name.service
要找出哪些服务依赖于特定服务,您可以使用以下命令:
grep -Ri name.service /lib/systemd/system
例如:
$ grep -Ri bluetooth.service /lib/systemd/system
./tlp.service:Wants=bluetooth.service NetworkManager.service
我们可以看到我的 Ubuntutlp
服务需要蓝牙和 NetworkManager。
更好的选择是使用:
$ systemctl list-dependencies bluetooth.service --reverse
bluetooth.service
● └─tlp.service