Page suivantePage précédenteTable des matières

9. Émulation de terminal ; la console

9.1 Émulation de terminal

Introduction à l'émulation de terminal

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.

N'utilisez pas TERM pour l'émulation

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.

Programmes de communications (appels téléphoniques)

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).

Émulation sous X Window

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.

Les vrais terminaux sont mieux

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.

9.2 Tester l'émulation du terminal

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/.

9.3 La console Linux

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.


Page suivantePage précédenteTable des matières