web-dev-qa-db-fra.com

Que signifient pty et tty?

J'ai remarqué qu'il y a beaucoup de mentions de pty et tty dans certains projets opensource, quelqu'un pourrait-il me dire ce qu'ils veulent dire et quelle est la différence entre eux? Merci!

218
why

"tty" signifiait à l'origine "télétype" et "pty" signifiait "pseudo-télétype".

Sous UNIX,/dev/tty * désigne tout périphérique agissant comme un "télétype", c’est-à-dire un terminal. (Appelé télétype parce que c'est ce que nous avions pour les terminaux ces jours-ci.)

Un pty est un pseudotype, une entrée de périphérique qui agit comme un terminal pour le processus de lecture et d'écriture, mais est gérée par autre chose. Ils sont d'abord apparus (si je me souviens bien) pour X Window et screen, etc., où vous aviez besoin de quelque chose qui fonctionne comme un terminal mais qui puisse être utilisé depuis un autre programme.

208
Charlie Martin

Un terminal est un terminal (il signifie téléscripteur - les terminaux d’origine utilisaient une imprimante ligne pour la sortie et un clavier pour la saisie!). Un terminal est essentiellement un périphérique d'interface utilisateur qui utilise du texte pour les entrées et les sorties.

Un pty est un pseudo-terminal - c'est une implémentation logicielle qui apparaît au programme attaché comme un terminal, mais au lieu de communiquer directement avec un "vrai" terminal, il transfère les entrées et les sorties vers un autre programme.

Par exemple, lorsque vous entrez sur une machine et exécutez ls, la commande ls envoie sa sortie à un pseudo-terminal, dont l'autre côté est associé au démon SSH.

222
caf

tty: téléscripteur. Fait généralement référence aux ports série d'un ordinateur, auxquels des terminaux étaient connectés.

pty: pseudoteletype. Port pseudosériel fourni par le noyau connecté à des programmes émulant des terminaux, tels que xterm ou screen.

18
wnoise

Si vous exécutez la commande mount sans argument de ligne de commande, qui affiche les systèmes de fichiers montés sur votre système, vous remarquerez une ligne ressemblant à ceci: none sur/dev/pts type devpts (rw, gid = 5, mode = 620) Cela indique qu'un type spécial de système de fichiers, devpts, est monté sur/dev/pts. Ce système de fichiers, qui n'est associé à aucun périphérique matériel, est un système de fichiers "magique" créé par le Noyau Linux. C’est similaire au système de fichiers/proc

Comme le répertoire/dev,/dev/pts contient des entrées correspondant aux périphériques. Mais contrairement à/dev, qui est un répertoire ordinaire,/dev/pts est un répertoire spécial créé dynamiquement par le noyau Linux. Le contenu du répertoire varie dans le temps et reflète l'état du système en cours d'exécution. Les entrées dans/dev/pts correspondent à des pseudo-terminaux (ou pseudo-TTY ou PTY).

Linux crée un PTY pour chaque nouvelle fenêtre de terminal que vous ouvrez et affiche une entrée correspondante dans/dev/pts. Le périphérique PTY se comporte comme un terminal: il accepte les entrées du clavier et affiche le texte des programmes qui y sont exécutés. . Les PTY sont numérotés et le numéro PTY est le nom de l'entrée correspondante dans/dev/pts.

Par exemple, si le numéro PTY de la nouvelle fenêtre de terminal est 7, appelez cette commande à partir d’une autre fenêtre:% echo "Je suis un di virtuel">/dev/pts/7. Le résultat apparaît dans la nouvelle fenêtre de terminal.

17
nikolaos_mparoutis