Możliwa duplikat:
Jaka jest dokładna różnica między „terminalem”, „powłoką”, „tty” i „konsolą”?
Zawsze widzę pts i tty, kiedy używam who
polecenia, ale nigdy nie rozumiem, jak się różnią? Czy ktoś może mi to wytłumaczyć?
Możliwa duplikat:
Jaka jest dokładna różnica między „terminalem”, „powłoką”, „tty” i „konsolą”?
Zawsze widzę pts i tty, kiedy używam who
polecenia, ale nigdy nie rozumiem, jak się różnią? Czy ktoś może mi to wytłumaczyć?
Odpowiedzi:
Tty jest rodowitym urządzenie końcowe, backend jest albo sprzęt lub jądra emulowane.
PTY (urządzenie pseudo terminal) jest urządzenie końcowe, które są emulowane przez inny program (np
xterm
,screen
albossh
są takie programy). Pkt jest częścią niewolnikiem PTY .(Więcej informacji można znaleźć w
man pty
.)Krótkie streszczenie :
Element pty jest tworzony przez proces
posix_openpt()
(który zwykle otwiera specjalne urządzenie/dev/ptmx
) i składa się z pary dwukierunkowych urządzeń znakowych:Część główna, która jest deskryptorem pliku uzyskanym przez ten proces w wyniku tego wywołania, służy do emulacji terminala. Po pewnej inicjalizacji drugą część można odblokować za pomocą
unlockpt()
, a master służy do odbierania lub wysyłania znaków do tej drugiej części (slave).Część podrzędna, która jest zakotwiczona w systemie plików, ponieważ
/dev/pts/x
(prawdziwą nazwę można uzyskać przez masterptsname()
) zachowuje się jak natywne urządzenie końcowe (/dev/ttyx
). W większości przypadków uruchamiana jest powłoka, która wykorzystuje ją jako terminal kontrolny.źródło
A
tty
to zwykłe urządzenie końcowe (na przykład konsola na serwerze).A
pts
jest niewolnikiem terminalu psuedo (połączeniexterm
lubssh
połączenie).man pts
ma pełny opis pseudo terminali.źródło