it-swarm-eu.dev

Rozdíl mezi body a tty

Možný duplikát:
Jaký je přesný rozdíl mezi 'terminálem', 'Shell', 'tty' a 'konzolí'?

Když používám příkaz who, vždy vidím body a tty, ale nikdy nechápu, jak se liší? Může mi to někdo prosím vysvětlit?

115
pradeepchhetri

A tty je nativní terminálové zařízení, backend je emulován hardwarem nebo jádrem.

A pty (pseudo terminálové zařízení) je terminálové zařízení, které je emulováno jiným programem (příklad: xterm, screen nebo ssh jsou takové programy). A pts je podřízená část pty .

(Více informací naleznete v man pty.)

Krátké shrnutí:

A pty je vytvořeno procesem pomocí posix_openpt() (který obvykle otevírá speciální zařízení /dev/ptmx) A je tvořené dvojicí obousměrných znakových zařízení:

  1. Hlavní část, která je deskriptorem souboru získaným tímto procesem prostřednictvím tohoto volání, se používá k emulaci terminálu. Po určité inicializaci lze druhou část odemknout pomocí funkce unlockpt() a master se používá k přijímání nebo odesílání znaků do této druhé části (slave).

  2. Slave část, která je zakotvena v souborovém systému jako /dev/pts/x (Skutečné jméno lze získat masterem prostřednictvím ptsname()), se chová jako nativní terminálové zařízení (/dev/ttyx) . Ve většině případů je spuštěno prostředí, které je používá jako ovládací terminál.

121

tty je běžné terminálové zařízení (například konzola na vašem serveru).
pts je slave terminálu psuedo (připojení xterm nebo ssh).

man pts obsahuje podrobný popis pseudo terminálů.

40
rjewell