Travailler sur un terminal Unix et tout d'un coup le terminal se fige après avoir appuyé sur Ctrl+S ? Eh bien, avez-vous constaté le même comportement lorsque vous éditiez un fichier à l'aide de Vi ? Pas de problème, ce tutoriel vous aidera à le reprendre. Généralement, la plupart des éditeurs vous permettent d'enregistrer un fichier en utilisant Ctrl+S et nous faisons de même avec les terminaux Unix et Vi éditeur et seulement pour voir ceux geler. Malheureusement, appuyer sur Ctrl+S dans un terminal Unix ou Vi l'éditeur gèlera l'écran. Pourquoi se comporte-t-il ainsi ?
Pourquoi Ctrl+S bloque l'éditeur Vi et le terminal Unix ?
Pour en comprendre la raison, il faut remonter à l'histoire. Oui, à l'époque où les modèles Teletype (un téléimprimeur électromécanique) ont été conçus, bien avant que les ordinateurs n'existent. Ces modèles utilisaient un contrôle de flux logiciel - par exemple, si l'imprimante ne pouvait pas imprimer les données aussi rapidement que le télétype recevait des données, alors le télétype enverrait XOFF (Arrêtez de transmettre pour l'instant) le signal à la machine envoyant des données, puis pour le reprendre, il enverrait XON signal.
Les équivalents clavier de Ctrl+S pour XOFF et Ctrl + Q pour XON survivent encore dans les émulateurs de terminaux modernes sous Unix - les émulateurs de terminaux émulent généralement les terminaux physiques (comme VT100), ce qui ressemble au fonctionnement des télétypes. C'est la raison, Ctrl+S gèle le terminal et il vous suffit d'appuyer sur Ctrl+Q pour le reprendre à la normale.
Comment dégeler l'éditeur Vi ou le terminal Unix ?
Vous pouvez débloquer ou reprendre le terminal en utilisant Ctrl+Q .