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. 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é 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. En agissant ainsi, on déclare faussement que le terminal que l'on est en train d'utiliser (de type Linux) est d'un autre type -- mais il ne l'est pas. C'est comme si on avait branché un terminal de type A sur un port série et ensuite positionné TERM sur le type B, déclarant ce faisant que le terminal est de type B. Dans ce cas, les applications comme les éditeurs qui utilisent la variable TERM enverront des séquences d'échappement faites pour un terminal de type B vers un terminal de type A ce qui aura pour résultat de corrompre l'interface. Même avec cette corruption le terminal peut rester utilisable puisque beaucoup de terminaux de types différents utilisent des séquences d'échappement identiques pour beaucoup de commandes (mais pas toutes).
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 vrai terminal 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. Certains terminaux réels peuvent émuler divers autres modèles de terminaux mais restent de vrais terminaux.
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.