C'est une fonctionnalité fournie par presque tous, sinon tous, Unix et Unix, comme sur un matériel x86. Fait intéressant, les consoles virtuelles ont été introduites dans un Unix par Microsoft Xenix au début des années quatre-vingt et étaient également disponibles en CP / M simultané.
Cette fonctionnalité a ensuite été intégrée dans AT&T SVR4 Unix, Solaris et empruntée par BSD et Linux.
Pourquoi UNIX / Linux fournit-il plusieurs émulateurs de terminaux?
Lors de leur introduction, aucun environnement graphique n'était disponible pour les machines exécutant ces implémentations Unix. Tout en ayant un terminal physique connecté à un serveur Unix central via des lignes RS232 était la norme, la connexion de plusieurs terminaux à un PC standard exécutant Xenix était exagérée si l'objectif était juste pour un seul utilisateur d'exécuter plusieurs programmes interactifs simultanément. Les terminaux virtuels ont fourni une solution élégante et pratique à ce problème.
D'autres implémentations Unix ont fourni plus tard cette même fonctionnalité pour répondre au même besoin.
Lorsque les environnements graphiques, en particulier X11, se sont répandus, la possibilité de voir plusieurs émulateurs de terminaux en même temps sur le même écran a été une amélioration significative. La fonctionnalité de console virtuelle a cependant été généralement conservée, ne serait-ce que parce qu'il était toujours pratique de pouvoir basculer vers une console si l'environnement graphique était gelé ou dysfonctionnel pour une raison quelconque.
Notez que les utilitaires aiment screen
et tmux
sont venus bien plus tard que les terminaux virtuels pour généraliser la même fonctionnalité. Leur avantage est qu'ils peuvent être utilisés non seulement sur la console physique locale, mais aussi sur ce que session, soit locale ou à distance (par exemple telnet
, ssh
). Lorsqu'elles sont utilisées sur la console physique, les consoles virtuelles sont toujours utiles car elles sont fonctionnelles dans certaines situations où screen
/ tmux
ne peut pas aider, comme si X11 est figé, ou si une fenêtre a capturé le focus et ne le libère pas.
La virtualisation basée sur un conteneur comme les zones Solaris ou Linux LXC fournit également une méthode pour se connecter à la console du conteneur via zlogin -C zone
et lxc-console -t 0 -n container
respectivement.