Sur un système Debian Jessie avec systemd
, comment puis-je configurer les terminaux pour qu'un message du type Press enter to activate this console
s'affiche et l'invite de connexion n'apparaît pas avant d'avoir appuyé sur Entrée ?
Avec inittab
cela pourrait être fait en configurant askfirst
, mais comment le faire avec systemd
?
Si possible Je préférerais ajuster les fichiers de configuration appropriés plutôt que de jouer avec le systemd
existant fichiers d'unité directement - tout comme il y a logind.conf
mais malheureusement, ce fichier de configuration n'aidera pas dans ce cas AFAIK.
Réponse acceptée :
Avec
/etc/inittab
cela pourrait être fait en configurantaskfirst
…
En fait, ça ne pouvait pas. C'est un BusyBox init
mécanisme qui n'existe pas dans Linux System 5 init
clone, l'une des nombreuses façons dont leur /etc/inittab
les fichiers de configuration ne sont pas les mêmes choses.
La façon de faire des choses similaires sur un système d'exploitation Linux systemd dépend de ce que l'on fait réellement. On ne l'emploie pas nécessairement uniquement pour la connexion à un terminal interactif, bien que vous soyez clairement ici.
Une utilisation courante de askfirst
est simplement pour ne pas avoir le getty
+login
système en cours d'exécution pour les terminaux virtuels inutilisés . systemd n'a pas besoin d'un paramètre autre que celui par défaut pour cela. Avec systemd, le logind
le service tel qu'il est déjà fourni s'arrange pour ne démarrer que [email protected]N.service
services à la demande, lorsque les terminaux virtuels passent au premier plan. La connexion au terminal n'est pas exécutée sur les terminaux virtuels qui n'ont pas été basculés (et qui ne sont pas les premiers ou les terminaux virtuels "réservés").
La sémantique légèrement différente, de ne pas démarrer le getty
+login
système jusqu'à ce que l'on soit passé au terminal virtuel et appuyé sur entrée , sont légèrement plus difficiles à réaliser, car ils impliquent soit d'activer un getty
option ou en interposant un programme qui imprime un message et attend une ligne d'entrée avant de chaîner à getty
.
Seulement quelques getty
les programmes ont de telles options, comme agetty
de Peter Orbaek qui a --wait-cr
. La plupart (comme fgetty
de Felix von Leitner et mingetty
de Florian La Roche ) ne pas avoir. Le reste (comme le mgetty
de Gert Doering ) sont ceux qui attendent des modems et tous leurs accompagnements — ce que les terminaux virtuels n'ont bien sûr pas et qui rendent leur adaptation à l'utilisation des terminaux virtuels quelque peu délicate.
Le chargement en chaîne équivalent à --wait-cr
sur un terminal virtuel, un programme simple qui imprime un message, puis lit une ligne depuis le terminal (en mode canonique), puis charge en chaîne, est un programme assez simple.
Utiliser de telles options, en utilisant différents getty
programmes, ou en interposant des programmes de chargement de chaîne d'utilitaires "avant" getty
, tous impliquent l'écriture d'un ou plusieurs fichiers de remplacement de fichier d'unité sous /etc/systemd/system
avec systemctl edit
(en changeant le ExecStart
paramètre) ou pointant simplement [email protected]
dans un fichier d'unité locale de sa propre conception au lieu de [email protected]
.
Autres lectures
- https://unix.stackexchange.com/a/194218/5132
- Jonathan de Boyne Pollard (2015).
login-prompt
. Guide bouffe . Logiciels JdeBP. - https://askubuntu.com/a/659268/43344
- https://unix.stackexchange.com/a/233855/5132
- Werner Fink et Karel Zak.
agetty
. Pages du manuel Unbuntu 15.04.