Cela dépend vraiment de votre définition de "booted". Je suppose que vous voulez qu'il s'exécute immédiatement après le démarrage de getty. Pour ce faire, vous devez ajouter votre service au répertoire /etc/systemd/system/getty.target.wants/
. Vous devez également vous assurer que votre fichier utilise un code similaire aux autres services de ce répertoire. Pour exécuter un service personnalisé au démarrage et à l'arrêt (qui fait simplement sonner le buzzer de ma carte mère), j'utilise le script suivant dans /etc/systemd/system/getty.target.wants/service_name.service
[Unit]
After=systemd-user-sessions.service plymouth-quit-wait.service
After=rc-local.service
Before=getty.target
IgnoreOnIsolate=yes
[Service]
ExecStart=/usr/bin/myinitscript.sh start
ExecStop=/usr/bin/myinitscript.sh stop
Type=oneshot
RemainAfterExit=true
[Install]
WantedBy=basic.target
/usr/bin/myinitscript.sh
est exécutable et a un shebang au début.
Notez que tout ne sera pas démarré à ce moment du démarrage, mais c'est à ce moment-là que le prompt de connexion apparaît à l'utilisateur
Même si cela utilise Before=
et After=
, c'était pour moi beaucoup plus compréhensible et cela fonctionne effectivement ; je n'ai pas trouvé la réponse ci-dessus assez informative. Cela vous permet également d'utiliser à la fois ExecStart=
et ExecStop=
, plutôt que d'être limité à un service de type Type=simple
.