Antecedentes
Estoy escribiendo un script simple para ejecutar en Raspbain en Raspberry Pi 2, simplemente encienda un LED para indicar que estoy listo para conectarme con SSH desde mi computadora de escritorio.
El script no es importante aquí, solo para mencionar que, como uso el control de frecuencia, el script ejecuta un bucle infinito para encender y apagar el LED con frecuencia. Entonces este es un ejemplo de servicio simple. Sin embargo, al menos la respuesta aceptada de esta pregunta me aconseja configurar el tipo en inactivo. Entonces mi archivo de servicio se ve así
[Unit]
Description=Turn on LED after SSH is ready
[Service]
Type=idle
ExecStart=/usr/bin/sshready.py
[Install]
Wants=network-online.target
After=network-online.target
Efecto
El servicio se ejecuta como se esperaba. Sin embargo, noté que cuando inicio masilla en mi computadora de escritorio justo después de que el LED se enciende, el mensaje de inicio de sesión no aparece inmediatamente. Así que verifiqué con
$ systemd-analyze plot > output.svg
El resultado muestra
Pregunta
Parece que mis servicios comienzan no después network-online.target
, ¿qué está mal aquí y cómo puedo solucionarlo?
Lo arregla modificando el servicio como
Todavía no entendía completamente lo que estaba haciendo, pero funciona ahora. ¿Alguien puede explicar?
Actualizar
Esta respuesta fue creada por mí antes de que llegue la respuesta aceptada.
fuente
After=
directiva debe estar en la[Unit]
sección. Es solo que.