Bonjour,
Je souhaite lancer un script avant le prompt de login. J'ai donc créé et activé un service (dummy.service ci dessous) . Il se lance nickel, mais au bout de quelques secondes il est tué et le prompt se lance. Je précise que le script n'a aucune raison de planter. D'ailleurs si je fais un whiptail infobox dedans, celui-ci se lance bien et tout plante pareil sans que je n'ai appuyé sur "OK".
Le script affiche que je suis root sur tty1, et le prompt qui me casse les pieds est aussi sur tty1. Tous les autres tty sont désactivés
Une idée? Une piste?
[Unit]
Description=Script starter
Conflicts=getty@tty1.service
After=systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
After=rc-local.service
Before=getty.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/opt/test.sh
StandardInput=tty-force
StandardOutput=inherit
StandardError=journal
TTYPath=/dev/tty1
TTYReset=yes
TTYHangup=yes
TTYVTDisallocate=yes
[Install]
WantedBy=multi-user.target
DefaultInstance=tty1
# timeout par defaut
Posté par eric gerbier (site web personnel) . Évalué à 1.
La documentation sur le services (man systemd.service) indique l'existence des options TimeoutSec / TimeoutStartSec / TimeoutStopSec avec des valeurs par defaut DefaultTimeoutStartSec / DefaultTimeoutStopSec ( dont la doc est consultable par "man systemd-system.conf" ). La valeur par défaut est de 90 secondes.
[^] # Re: timeout par defaut
Posté par Mammnon . Évalué à 1.
Le script est killé bien avant les 90s, je dirais une ou deux secondes.
J'ai surchargé les valeurs par défaut histoire de vérifier. Aucun changement…
# aucune idee
Posté par guitou . Évalué à 1.
Bonjour.
Au vu des informations fournies (et de mes maigres connaissances), aucune idee sue ce qui foire.
Toutefois, au risque de proferer une enormite, la solution a ton probleme ne serai-elle pas d'avoir un getty@tty1.service personnalise avec ton script en premier ExecStart ?
++
Gi)
# je suis pas expert en systemd mais ...
Posté par NeoX . Évalué à 2.
du coup, quand getty se lance, possible qu'il tue ton service.
De plus
il me semble que rc-local se lance en tout dernier,
donc comment lancer ton script APRES le dernier, mais AVANT le getty ?
[^] # Re: je suis pas expert en systemd mais ...
Posté par Mammnon . Évalué à 1.
Je pense que c'est la bonne piste que que quand getty se lance il tue mon service. Mais comment empêcher le prompt de se lancer sur tty1? Telle est alors la question…
[^] # Re: je suis pas expert en systemd mais ...
Posté par NeoX . Évalué à 2.
le prompt de ton script qui doit arriver avant le login (getty) ?
# mais pourquoi ?
Posté par NBaH . Évalué à 0.
mais, quel intérêt de charger ainsi un TTY ?
a priori ?
a priori, non. Avant connexion, personne n'est qui que ce soit sur un TTY, root ou user.*
et si ça doit être su après connexion, alors c'est le boulot du PROMPT, ou d'une indication dans .bashrc qui dira qui est connecté.
--
* seul règne le curseur.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.