UNIX
SCO
19/02/1997 TIM / P.MICHAUD
INDEX
- stty(C)
- Syntaxe
- Description
- Modes possibles
- Common control modes
- Input modes
- Output modes
- Local modes
- Control assignments
- Window size modes
- Combination modes
- Classification des commandes stty
- Examples
- Limitations
- Voir également
stty, STTY -- gestion des configurations des périphériques.
stty [ -a | -g ] [<device]
stty mode ... [<device]
La commande " stty " gère certains
paramétrages concernant les entrées / sorties des
périphériques. Si un périphérique
n'est pas indiqué, l'entrée standard est utilisée.
Si aucun argument n'est donné, stty retourne un résumé
des paramètres assignés à l'entrée
/ sortie concernée. " stty -a " retourne
des informations détaillées.
Les modes (paramétrages) d'une entrée/sortie peuvent
être regroupés dans les catégories suivantes
:
- " Common control modes " ou paramètres
de contrôle communs. (*)
- " Input modes " ou paramètres d'entrée.
- " Output modes " ou paramètres
de sortie.
- " Local modes " ou modes locaux.
- " Control assignments " ou assignement
des contrôles.
- " Window size modes " ou paramétrages
des fenêtres. (*)
- " Combination modes " ou paramétrages
combinés.
(*) : Voir également " termio (M) "
et " termios (M) "
Voir " vidi (C) " pour les paramétrages
matériels de la carte vidéo et des autres écrans.
- 0 : Raccroche la ligne.
- Vitesses : elles peuvent être indiquées sous
une des formes suivantes :
" ispeed vitesse " , " ospeed
vitesse " , " vitesse "
avec pour vitesse une des valeurs suivantes (en bauds)
:
50, 75, 110, 134, 134.5, 150, 200, 300, 600, 1200, 1800, 2400,
4800, 9600, 19200, 19.2, 38400, or 38.4.
- clocal (-clocal) : Ligne avec (ou sans) contrôle du
modem.
- cread (-cread) : Valide (dévalide) la réception
des données.
- cs5 cs6 cs7 cs8 : Sélectionne la taille des caractères.
(voir termio(M)).
- cstopb (-cstopb) : Utilise deux (ou un) stop bits par caractère.
- ctsflow (-ctsflow) : Valide (ou dévalide) le controle
de flux de la ligne par CTS / RTS.
- hup (-hup) : Voir hupcl.
- hupcl (-hupcl) : Racroche (ou pas) la ligne lors de la fermeture
de la connexion.
- ortsfl (-ortsfl) : Valide l'état unidirectionnel (ou
bidirectionnel) du contrôle de flux si ctsflow et rtsflow
sont activés.
La table ci-dessous indique les combinaisons possibles entre ortsfl,
ctsflow et rtsflow.
Flag settings | Flow control mode
|
ortsfl rtsflow ctsflow | Contrôle de flux unidirectionnel.
|
ortsfl rtsflow -ctsflow | Ne valide que RTS (prêt à émettre).
|
ortsfl -rtsflow ctsflow | Pas d'action.
|
ortsfl -rtsflow -ctsflow | Contrôle de flux bidirectionnel.
|
-ortsfl rtsflow ctsflow | Contrôle de flux bidirectionnel.
|
-ortsfl rtsflow -ctsflow | Pas d'action.
|
-ortsfl -rtsflow ctsflow | Arrêt de la transmission si perte du CTS.
|
-ortsfl -rtsflow -ctsflow | Contrôle de flux matériel dévalidé.
|
- parenb (-parenb) : Valide (ou dévalide) la création
et la détection du bit de parité.
- parext (-parext) : Valide la parité étendue
pour les parités " mark " et " space "
(SVID3 line dicipline).
- parodd (-parodd) : Valide la parité paire (ou impaire).
- rtsflow (-rtsflow) : Valide (dévalide) le contrôle
matériel de flux par RTS.
- brkint (-brkint) : Génère (ou pas) le signal
INTERRUPT lors d'un break (généré en principe
par les touches " break " , " del "
ou " suppr ").
- cs2scancode (-cs2scancode) : Met le clavier de la console
dans le mode codeset 2/(AT) (ou dans le mode codeset 1/(XT)) et
interprète les codes transmis dans ces modes.
- icrnl (-icrnl) : Transforme (ou pas) les CR en NL à
la réception des CR.
- ignbrk (-ignbrk) : Ignore (ou pas) le break en réception.
- igncr (-igncr) : Ignore (ou pas) les CR en réception.
- ignpar (-ignpar) : Ignore (ou pas) les erreurs de parité.
- imaxbel (-imaxbel+) : Fourni le code ASCII " BEL "
(sonnerie) si l'entrée est trop longue. Les entrées
suivantes sont ignorées lorsque les entrées sont
trop longues que imaxbel soit validé ou non (SVID3 line
discipline).
- inlcr (-inlcr) : Converti (ou pas) les NL en CR en réception.
- inpck (-inpck) : Valide (ou dévalide) la vérification
de la parité en réception.
- isscancode (-isscancode) : Le périphérique génère
les " scancodes " des PC. Ces codes sont générés
par les touches clavier et ne correspondent pas aux codes ASCII.
- istrip (-istrip) : Supprime (ou pas) le 8 ieme bit en réception
pour obtenir des codes sur 7 bits.
- iuclc (-iuclc) : Converti (ou pas) les majuscules en minuscules.
- ixany (-ixany) : Autorise tout caractère (ou seulement
DC1 / XON) à redémarrer la transmission avec le
contrôle de flux.
- ixoff (-ixoff) : Valide (dévalide) le contrôle
de flux logiciel à l'aide des caractères START/STOP
(ou XON/XOFF ou DC1/DC3) lorsque le buffer d'entrée du
système est presque plein.
- ixon (-ixon) : Valide (dévalide) le contrôle
de flux logiciel à l'aide des caractères START/STOP
(ou XON/XOFF ou DC1/DC3) lorsque le buffer d'entrée du
périphérique est presque plein.
- parmrk (-parmrk) : Marque (ou pas) les erreurs de parité
(voir termio(M)).
- xscancode (-xscancode) : Transforme (ou pas) les scancodes
PC en caractères pour la réception.
- bs0 bs1 : Choix du délai pour les (voir termio(M)).
- cr0 cr1 cr2 cr3 : Choix du délai pour les RETURNs (voir
termio(M)).
- ff0 ff1 : Choix du délai pour les FORMFEEDs (voir termio(M)).
- nl0 nl1 : Choix du délai pour les LINEFEEDs (voir termio(M)).
- ocrnl (-ocrnl) : Converti (ou pas) les CR en NL en entrée.
- ofdel (-ofdel) : Les caractères de remplissage sont
des DELETEs (ou des NULs).
- ofill (-ofill) : Utiliser les caractères de remplissage
(ou des timings) pour les délais.
- olcuc (-olcuc) : Converti les minuscules en majuscules en
sortie.
- onlcr (-onlcr) : Converti (ou pas) les NL en " CR
NL " en sortie.
- onlret (-onlret) : Converti les NL en CR en sortie.
- onocr (-onocr) : Génère (ou pas) des CR en colonne
zéro.
- opost (-opost) : Post-process / prise en compte (ou pas) de
tous les paramètres " output modes ".
- tab0 tab1 tab2 tab3 -tabs : Choix du délai pour les
tabulations. tab3 et -tabs sont identiques, ils remplacent les
tabulations par des espaces. (voir termio(M)).
- vt0 vt1 : Choix du délai pour les tabulations verticales.
(voir termio(M)).
- xtabs : équivalent à tab3 (SVID3 line discipline).
- echo (-echo) : Echo (ou pas) des caractères tapés.
- echoctl (-echoctl) : Affiche les caractères de contrôle
sous le format ^N ou N est le caractère obtenu en prenant
le code octal ASCII du caractère de contrôle en lui
rajoutant 100. Par exemple le code 00 devient ^@, le code 01 devient
^A, le code 01 devient ^B etc ... Le caractère " delete "
devient ^? (SVID3 line discipline).
- echoe (-echoe) : Affiche (ou pas) les caractères d'effacement
BACKSPACE en BS et SPACE en SP. Ce mode peut perturber l'affichage.
- echok (-echok) : Emet (ou n'émet pas) un NL après
un caractère KILL.
- echoke (-echoke) : Efface les caractères suivant la
méthode choisie par echoe et echoprt. Par défaut
ce sont les séquences BS et SP. (SVID3 line discipline).
- echonl (-echonl) : Emet (ou n'émet pas) NL.
- echoprt (-echoprt) : Voir " stty (C) "
(SVID3 line discipline).
- flusho (-flusho) : Voir " stty (C) " (SVID3
line discipline).
- icanon (-icanon) : Valide (dévalide) le " canonical
input " (gestion des caractères ERASE et KILL).
- iexten (-iexten) : Valide les extensions de SVID3 line dicipline.
Par défaut -iexten est validé : les caractères
de contrôle comme discard, lnext, reprint, and werase ne
sont pas gérés de même que les modes echoctl,
echoke, echoprt, flusho, pendin, and tostop sont ignorés.
- isig (-isig) : Valide (dévalide) la vérification
des caractères de contrôle afin de reconnaître
les caractères INTERRUPT, SWITCH and QUIT.
- lfkc (-lfkc) : Même fonction que echok (-echok); obsolète.
- noflsh (-noflsh) : Dévalide (valide) un flush après
les caractères INTERRUPT or QUIT.
- pendin (-pendin) : voir " stty (C) " (SVID3
line discipline).
- tostop (-tostop) : Empêche (autorise) les process background
de l'utilisateur d'écrire sur le terminal. (seulement si
le shell supporte les job control).
- xcase (-xcase) : Gère (ne gère pas) les upper/lowercase.
Emet (ou pas) un NL après un caractère KILL.
" control-character C " associe le " control-character "
spécifié par son nom au caractère " C ".
Le " control-character " peut être :
erase, kill, intr (interrupt), quit, eof, eol, swtch (switch),
start, stop, ou susp.
Si le svid line discipline est utilisé (SVID3), les " control-characters "
suivants sont possibles : dsusp, flush, lnext, rprnt, and werase.
Si " C " est précédé
par un caret (^), alors la valeur utilisée est le caractère
de contrôle correspondant (Par exemple " ^D "
est un " <CTRL>D ", ^? ou 04 hexa interprété
comme un DELETE). " ^- " dévalide le
caractère de contrôle spécifié par
son nom. (par exemple " stty erase ^- ").
Voir termio(M) et termios(M) pour la définition des caractères
de contrôle.
- line i : Force la line discipline à i dans la gamme
: 0 <= i <= 127.
- line 0 ou line tty : Valide la line discipline à tty.
Voir termio(M).
- line 6 ou line svid : Valide la line discipline à svid
(SVID3). Voir termios(M).
- line \? : Affiche les line diciplines possibles.
- min i et time i : Lorsque -icanon est validé et que
des caractères sont reçus, la lecture des caractères
en entrée ne se termine que lorsque au moins un nombre
égal à " min " caractères
ont été reçus ou le timeout " time "
(en unités de 100 ms) est terminé. Les valeurs possibles
de i vont de 0 à 127. Voir termio (M).
Ces paramètres redéfinissent la taille d'affichage
de l'écran :
- cols n ou columns n : La largeur de l'écran est fixée
à n colonnes.
- rows n : La hauteur de l'écran est fixée à
n lignes.
- xpixels n : La largeur de l'écran est fixée
à n pixels.
- ypixels n : La hauteur de l'écran est fixée
à n pixels.
- ek : Réassigne ERASE à <CTRL>H et KILL
à <CTRL>U.
- evenp or parity : valide parenb et cs7.
- lcase (-lcase) ou LCASE (-LCASE) : Assigne (ou dévalide)
xcase, iuclc et olcuc.
- nl (-nl) : Valide (ou dévalide) icrnl, onlcr. En plus
-nl dévalide inlcr, igncr, ocrnl et onlret.
- oddp : Valide parenb, cs7 et parodd.
- -parity, -evenp, or -oddp Disable parenb, and sets cs8.
- raw : Valide les entrées / sorties en mode raw (sans
gérer : ERASE, KILL, INTERRUPT, QUIT, EOT ni les " output
modes "). " raw " est équivalent
aux paramètres : cs8 -parenb -isig -icanon -xcase -opost
-inpck min 1 time 1
- -raw : Dévalide le mode raw. " -raw "
est équivalent aux paramètres : cs7 parenb brkint
ignpar istrip icrnl ixon isig icanon opost \ eof ^D eol ^@
- sane : Rétabli tous les paramètres à
des valeurs raisonnables. Intéressant lorsqu'un terminal
ne réagit plus correctement. Dans ce cas taper : " <CTRL>Jstty
sane<CTRL>J ". " sane " est
équivalent aux paramètres : cread -clocal brkint
ignpar icrnl ixon -ignbrk -parmrk \ -inpck -inlcr -icncr -iuclc
-ixoff \ isig icanon echo echok -xcase -echoe -echonl -noflsh
-iexten \ opost onlcr -olcuc -ocrnl -onocr -onlret -ofill -ofdel
\ bs0 cr0 ff0 nl0 tab0 vt0
- xscancode est forcé si isscancode est validé.
Les commandes stty peuvent être regroupées dans les
rubriques suivantes :
CLASSE | quelques paramètres
|
Vitesses | : 19200, 9600, 4800 ...
|
Nombre de bits | : csn, istrip ...
|
Parité | : parenb, parodd, ignpar, inpck, parmrk ...
|
Flux hardware | : ctsflow, rtsflow, ortsflow ...
|
Flux software | : ixon, ixoff, ixany ...
|
Scancodes (console) | : isscancode, xscancode, cs2scancode ...
|
Mapping caractères | Validation par opost
En entrée : icrnl, igncr, inlcr, iuclc, xcase ...
En sortie : ocrnl, olcuc, onlcr, onlret, onocr ...
Entrée / Sortie : lcase ...
|
Affichage | : echo ... |
Gestion buffer | : -icanon, min i, time i ...
|
RAZ ligne | : sane |
La commande suivante utilise " stty -g " pour
mémoriser les paramètres actuels, elle dévalide
l'affichage des caractères ainsi que le caractère
de contrôle INTERRUPT et lit une ligne en entrée.
Le paramétrage est ensuite rétabli :
echo "Enter your secret code: \c";old=`stty -g`;stty
-echo intr '^-';read code;stty $old
Le driver SVID3 line discipline n'est pas linké au noyau
Unix par défaut. Pour effectuer le link :
- Editer /etc/conf/sdevice.d/ttsv.
- Changer le " N " en " Y "
et sauvegarder.
- Utiliser link_unix(ADM) pour relinker le noyau.
- Arrêter et redémarrer le système.
Ne pas utiliser -iscancode ou -xscancode sur la console d'un système
compatible PC car le clavier de celui-ci fonctionne toujours en
scancodes.
" stty -a " n'affiche pas l'état xscancode
et cs2scancode si le tty est paramétré avec -isscancode.
Quelques claviers de consoles ne supportent pas le codeset 2/(AT)
mode cs2scancode. Utiliser kbmode(ADM) pour déterminer
si votre clavier supporte ce mode.
De nombreuses combinaisons de paramètres n'ont pas de sens
mais aucune vérification n'est effectuée.
Certaines applications ne supportent pas le changement de taille
de l'écran.
console(HW), kbmode(ADM), ioctl(S), scancode(HW), scanon(M), serial(HW),
termio(M), termios(M), tty(M), vidi(C)