web-dev-qa-db-fra.com

Différence entre pts et tty

Duplicata possible:
Quelle est la différence exacte entre un 'terminal', un 'Shell', un 'tty' et une 'console'?

Je vois toujours pts et tty lorsque j'utilise la commande who mais je ne comprends jamais en quoi ils sont différents? Quelqu'un peut-il m'expliquer cela?

115
pradeepchhetri

Un tty est un périphérique terminal natif, le backend est émulé soit par le matériel, soit par le noyau.

Un pty (périphérique pseudo-terminal) est un périphérique terminal qui est émulé par un autre programme (exemple: xterm, screen ou ssh sont de tels programmes). Un pts est la partie esclave d'un pty .

(Plus d'informations peuvent être trouvées dans man pty.)

court résumé:

Un pty est créé par un processus via posix_openpt() (qui ouvre généralement le périphérique spécial /dev/ptmx), Et est constitué par une paire de dispositifs à caractères bidirectionnels:

  1. La partie maître, qui est le descripteur de fichier obtenu par ce processus via cet appel, est utilisée pour émuler un terminal. Après une certaine initialisation, la deuxième partie peut être déverrouillée avec unlockpt(), et le maître est utilisé pour recevoir ou envoyer des caractères à cette deuxième partie (esclave).

  2. La partie esclave, qui est ancrée dans le système de fichiers comme /dev/pts/x (Le vrai nom peut être obtenu par le maître via ptsname()) se comporte comme un périphérique terminal natif (/dev/ttyx) . Dans la plupart des cas, un shell est démarré qui l'utilise comme terminal de contrôle.

121
Stéphane Gimenez

Un tty est un terminal standard (la console de votre serveur, par exemple).
Un pts est un esclave terminal psuedo (une connexion xterm ou ssh).

man pts a une description détaillée des pseudo-terminaux.

40
rjewell