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 [05/02/2016 09:13] smolski [Le script a exécuté] |
doc:programmation:bash:script:systemd:script-sur-un-vt [08/06/2024 17:18] agp91 [Script de démarrage pour systemd] supression de la modification des permision du fichier /etc/systemd/system/show_my_ip.service |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Comment lancer un script sur une console virtuelle en utilisant systemd ====== | + | ====== Lancer un script sur une console virtuelle - systemd ====== |
* Objet : Petit Tuto expliquant comment afficher un script sur une console virtuelle | * Objet : Petit Tuto expliquant comment afficher un script sur une console virtuelle | ||
* Niveau requis : {{tag>avisé}} | * Niveau requis : {{tag>avisé}} | ||
- | * Commentaires : Depuis le passage de INIT à SystemD certaines choses simples sont devenues plus complexes / comment j'en suis arrivé là : j'ai voulu afficher sur le tty1 de mes machines virtuelles leur adresse ipv4 au lieu de l'écran de login habituel | + | * Commentaires : Depuis le passage de INIT à SystemD certaines choses simples sont devenues plus complexes \\ comment j'en suis arrivé là : j'ai voulu afficher sur le tty1 de mes machines virtuelles leur adresse ipv4 au lieu de l'écran de login habituel |
- | * Suivi : {{tag>en-chantier à-tester à-placer}} | + | * Suivi : {{tag>à-tester}} |
* 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| Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | + | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=159703| Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
===== Introduction ===== | ===== Introduction ===== | ||
Depuis le changement d'INIT à SystemD beaucoup d'entre nous ont dû réapprendre... des choses simples que faisait /etc/inittab à la sauce SystemD. | Depuis le changement d'INIT à SystemD beaucoup d'entre nous ont dû réapprendre... des choses simples que faisait /etc/inittab à la sauce SystemD. | ||
Ligne 18: | Ligne 18: | ||
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 | + | Je crée le script dans /usr/local/bin/show_my_ip.sh |
<file bash show_my_ip.sh> | <file bash show_my_ip.sh> | ||
- | #! /bin/sh | + | #!/bin/sh |
clear | clear | ||
while true; | while true; | ||
Ligne 34: | Ligne 34: | ||
Ce script Bash va afficher en continue l'adresse ipv4 des différentes interfaces réseau. | Ce script Bash va afficher en continue l'adresse ipv4 des différentes interfaces réseau. | ||
- | <note important>ne pas oublier de le rendre éxécutable --> chmod +x mon_script.sh</note> | + | <note important>ne pas oublier de le rendre exécutable : <code root>chmod +x /usr/local/bin/show_my_ip.sh</code></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 ===== | ||
Ligne 43: | Ligne 43: | ||
<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 lancé par défaut. Si vous vous déplacez sur un autre tty(Ctr+Alt+F2 par exemple), getty sera lanceé ici (de manière interactive). | + | Maintenant avec SystemD, un seul getty est lancé par défaut. Si vous vous déplacez sur un autre tty(<key>C-A-F2</key> par exemple), getty sera lancé ici (de manière interactive). |
- | Pour modifier ce comportement par défaut de **SystemD** il faut éditer le fichier <code>/etc/systemd/logind.conf</code> | + | Pour modifier ce comportement par défaut de **SystemD** il faut désactiver le service qui exécute getty sur tty1 |
- | Puis dé-commenter NAutoVTs=6 et placer sa valeur à zéro. | + | <code root>systemctl disable getty@tty1.service</code> |
- | ça devrait vous donner un fichier comme ça | + | |
- | <file config /etc/systemd/logind.conf> | + | |
- | # This file is part of systemd. | + | |
- | # | + | |
- | # systemd is free software; you can redistribute it and/or modify it | + | |
- | # under the terms of the GNU Lesser General Public License as published by | + | |
- | # the Free Software Foundation; either version 2.1 of the License, or | + | |
- | # (at your option) any later version. | + | |
- | # | + | |
- | # See logind.conf(5) for details | + | |
- | + | ||
- | [Login] | + | |
- | NAutoVTs=0 | + | |
- | #ReserveVT=6 | + | |
- | #KillUserProcesses=no | + | |
- | #KillOnlyUsers= | + | |
- | ... | + | |
- | </file> | + | |
Ensuite on lui dit de démarrer quand même un login sur le tty2, pour ce faire : | Ensuite on lui dit de démarrer quand même un login sur le tty2, pour ce faire : | ||
- | <code root>systemctl disable getty@tty1.service</code> | ||
- | Puis : | ||
<code root> systemctl enable getty@tty2.service</code> | <code root> systemctl enable getty@tty2.service</code> | ||
===== Script de démarrage pour systemd ===== | ===== Script de démarrage pour systemd ===== | ||
Ligne 99: | Ligne 79: | ||
Dernière phase : \\ | Dernière phase : \\ | ||
je modifie les droits de mon script SystemD puis je l'active au démarrage : | je modifie les droits de mon script SystemD puis je l'active au démarrage : | ||
- | <code root>chmod 755 /etc/systemd/system/show_my_ip.service;systemctl enable show_my_ip</code> | + | <code root>systemctl enable show_my_ip</code> |
Et voilà ! un petit reboot et à la place de l’écran de login habituel sur le tty1 vous verrez l'exécution de votre script | Et voilà ! un petit reboot et à la place de l’écran de login habituel sur le tty1 vous verrez l'exécution de votre script | ||
===== Résultat ===== | ===== Résultat ===== |