GETTY(1) Manuel de l'utilisateur Linux GETTY(1)
NOM
getty - Configures le mode terminal, la vitesse et la dis
cipline de ligne.
SYNOPSIS
/etc/getty [-d fichier_defaut] [-a] [-h] [-r délai] [-t
timeout] [-w waitfor] ligne [vitesse [type [lined]]]
/etc/getty -c fichier_gettydefs
DESCRIPTION
Getty est le deuxième des trois programmes (init(1m),
getty(1m), et login(1m)), utilisés par le système pour
permettre aux utilisateurs de se connecter. Getty est
appelé par init(1m) pour :
1. Ouvrir les lignes tty et les configurer.
2. Afficher l'invite de connexion, et saisir le nom
d'utilisateur.
3. Lancer un processus de connexion (login) pour l'util
isateur.
La procédure précise suivie par getty est la suivante :
En premier lieu, getty examine sa ligne de commande. Si
aucune erreur n'est détectée, getty lit le fichier par
défaut, normalement /etc/conf.getty, pour déterminer cer
taines valeurs de démarrage (/etc/conf.getty s'il est com
pilé avec l'option FSSTND). Les valeurs données dans le
fichier par défaut (qui peut être changé par l'argument
optionnel -d fichier_defauts ) l'emportent sur celles de
la ligne de commande. Getty ouvre alors la ligne en lec
ture/écriture et désactive le tampon stdio. Si une ini
tialisation a été spécifiée, elle est exécutée (voir INI
TIALISATION DE LA LIGNE)
Après l'initialisation, la ligne est fermée puis
réouverte. Cette fois, par contre, la ligne est ouverte
en mode bloc, de sorte que le périphérique ne reste pas
occupé. La détection d'une porteuse (carrier) permettra
d'ouvrir la ligne.
Ensuite, getty affiche la bannière de connexion,
habituellement /etc/issue) et l'invite de connexion
(login) getty lit le nom d'utilisateur et appelle
login(1m) avec ce nom comme argument. Pendant qu'il lit le
nom, getty tente d'adapter le système à la vitesse du ter
minal utilisé, et configure aussi certains paramètres du
terminal (voir termio(7)) pour se conformer à la procédure
de connexion de l'utilisateur.
Le périphérique tty utilisé par getty est déterminé par
l'argument ligne . Getty utilise la chaîne /dev/line
GETTY 5 Mai 1999 1
GETTY(1) Manuel de l'utilisateur Linux GETTY(1)
comme nom du périphérique qu'il va utiliser. À moins que
getty soit invoqué avec le flag -h (ou que HANGUP=NO soit
spécifié dans le fichier par défaut), il forcera à rac
crocher la ligne, en mettant sa vitesse à zéro. -r délai
sur la ligne de commande (ou WAITCHAR=YES et DELAY=délai
dans le fichier par défaut) forcera getty à attendre un
(seul) caractère sur la ligne, puis à attendre délai sec
ondes avant de continuer. Si vous ne désirez aucun délai,
utilisez -r0. -w attendue sur la ligne de commande (ou
WAITFOR=attendue dans le fichier par défaut) forcera getty
à attendre la chaîne attendue sur la ligne avant de con
tinuer. -t timeout sur la ligne de commande (ou TIME
OUT=timeout dans le fichier par défaut) forcera getty à
terminer si aucun nom d'utilisateur n'est accepté pendant
les timeout secondes suivant l'affichage de l'invite de
connexion
L'argument vitesse est une étiquette qui correspond à une
entrée dans le fichier /etc/gettydefs (voir gettydefs(5)).
Cette entrée définit à getty la vitesse initiale (en
bauds) et la configuration tty, l'invite de connexion à
utiliser, la vitesse finale, et la configuration tty, et
un pointeur sur une autre entrée à essayer si jamais
l'utilisateur signale que la vitesse n'est pas correcte.
Ca se fait en envoyant un caractère <break> (en réalité,
une séquence de caractères). Sous certaines conditions, un
retour-chariot remplit le même rôle. C'est habituellement
le cas quand getty est configuré avec une vitesse plus
élevée que le terminal ou le modem. Getty parcourt le
fichier gettydefs séquentiellement, en cherchant une
entrée correspondant à la vitesse. Si aucune vitesse n'est
donnée, ou si aucune entrée correspondante n'est trouvée,
la première entrée de /etc/gettydefs est utilisée par
défaut. Dans le cas où le fichier gettydefs n'est pas
accessible, une entrée par défaut spécifiée à la compila
tion est utilisée.
L'argument type est une chaîne qui donne le nom du type de
terminal relié à la ligne. Le type devrait être un nom de
terminal valide, apparaissant dans la base de données
termcap(7). Getty utilise cette valeur pour déterminer
comment effacer l'écran. Il recopie aussi le contenu de
cette valeur dans la variable d'environnement TERM.
L'argument lined est une chaîne décrivant la discipline de
ligne à utiliser sur la ligne. La valeur par défaut est
LDISC0.
Comme signalé plus haut, getty affiche l'invite de connex
ion puis lit le nom d'utilisateur. Si un caractère nul est
reçu, il est pris comme venant de l'appui sur la touche
GETTY 5 Mai 1999 2
GETTY(1) Manuel de l'utilisateur Linux GETTY(1)
<break> (ou sur Entrée / Retour-chariot) par l'utilisa
teur, pour indiquer que la vitesse est mauvaise. Cela
force getty à passer à la vitesse suivante de la série
(définie dans /etc/gettydefs).
Le nom d'utilisateur est terminé par un caractère saut de
ligne (LF) ou retour chariot (CR). Si c'est un retour
chariot, le système est configuré pour transformer ceux-ci
en sauts de ligne (voir ioctl(2)).
Le nom d'utilisateur est vérifié. S'il ne contient que des
majuscules, le système est configuré pour transformer
toutes les (futures) majuscules en minuscules.
Une option de vérification est fournie pour tester le
fichier gettydefs. Quand getty est invoqué avec l'option
-cgettydefs, il scanne le fichier appelé gettydefs et
affiche (sur la sortie standard) les valeurs qu'il lit. Si
des erreurs d'analyse surviennent (dûes à des erreurs dans
la syntaxe du fichier gettydefs), elles sont signalées.
FICHIER PAR DEFAUT
Au démarrage, getty cherche le fichier
/etc/conf.getty.ligne, (ou, s'il ne le trouve pas,
/etc/conf.getty), et, s'il le trouve, lit le contenu des
lignes de la forme
NOM=valeur
Cela permet d'avoir certaines caractéristiques de getty
configurables au démarrage, sans recompilation. Les
chaînes NOM reconnues, et leurs valeurs correspondantes,
sont les suivantes :
SYSTEM=nom
Positionne le nom de noeud (affiché par @S -- voir
SUBSTITUTIONS DE L'INVITE) à nom. La valeur par
défaut est la valeur nom_de_noeud retournée par la
fonction uname(3).
VERSION=chaine
Positionne la valeur affichée par le paramètre @V
(voir SUBSTITUTIONS DE L'INVITE) à chaine. Si
chaine commence par un '/' character, elle est prise
comme le chemin complet d'un fichier, et @V
représente le contenu de ce fichier. Par défaut
c'est /proc/version.
GETTY 5 Mai 1999 3
GETTY(1) Manuel de l'utilisateur Linux GETTY(1)
LOGIN=nom
Positionne le nom du programme de connexion (login)
à nom. Par défaut c'est /bin/login (voir
login(1m)). S'il est utilisé, nom doit être le
chemin complet du programme que getty doit appeler
au lieu de /bin/login. Notez que ce programme est
appelé, comme /bin/login, avec le nom d'utilisateur
pour seul argument.
INIT=chaine
Si elle est définie, chaine est une séquence atten
due/envoyée qui est utilisée pour initialiser la
ligne avant que getty ne tente de l'utiliser. Cette
chaîne a la même forme que celles utilisées dans le
fichier L.sys d' uucp(1). Pour plus de détails,
voir INITIALISATION DE LIGNE. Par défaut, aucune
initialisation n'est faite.
ISSUE=chaine
Au lancement, getty affiche par défaut, comme
bannière de connexion, le contenu du fichier
/etc/issue. Si ISSUE est défini comme chaine, cette
chaîne est affichée en remplacement. Si chaine
débute par un '/', chaine est considérée comme le
chemin complet du fichier à utiliser à la place de
/etc/issue.
CLEAR=valeur
Si valeur est NO, getty n'essaiera pas d'effacer
l'écran avant d'afficher la bannière et l'invite de
connexion. Par défaut, il efface l'écran.
HANGUP=valeur
Si valeur est NO, getty NE raccrochera PAS la ligne
pendant son lancement. Analogue à l'argument -h sur
la ligne de commande.
WAITCHAR=valeur
Si valeur est YES, getty attendra un simple car
actère sur la ligne avant de continuer. C'est utile
pour les connexions par modem, avec des modems qui
forcent le signal CD (=porteuse détectée)
systématiquement, pour empêcher getty de négocier
indéfiniment avec le modem.
DELAY=secondes
Utilisé en conjonction avec WAITCHAR, cela ajoute un
délai de secondes après l'acceptation du caractère,
GETTY 5 Mai 1999 4
GETTY(1) Manuel de l'utilisateur Linux GETTY(1)
avant d'autoriser getty à continuer. L'utilisation
des deux paramètres WAITCHAR et DELAY ont le même
effet que -rdelai sur la ligne de commande. Si
WAITCHAR est donné sans DELAY, le résultat est le
même que de mettre -r0 sur la ligne de commande.
Par défaut, getty n'attend pas de caractère.
TIMEOUT=nombre
Comme avec l'argument de ligne de commande -t time
out, force getty à terminer si aucun nom d'utilisa
teur n'est accepté avant que nombre secondes se
soient écoulées à partir de l'affichage de l'invite
de connexion. Par défaut, il attend indéfiniment.
CONNECT=chaine
Si elle est définie, chaine est une séquence atten
due/envoyée (comme pour INIT) pour guider getty dans
l'établissement d'une connexion. chaine peut être
définie à DEFAULT, ce qui substituera la chaîne
prédéfinie :
CONNECT\s\A\r\n
L'échappement \A marque la place où les chiffres
donnant la vitesse seront affichés. Voir CONNEXION
ET CONFIGURATION AUTOMATIQUE DE LA VITESSE pour plus
de détails. Par défaut il n'y a pas de séquence de
discussion (chat).
WAITFOR=chaine
Ce paramètre est similaire à WAITCHAR, mais il
définit une chaîne de caractères attendue. Getty
attendra la réception de chaine avant d'afficher
l'invite de connexion. Il vaut mieux utiliser ce
paramètre en même temps que CONNECT, comme dans
l'exemple suivant :
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
Cela va forcer getty à attendre la chaîne RING, puis
n'attendre rien, envoyer ATA suivi d'un retour-char
iot, puis attendre une chaîne de type CONNECT 2400,
auquel cas, getty se configurera à 2400 bauds. Par
défaut, getty n'attend pas de chaîne de caractères.
ALTLOCK=ligne
Uugetty utilise ce paramètre pour verrouiller un
deuxième périphérique, en plus de celui auquel il
est attaché. C'est prévu pour les systèmes qui
GETTY 5 Mai 1999 5
GETTY(1) Manuel de l'utilisateur Linux GETTY(1)
utilisent deux noms de périphérique différents pour
le même port série, par exemple /dev/tty1A et
/dev/tty1a, l'un utilisant le contrôle modem,
l'autre pas. Voir la section sur UUGETTY pour plus
de détails. Par défaut, il n'y a pas de deuxième
fichier de verrouillage.
ALTLINE=ligne
Getty utilise ce paramètre pour spécifier un
périphérique différent pour l'initialisation du
modem. Si l'option WAITFOR est utilisée, WAITFOR
sera executé aussi sur cette ligne. C'est nécessaire
pour les systèmes qui exercent le verrouillage entre
deux lignes.
RINGBACK=valeur
Si valeur vaut YES , la procédure de rappel est con
figurée. Elle est utilisée en conjonction avec WAIT
FOR et CONNECT pour négocier les appels entrants.
L'action par défaut est de connecter seulement si la
ligne sonne de une à trois fois, est raccrochée puis
est rappelée dans les 60 secondes suivant le premier
appel. MINRBTIME et MAXRBTIME spécifient les durée
minimale et maximale séparant les deux appels.
INTERRING spécifie la durée maximale entre deux son
neries du même appel. MINRINGS et MAXRINGS
spécifient les nombres minimum et maximum de sonner
ies pour le premier appel.
SCHED=intervalle1 intervalle2 intervalle3 ...
Getty utilise cette ligne pour programmer les
horaires de connexion autorisés. Chaque intervalle
est de la forme JdS:HR:MIN-JdS:HR:MIN. JdS est le
jour de la semaine (0 = Dimanche, 1 = Lundi, ... 6 =
Samedi), HR:MIN est l'horaire (heures, minutes). Si
l'heure courante est dans l'un de ces intervalles,
la séquence INIT (s'il y en a une) est envoyée et
getty continue de tourner jusqu'à l'heure de fin.
Sinon, la séquence OFF est envoyée et getty "dort"
jusqu'à la prochaine heure de démarrage.
OFF=chaîne
Cette ligne est identique à la ligne INIT, sauf
qu'elle est envoyée uniquement quand la ligne est
coupée (OFF) par le programmateur SCHED.
FIDO=chaîne
Cette ligne spécifie le chemin du mailer FidoNet
(habituellement ifcico). Non définie par défaut. En
GETTY 5 Mai 1999 6
GETTY(1) Manuel de l'utilisateur Linux GETTY(1)
installant un mailer FidoNet, vous devriez aussi
positionner EMSI à yes. Quand un appel entrant
FidoNet est reçu, la chaîne tsync ou yoohoo est
passée au mailer FidoNet comme unique option de
ligne de commande si deux séquences TSYNC ou YOOHOO
sont reçues. Si EMSI est positionnée à yes, la
chaîne EMSI entière (commençant à la première
astérisque, et finissant au retour chariot final
-exclu-) est passée comme unique option de ligne de
commande.
EMSI=valeur
Si valeur=yes, intercepte les séquences FidoNet EMSI
en entrée.
Le nom du fichier de configuration par défaut peut être
changé en spécifiant -d fichier_defaut sur la ligne de
commande. Si fichier_defaut commence par un slash, c'est
considéré comme le chemin complet du fichier à utiliser.
Sinon, c'est supposé être un fichier régulier, et getty
utilise le chemin /etc/conf.defaults_file. ou
/etc/conf.defaults_file s'il est compilé avec la directive
de respect de FSSTND (FileSystem STaNDard).
SUBSTITUTIONS D'INVITE
Quand getty affiche la bannière de connexion (habituelle
ment /etc/issue), ou l' invite de connexion, il reconnaît
plusieurs caractères d'échappement. Quand l'un de ces car
actères est trouvé, sa valeur est substitué dans la sortie
produite par getty. Les caractères d'échappement reconnus
sont :
\\ Backslash (\).
\b Effacement-arrière (Backspace) (^H).
\c Placé à la fin d'une chaîne, elle empêche le passage
à la ligne suivante après la chaîne.
\f Saut de page (Formfeed) (^L).
\n Saut de ligne (^J).
\r Retour Chariot (^M).
\s Un espace simple (' ').
\t Tabulation horizontale (^I).
\nnn Affiche le caractère ASCII dont la valeur décimale
est nnn. Si nnn commence par 0, la valeur est lue
GETTY 5 Mai 1999 7
GETTY(1) Manuel de l'utilisateur Linux GETTY(1)
en octal. Si elle commence par 0x, elle est lue en
hexadécimal.
De plus, un simple backslash à la fin d'une ligne ignore
le saut de ligne adjacent, permettant la continuation des
lignes.
Certains paramètres @car sont également reconnus. Ces
paramètres, et les valeurs qui leur sont substituées sont
:
@B Le débit courant, en bauds (évalué au moment où @B
est vu).
@D La date courante, format MM/JJ/AA .
@L La ligne à laquelle getty est attaché.
@S Le nom de noeud système.
@T L'heure courante, format HH:MM:SS (24 heures) .
@U Le nombre d'utilisateurs connectés. C'est le nombre
d'entrées dans le fichier /etc/utmp file qui ont un
champ ut_name non-nul.
@V La valeur de VERSION, telle que donnée dans le
fichier de configuration par défaut.
Pour afficher un simple caractère '@' character, utilisez
'\@' ou
INITIALISATION DE LA LIGNE
L'un des gros avantages de getty (selon l'auteur, du
moins) est sa capacité à initialiser sa ligne avant de
s'en servir. C'est certainement beaucoup plus utile avec
des lignes modem, pas des terminaux, même si l'initialisa
tion de terminaux n'est pas complètement hors-sujet.
L'initialisation de la ligne est effectuée juste après son
ouverture, et avant la gestion des options WAITCHAR et
WAITFOR. L'initialisation est effecuée en plaçant une
ligne
INIT=chaîne
dans le fichier de configuration par défaut. Chaîne est
une série d'un ou plusieur champs de la forme
attendu [ envoyé [ attendu [ envoyé ] ] ... ]
Cela ressemble aux séquences attendues/envoyées utilisées
GETTY 5 Mai 1999 8
GETTY(1) Manuel de l'utilisateur Linux GETTY(1)
dans le fichier UUCP L.sys, avec les exceptions suivantes
: AUCUN retour chariot N'est ajouté automatiquement aux
séquences envoyées. Si vous voulez envoyer un Retour Char
iot, il faut le montrer explicitement avec '\r'.
Getty supporte des sous-champs dans le champ 'attendu',
comme UUCO, sous la forme
attendu[-envoyé-attendu]...
Tous les caractères d'échappement (ceux commençant par '\'
listés dans la section SUBSTITUTIONS D'INVITE sont valides
dans les champs attendus et envoyés. De plus, les car
actères d'échappement suivants sont reconnus :
\p insère une pause d'une seconde.
\d insère une pause de deux secondes.
\K envoie un Arrêt (Break) de 0,25 s (interruption de
porteuse).
\Tnnn Passe le timeout par défaut (habituellement 30 s) à
la valeur indiquée par la valeur nnn. La valeur nnn
peut être en décimal, octal ou hexadécimal ; voir
l'usage de \nnn dans SUBSTITIONS D'INVITE.
Notez que pour ces caractères d'échappement supplémen
taires, aucun caractère réel n'est envoyé.
CONNEXION ET REGLAGE AUTOMATIQUE DU DEBIT
Getty entreprend une séquence de "discussion" (chat) pour
établir une connexion propre. Le meilleur usage de cette
caractéristique est de regarder le message CONNECT envoyé
par le modem et de régler le débit de ligne à la valeur
donnée dans ce message (par exemple CONNECT 2400).
La [syntaxe ? : NdT] du script de connexion chat est
exactement la même que celle du script INIT (voir INITIAL
ISATION DE LIGNE), avec en plus :
\A Marque la place où le débit (en bauds) apparaîtra.
Cette marque recouvrira tous les chiffres 0-9
trouvés à cet endroit du script, passera le débit à
cette valeur si c'est possible.
Pour cela, le réglage automatique du débit (autobauding)
est "mis en route" en plaçant la marque 0
CONNECT=CONNECT\s\A
reconnaîtra la chaîne CONNECT 1200 et forcera getty à
passer son débit à 1200 bauds, en 3 étapes :
GETTY 5 Mai 1999 9
GETTY(1) Manuel de l'utilisateur Linux GETTY(1)
1. Après avoir reconnu la valeur 1200, getty essaiera de
trouver une entrée étiquetée 1200 dans le fichier get
tydefs . Si une entrée correspondante est trouvée, les
valeurs indiquées sont utilisées. Si aucune entrée ne
correspond, alors
2. Les valeurs gettydefs courantes sont modifiées pour
utiliser le débit reconnu (par exemple 1200). Malgré
tout, si la valeur reconnue est invalide, alors
3. Getty envoie (log) un message d'avertissement et
reprend une exécution normale. Cela permet à la pra
tique de la bascule entre des entrées liées du fichier
gettydefs de fonctionner normalement [même si les pre
miers débits ne sont pas acceptés, NdT].
UUGETTY
Uugetty a un comportement identique à getty, excepté que
uugetty est prévu pour créer et utiliser les fichiers de
verrou utilisés par la famille UUCP (uucp(1), cu(1) et
autres). Cela empêche plusieurs processus d'utiliser la
même ligne tty.
Quand uugetty démarre, s'il voit un fichier de verrou sur
la ligne qu'il avait l'intention d'utiliser, il utilise le
PID du fichier verrou pour vérifier si un processus actif
tient le verrou. Si ce n'est pas le cas, uugetty supprime
le fichier verrou et continue. Si un processus valide est
trouvé, uugetty dort jusqu'à ce que le processus déver
rouille la ligne, puis il se termine, forçant init(1m) à
relancer (spawn) un nouvel uugetty. Une fois qu'il n'y a
plus de processus en conflit, uugetty récupère la ligne en
créant son propre fichier de verrou avant d'afficher
l'invite de connexion.
Uugetty ne verrouille normalement que la ligne qu'il
utilise. Sur les systèmes comportant deux noms de
périphérique correspondant au même port (par exemple,
quand un périphérique utilise le contrôle modem, et pas
l'autre), placez une ligne de la forme
ALTLOCK=ligne
ligne est le fichier par défaut. Par exemple, si uugetty
est sur /dev/tty1a, et vous voulez qu'il verrouille aussi
/dev/tty1A , utilisez la ligne ALTLOCK=tty1A dans le
fichier de configuration par défaut.
Pendant qu'il attend une porteuse, Uugetty vérifie les
fichiers de verrou toutes les 30 secondes. Si des verrous
sont trouvés, uugetty se termine et init relance un autre
GETTY 5 Mai 1999 10
GETTY(1) Manuel de l'utilisateur Linux GETTY(1)
getty. Cela permet au modem d'être réinitialisé après
qu'un autre processus l'a utilisé.
FICHIERS
/etc/conf.getty[.ligne]
Contient la configuration de démarrage.
Noter que uugetty utilise
/etc/conf.uugetty[.ligne].
/etc/gettydefs Contient les débits et paramètres tty à
utiliser.
/etc/issue La bannière de connexion par défaut.
/bin/login Le programme de connexion appelé par
défaut une fois qu'un nom d'utilisateur
est saisi.
VOIR AUSSI
init(1m), login(1m), uucp(1), ioctl(2), uname(3), getty
defs(5), utmp(5), termio(7), mgetty(8) [Ndt : plus com
pact, aussi efficace]
AUTEURS
Getty_ps dans sa forme courante :
Kris Gleason <gleasokr@boulder.colorado.edu>
Le getty_ps d'origine :
Paul Sutcliffe, Jr. <paul@devon.lns.pa.us>
UUCP: ...!rutgers!devon!paul
Routines de réglage automatique du débit adaptées du code soumis par
Mark Keating <...!utzoo!censor!markk>
TRADUCTION
Guillaume Allègre, <Guillaume.Allegre@mail.dotcom.fr>,
avril 1999.
GETTY 5 Mai 1999 11