Puisqu'un PC possède un écran et un clavier (comme un terminal) mais possède aussi bien plus de puissance de calcul, il est facile d'utiliser une partie de cette puissance de calcul pour que le PC se comporte comme un terminal texte. Voici un type d'émulation de terminal. Un autre type d'émulation de terminal est de configurer un vrai terminal pour qu'il émule un terminal de modèle ou de marque différents. Pour ce faire, sélectionnez l'émulation désirée (que le jargon Wyse appelle "personnalité") à partir du menu de paramétrage du terminal. Cette section parle du premier type d'émulation : l'émulation d'un terminal sur un PC.
Les logiciels d'émulation sont disponibles pour MS Windows et sont intégrés dans les versions récentes de MS Windows. La plupart des logiciels Linux ne peuvent émuler que des VT100, VT102 ou VT100/ANSI. Si vous en trouvez d'autres, dites-le moi. Puisque la plupart des PC possèdent des moniteurs couleur mais que les VT100 et VT102 ont été faits pour des terminaux monochromes, l'émulation ajoute en général des possibilités de gestion de couleurs (et un choix de couleurs). Parfois l'émulation n'est pas parfaite à 100 % mais ceci ne crée en général que peu de problèmes. Pour utiliser un Macintosh pour émuler un terminal, voyez le mini-Howto : Mac-Terminal.
Certaines personnes ont pensé, de manière incorrecte, qu'ils pouvaient faire un émulateur sur la console Linux (le moniteur) en positionnant la variable d'environnement TERM sur le type de terminal qu'elles aimeraient émuler. Ceci ne fonctionne pas. La valeur de TERM ne fait qu'indiquer à l'application le terminal que vous utilisez. Ainsi elle n'a pas besoin de vous le demander directement. Si vous êtes sur le moniteur du PC, c'est un terminal de type "Linux" et vous ne pouvez rien y faire. Vous devez donc positionner TERM à "Linux".
Si vous mettez autre chose, vous racontez des bobards à votre application. En conséquence, elles interpréteront certaines séquences d'échappement provenant de la console de manière incorrecte, ce qui donnera une interface corrompue. Puisque la console Linux se comporte presque comme un terminal vt100, elle pourrait encore fonctionner correctement si vous indiquiez que c'est un vt100 (ou tout autre terminal qui ressemble à un vt100). Cela doit marcher la plupart du temps, mais il suffit d'une fois pour qu'il y ait une erreur quand vous editez ou equivalent.
Un programme d'émulation est souvent couplé à un programme d'appel par modem
(comme Minicom, Seyon ou Kermit) pour que l'on puisse (par exemple) appeler
par téléphone des bibliothèques publiques pour utiliser leurs catalogues et
index (ou même lire des articles de magazine). Seyon ne s'utilise qu'avec X
Window et peut émuler des terminaux Tektronix 4014. Des émulateurs existent
pour DOS comme telix
et procomm
et fonctionnent aussi bien. Les
terminaux émulés sont souvent les vieux VT100, VT102 ou ANSI (comme VT100).
Xterm (obsolète ??) peut fonctionner sous X Window et permet d'émuler un
VT102, VT220 ou Tektronix 4014. Il y a aussi une émulation xterm (bien qu'il
n'y ait pas de terminal physiques qui s'appelle "xterm"). Si vous n'avez pas
besoin de l'émulation Tektronix 4014 (un terminal avec des vecteurs
graphiques ; voyez
terminaux graphiques)
vous pouvez utiliser eterm
. Les prédécesseurs de eterm
sont
rxvt
et xvt
. eterm
supporte les pixmaps en fond de fenêtre.
Pour les alphabets différents de Latin, kterm permet l'émulation de terminal Kanji (ou tout autre alphabet non Latin) alors que xcin est fait pour le chinois. Il y a aussi l'émulateur 9term. Il semble que ce soit plus qu'un simple émulateur puisqu'il possède un éditeur intégré et des barres de défilement. Il a été fait pour Plan 9, un système d'exploitation à la Unix de AT&T.
Sauf si vous utilisez X Window avec un grand affichage, il est plus agréable d'utiliser un vrai terminal que de l'émuler. Il coûte en général moins cher, a une meilleur résolution pour le texte et n'a pas de lecteurs de disques qui font des bruits agaçants.
Pour la série des terminaux VT il y a un programme de test : vttest
pour
aider à déterminer si un terminal se comporte correctement comme un vt53,
vt100, vt102, vt220, vt320, vt420, etc. Il n'y a pas de documentation mais il
a des menus et est facile à utiliser. Pour le compiler lancez le script
configure et ensuite tapez "make". On peut le charger à :
ftp://ftp.clark/net:/pub/dickey/vttest/. Un autre site de chargement
est :
http://metalab.unc.edu/pub/Linux/utils/console/.
La console d'un système PC sous Linux est le moniteur de l'ordinateur. Il émule un terminal de type "Linux". Il n'y a pas moyen (sauf si vous voulez passer des jours à réécrire le code du noyau) pour le faire émuler autre chose. Positionner la variable d'environnement TERM à un type de terminal différent de "Linux" n'aboutira pas à l'émulation de cet autre terminal. Vous n'obtiendrez qu'une interface corrompue puisque vous avez déclaré faussement (par l'intermédiaire de la variable TERM) que votre "terminal" est d'un type différent de ce qu'il est. Voyez la section n'utilisez pas TERM pour l'émulation.
L'émulation "Linux" est souple et possède des possibilités qui vont bien au-delà de celles du terminal vt102 qu'il était censé émuler. Celles-ci comprennent la possibilité d'utiliser des fontes personnalisées et de reconfigurer facilement le clavier (sans modifier le code source et recompiler le noyau comme il faut le faire dans le cas d'un terminal réel). Ces possibilités supplémentaires se trouvent dans le logiciel de pilotage de la console et non dans le logiciel d'émulation mais le résultat fait qu'on dirait que ces possibilités font partie de l'émulation.
Beaucoup de commandes existent (voyez le HOWTO Keyboard-and-Console) pour utiliser ces possibilités supplémentaires. Les vrais terminaux, qui n'utilisent ni codes de balayages (scancodes) ni carte VGA, ne peuvent malheureusement pas utiliser la plupart de ces possibilités. On peut recompiler Linux pour qu'un terminal reçoive les messages qui vont normalement sur la console. Voyez transformer un terminal en console.