Não use Type=idle
- ele foi adicionado especificamente para o prompt de login e é tão confiável quanto um teste de dados. Apenas declare as dependências explicitamente. (Para um script de execução curta, Type=oneshot
está certo.)
Seu serviço se comunica com o libvirtd usando virsh
, o que significa que ele só funciona quando o libvirtd já está em execução. Portanto:
[Unit]
Requires=libvirtd.service
After=libvirtd.service
(Ajuste se a sua distribuição chamar o serviço de forma diferente.)
Além disso, os serviços de auto-desativação podem não ser a melhor ideia. Em vez disso, você poderia usar:
[Unit]
ConditionPathExists=!/srv/virtual_machines