某些 Ubuntu 服务即使被禁用也会启动

某些 Ubuntu 服务即使被禁用也会启动

我正在使用 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

相关内容