Un tty est un terminal natif, le backend est émulé soit par le matériel, soit par le noyau.
Un pty (pseudo-terminal) est un 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 dispositif spécial /dev/ptmx
), et est constitué d'une paire de dispositifs de caractères bidirectionnels :
-
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 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 seconde partie (esclave). -
La partie esclave, qui est ancrée dans le système de fichiers en tant que
/dev/pts/x
(le vrai nom peut être obtenu par le maître viaptsname()
) se comporte comme un terminal natif (/dev/ttyx
). Dans la plupart des cas, un shell est démarré qui l'utilise comme terminal de contrôle.
Un tty
est un terminal ordinaire (la console de votre serveur, par exemple).
Un pts
est un pseudo-terminal esclave (un xterm
ou un ssh
lien).
man pts
a une description détaillée des pseudo-terminaux.