Diferença entre pts e tty

Respostas:

111

Um tty é um dispositivo terminal nativo, o back-end é emulado por hardware ou kernel.

Um Pty (dispositivo de pseudo-terminal) é um dispositivo de terminal que é emulada por um outro programa (exemplo: xterm, screen, ou sshsão tais programas). Um pts é a parte escrava de um pty .

(Mais informações podem ser encontradas em man pty.)

Breve resumo :

Um pty é criado por um processo através posix_openpt()(que normalmente abre o dispositivo especial /dev/ptmx) e é constituído por um par de dispositivos de caracteres bidirecionais:

  1. A parte principal, que é o descritor de arquivo obtido por este processo através desta chamada, é usada para emular um terminal. Após alguma inicialização, a segunda parte pode ser desbloqueada unlockpt()e o mestre é usado para receber ou enviar caracteres para essa segunda parte (escrava).

  2. A parte escrava, que está ancorada no sistema de arquivos como /dev/pts/x(o nome real pode ser obtido pelo mestre ptsname()) se comporta como um dispositivo terminal nativo ( /dev/ttyx). Na maioria dos casos, é iniciado um shell que o utiliza como um terminal de controle.

Stéphane Gimenez
fonte
O que você quer dizer com back-end é hardware?
Motivado
@Motivated: en.wikipedia.org/wiki/Computer_terminal
Stéphane Gimenez
Obrigado. Entendo que é uma referência histórica em oposição ao uso contemporâneo, ou seja, costumava ser apoiado por hardware.
Motivado
38

A ttyé um dispositivo de terminal comum (o console do seu servidor, por exemplo).
A ptsé um escravo do terminal psuedo (uma xtermou uma sshconexão).

man pts tem uma descrição detalhada dos pseudo terminais.

rjewell
fonte