Niveau :
Résumé : ctrl-s ctrl-q ctrl-z ctrl-c blinkd
Aujourd'hui nous allons regarder un passé bientôt oublié, les consoles. Qui s'imagine encore qu'une console puisse être autre que "de jeu", alors qu'elle peut très bien être un meuble. Je dis console pour jouer avec les mots, mais il s'agit ici de terminaux, tous virtuels.
Terminal
Un terminal est un couple clavier/écran qui sert à interagir avec le système. La console est le terminal à travers lequel le noyau discute avec l'utilisateur. Il fut une époque où les terminaux pesaient des dizaines de kilos. De nos jours, ils sont virtuels. Sous linux, en général, il y a 6 terminaux virtuels non graphiques (ctrl-alt-F1 par exemple, et alt-F7 pour ceux qui ne savent pas revenir au mode graphique). Et la console est le terminal (non graphique) en cours d'utilisation. Sur les serveurs graphiques on trouve aussi de nombreux terminaux virtuels (notez que xorg tourne lui-même sur son propre terminal même s'il n'en fait pas vraiment usage).
Un terminal fonctionne en interprétant des caractères qu'il reçoit de son client pour produire un affichage à l'écran. Ainsi certains caractères font des bips ou des retours à la ligne. Et dans l'autre sens, certains caractères envoyés par le terminal au système (depuis le clavier en général) sont des caractères de contrôle.
Par exemple supposons que le texte que vous êtes en train de lire, simplement avec cat, défile trop vite. Une touche spéciale entre en jeu : "Scroll lock", elle interrompt le défilement du texte sur le termial. Et accessoirement, provoque l'allumage de la diode associée pour vous avertir que tout est bloqué. En effet, le programme derrière est réellement bloqué. Tant que le programme effectue des actions qui n'impriment rien, il continue, par contre s'il cherche à écrire quelque chose, il se retrouvera bloqué jusqu'à la fin du scroll lock (un second appui sur la touche).
Des terminaux
Les terminaux de linux disposent de 2 raccourcis qui font la même chose que la touche "scroll lock" : ctrl-s (stop) et ctrl-q (qontinue) respectivement pour bloquer le défilement et pour le faire reprendre. C'est pourquoi il vous arrive parfois de faire une fausse manip et d'avoir l'impression que votre programme est bloqué. Dans ce cas faites d'abord un ctrl-q au cas où le problème viendrait d'un blocage du défilement.
Astuces
Tous les terminaux X ont repris ces raccourcis, par contre ils n'ont pas gardé la touche scroll lock et la diode associée. C'est pourquoi certains utilisent cette dernière pour lancer des sos ou toute autre message avec blinkd .
Donc pensez au ctrl-s lorsque la sortie défile trop vite plutôt que le ctrl-c ou le ctrl-z qui ne font pas exactement ce que vous voulez.
Autre truc sympa, il arrive que vous lanciez une commande et que le défilement soit tellement rapide que le ctrl-c ne fonctionne pas. La première envie est d'ouvrir un autre shell et de tuer le script fautif, mais il y a plus simple. ctrl-s puis ctrl-c parfois suivi d'un ctrl-q pour que le second fasse son effet.