comment fonctionnent les programmes de console interactive?
Question
Je veux comprendre comment des programmes tels que vim
ou le travail de man
dans une coquille. Comment peuvent-ils laisser le rouleau utilisateur, actualiser l'affichage et tel?
Ils semblent interagir avec une bibliothèque de la console et de manipuler donc ce que nous voyons. Qu'est-ce qui se passe réellement?
La solution
Le terminal a ce qu'on appelle un pilote de terminal . Ce n'est pas un conducteur dans le sens d'une interface au matériel, mais il interprète certaines séquences de caractères qui provoquent à effectuer des opérations telles que le défilement, les attributs de texte, et ainsi de suite.
Les séquences de caractères sont stockées dans la base de données terminfo . Une bibliothèque appelée malédictions (ou son équivalent moderne, ncurses ) lit la base de données terminfo et émet les différentes séquences de caractères en fonction des fonctions appelées.
La séparation de la base de données terminfo à partir du pilote terminal lui-même permet à des programmes pour soutenir un certain nombre de terminaux tels que xterm, la console de texte, les clients du réseau, même à distance des terminaux passifs reliés par l'intermédiaire d'une ligne série.
Autres conseils
Voici une excellente façon à:
Vous voulez sans doute jeter un oeil au chapitre 17 -. Utilisation de la borne