Tenho a seguinte configuração de serviço:
$ systemctl cat bluetooth
# /lib/systemd/system/bluetooth.service
[Unit]
Description=Bluetooth service
Documentation=man:bluetoothd(8)
ConditionPathIsDirectory=/sys/class/bluetooth
[Service]
Type=dbus
BusName=org.bluez
ExecStart=/usr/lib/bluetooth/bluetoothd
NotifyAccess=main
#WatchdogSec=10
#Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
LimitNPROC=1
#RestartSec=5
[Install]
WantedBy=bluetooth.target suspend.target
Alias=dbus-org.bluez.service
Adicionei o suspend.target
no WantedBy=
parâmetro da [Install]
seção ( man systemd.unit
) para o serviço ser reiniciado ao reiniciar mas isso não funciona.
EDIT0: O serviço não é interrompido na suspensão, mas precisa ser reiniciado após a retomada porque este serviço não oferece suporte à operação de suspensão/retomada em minha configuração.
EDIT1: O suspend.target
também deve funcionar porque de acordo com man systemd.special
:
suspend.target A special target unit for suspending the system. This pulls in sleep.target.
EDIT2: Parece que o comando sudo systemctl edit --full bluetooth
criou outra cópia do bluetooth.service
in /etc/systemd/system/bluetooth.service
que se tornou diferente (de /lib/systemd/system/bluetooth.service
) assim que o arquivo foi salvo.
Acabei de perceber que tinha duas versões diferentes, bluetooth.service
então fiquei um pouco confuso.
Como reiniciar um serviço systemd ao retomar?
Crie o novo serviço systemd:
Cole o próximo a ele:
Habilite e inicie o serviço recém-criado:
Tente usar
/usr/lib/pm-utils/sleep.d
a criação de seus scripts lá :não se esqueça
sudo chmod +x /usr/lib/pm-utils/sleep.d/70yourservice