Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:programmation:bash:script:systemd:script-sur-un-vt [25/01/2016 19:45] enicar [Installation] |
doc:programmation:bash:script:systemd:script-sur-un-vt [25/01/2016 20:43] enicar [Script de démarrage pour systemd] |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
* Commentaires : Depuis le passage de INIT à SystemD certaines choses simple sont devenue plus complexe / comment j'en suis arrivé là : j'ai voulu afficher sur le tty1 de mes machines virtuels leur adresse ipv4 au lien de l'écran de login habituel | * Commentaires : Depuis le passage de INIT à SystemD certaines choses simple sont devenue plus complexe / comment j'en suis arrivé là : j'ai voulu afficher sur le tty1 de mes machines virtuels leur adresse ipv4 au lien de l'écran de login habituel | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) FIXME | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) FIXME | ||
- | * Suivi : {{tag>en-chantier à-tester à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. | + | * Suivi : {{tag>en-chantier à-tester https://debian-facile.org/viewtopic.php?pid=159703#p159703à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. |
* Création par [[user>greenmerlin]] 25/01/2016 | * Création par [[user>greenmerlin]] 25/01/2016 | ||
+ | * Commentaires sur le forum : [[ https://debian-facile.org/viewtopic.php?pid=159703#p159703| Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
FIXME | FIXME | ||
== Nb : je suis une quiche en mise ne page c'est illisible mdr == | == Nb : je suis une quiche en mise ne page c'est illisible mdr == | ||
Ligne 18: | Ligne 19: | ||
<note warning>Vu qu'on bosse sur le Systemd je vous déconseille de bosser en SSH (vous verrez pas les changement lol)</note> | <note warning>Vu qu'on bosse sur le Systemd je vous déconseille de bosser en SSH (vous verrez pas les changement lol)</note> | ||
- | ===== Installation ===== | + | ===== Le script a exécuté ===== |
Bon on commence par le plus simple : | Bon on commence par le plus simple : | ||
Pour plus de commodité j'enregistre toujours mes scripts perso dans /etc/bin, donc la je le créer dans /etc/bin/show_my_ip.sh | Pour plus de commodité j'enregistre toujours mes scripts perso dans /etc/bin, donc la je le créer dans /etc/bin/show_my_ip.sh | ||
- | === Le script a exécuté === | ||
<file bash show_my_ip.sh> | <file bash show_my_ip.sh> | ||
- | #bin/sh | + | #! /bin/sh |
clear | clear | ||
while true; | while true; | ||
Ligne 37: | Ligne 37: | ||
<note important>ne pas oublier de le rendre éxécutable --> chmod +x mon_script.sh</note> | <note important>ne pas oublier de le rendre éxécutable --> chmod +x mon_script.sh</note> | ||
ensuite vu que je veux afficher ce script sur mon tty1 il va falloir que je dise à SystemD d’arrêter de lancer agetty FIXME(expliquer) sur le tty1 | ensuite vu que je veux afficher ce script sur mon tty1 il va falloir que je dise à SystemD d’arrêter de lancer agetty FIXME(expliquer) sur le tty1 | ||
- | === Configuration de SystemD === | + | ===== Configuration de SystemD ===== |
- | == Avant == | + | === Avant === |
sur **INIT** il suffisait d'éditer l'inittab et de remplacer | sur **INIT** il suffisait d'éditer l'inittab et de remplacer | ||
<code>1:2345:respawn:/sbin/mingetty tty1</code> | <code>1:2345:respawn:/sbin/mingetty tty1</code> | ||
par | par | ||
<code>1:2345:respawn:/etc/bin/mon_script.sh</code> | <code>1:2345:respawn:/etc/bin/mon_script.sh</code> | ||
- | == Maintenant == | + | === Maintenant === |
Maintenant avec SystemD, un seul getty est lancer par défault. Si vous vous déplacer sur un autre tty(Ctr+Alt+F2 par example), getty sera lancer ici(de manière interactive). | Maintenant avec SystemD, un seul getty est lancer par défault. Si vous vous déplacer sur un autre tty(Ctr+Alt+F2 par example), getty sera lancer ici(de manière interactive). | ||
Ligne 70: | Ligne 70: | ||
Puis : | Puis : | ||
<code root> systemctl enable getty@tty2.service</code> | <code root> systemctl enable getty@tty2.service</code> | ||
- | Dernière phase, il va falloir créer un script de démarrage pour SystemD afin de lancer notre script sur le tty1 | + | ===== Script de démarrage pour systemd ===== |
+ | Il va falloir créer un script de démarrage pour SystemD afin de lancer notre script sur le tty1 | ||
<note tip>cela correspondait aux scripts présent sous /etc/init.d/ sous INIT</note> | <note tip>cela correspondait aux scripts présent sous /etc/init.d/ sous INIT</note> | ||
<file config /etc/systemd/system/show_my_ip.service> | <file config /etc/systemd/system/show_my_ip.service> | ||
Ligne 77: | Ligne 78: | ||
[Service] | [Service] | ||
- | type=idle #systemd va retarder l'exécution du service jusqu'à ce que tous les autres soient finis | + | type=idle |
- | ExecStart=/bin/bash /etc/show_my_ip.sh #la ligne de commande à éxécuter | + | ExecStart=/etc/bin/show_my_ip.sh |
- | StandardOutput=tty #spécifier ou va la sortie "standard du script" ou peut l'afficher dans les log, un tty ou pas l'afficher du tout | + | StandardOutput=tty |
- | TTYPath=/dev/tty1 #je précise sur quel tty je veux qu'il s'affiche | + | TTYPath=/dev/tty1 |
- | RestartSec=10 # si mon script est killer systemd le relancera automatiquement toutes les 10ms | + | RestartSec=10 |
[Install] | [Install] | ||
- | WantedBy=multi-user.target # c'est un script que l'usager demande #obligatoire | + | WantedBy=multi-user.target |
</file> | </file> | ||
En détails : | En détails : |