Possível duplicata:
Qual é a diferença exata entre um 'terminal', um 'shell', um 'tty' e um 'console'?
Eu sempre vejo pts e tty quando uso o who
comando, mas nunca entendo como eles são diferentes? Alguém pode me explicar isso?
Possível duplicata:
Qual é a diferença exata entre um 'terminal', um 'shell', um 'tty' e um 'console'?
Eu sempre vejo pts e tty quando uso o who
comando, mas nunca entendo como eles são diferentes? Alguém pode me explicar isso?
Respostas:
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
, oussh
sã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: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).A parte escrava, que está ancorada no sistema de arquivos como
/dev/pts/x
(o nome real pode ser obtido pelo mestreptsname()
) se comporta como um dispositivo terminal nativo (/dev/ttyx
). Na maioria dos casos, é iniciado um shell que o utiliza como um terminal de controle.fonte
A
tty
é um dispositivo de terminal comum (o console do seu servidor, por exemplo).A
pts
é um escravo do terminal psuedo (umaxterm
ou umassh
conexão).man pts
tem uma descrição detalhada dos pseudo terminais.fonte