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
albo ssh
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 master ptsname()
) 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.