Co je TTY v systému Linux? (a jak používat příkaz tty)

Co dělá ttypříkaz? Vytiskne název terminálu, který používáte. TTY znamená „dálnopisovač“. Jaký je příběh za názvem příkazu? To vyžaduje trochu více vysvětlení.

Dálnopisové tiskárny od 18. století

Ve 30. a 40. letech 20. století byly vyvinuty stroje známé jako dálnopisné stroje. Tyto stroje mohly posílat napsané zprávy „po drátě“ do vzdálených míst. Zprávy zadával odesílatel na své klávesnici. Na přijímacím konci byly vytištěny na papír. Jednalo se o evoluční krok v telegrafii, který se dříve spoléhal na Morseovy a podobné kódy.

Zprávy byly kódovány a přenášeny, poté přijímány, dekódovány a tisknuty. Ke kódování a dekódování zpráv bylo použito několik technik. Nejslavnější a jeden z nejplodnějších byl patentován v roce 1874 Émile Baudotem, pro kterého je přenosová rychlost pojmenována. Jeho schéma kódování znaků předcházelo datování ASCII o 89 let.

Baudotovo kódování se nakonec stalo nejbližší věcí standardu v kódování dálnopisů a bylo přijato většinou výrobců. Baudotova původní hardwarová konstrukce měla pouze pět kláves, podobně jako klávesy klavíru. Provozovatel byl povinen naučit se konkrétní kombinaci kláves pro každé písmeno. Nakonec byl kódovací systém Baudot spojen s tradičním rozložením klávesnice.

K označení tohoto pokroku byly stroje pojmenovány dálnopisníky. To bylo zkráceno na dálnopisy a nakonec na TTY. Odtud tedy máme zkratku TTY, ale co má telegrafie společného s výpočtem?

ASCII a Telex

Když ASCII dorazil v roce 1963, byl přijat výrobci dálnopisů. Navzdory vynálezu a širokému používání telefonu byly dálnopisy stále silné.

Telex byla celosvětová síť dálnopisů, která umožňovala zasílání písemných zpráv po celém světě. Byli hlavním prostředkem pro přenos písemných zpráv v období po druhé světové válce až do rozmachu faxů v 80. letech.

Počítače se také vyvíjely. Začínali být schopni interakce s uživateli v reálném čase a podpory více uživatelů. Stará dávková metoda práce se stala nedostatečnou. Lidé nechtěli na výsledky čekat 24 hodin nebo déle. Vytváření hromádek děrovaných karet a čekání přes noc na výsledky již nebylo přijatelné.

Lidé potřebovali zařízení, které jim umožní zadávat pokyny a dostávat výsledky zpět. Lidé chtěli efektivitu.

Teletyp byl znovu použit

Teletyp byl dokonalým kandidátem jako vstupní / výstupní zařízení. Bylo to koneckonců zařízení navržené tak, aby umožňovalo psaní, kódování, odesílání, přijímání, dekódování a tisk zpráv.

Co se staralo o dálnopis, když zařízení na druhém konci připojení nebylo jiným dálnopisem? Dokud mluvil stejným kódovacím jazykem a mohl přijímat zprávy a odesílat zprávy zpět, byl dálnopis šťastný.

A samozřejmě to používalo víceméně standardní klávesnici.

Hardware emulované dálnopisy

Teletypy se staly výchozím prostředkem interakce s velkými mini a sálovými počítači té doby.

Nakonec byly nahrazeny zařízeními, která emulovala tyto elektromechanické stroje pomocí elektroniky. Ty měly místo papírových rolí katodové trubice (CRT). Při doručování odpovědí z počítače se netřásli. Povolili dosud nemožné funkce, jako je pohyb kurzoru po obrazovce, vymazání obrazovky, tučný text atd.

DEC VT05 byl časným příkladem virtuálního dálnopisu a předchůdce slavného DEC VT100. Byly prodány miliony DEC VT100.

Software emulované dálnopisy

V desktopovém prostředí Linuxu a dalších unixových operačních systémů, jako je macOS, jsou terminálové okno a aplikace jako x-term a Konsole příklady virtuálních dálnopisů. Ty jsou ale zcela emulovány v softwaru. Nazývají se pseudo-dálnopisy. Toto bylo zkráceno na PTS.

A to je místo, kde ttypřichází.

Co nám může tty říct?

V Linuxu existuje multiplexor pseudo-teletypu, který zpracovává připojení ze všech pseudoteleotypů terminálového okna (PTS). Multiplexor je hlavní a PTS jsou podřízené. Multiplexor je adresován jádrem prostřednictvím souboru zařízení umístěného na / dev / ptmx.

ttyPříkaz vytiskne název souboru zařízení, který svůj pseudo-dálnopisu otrok používá pro komunikaci na master. A to je v podstatě číslo vašeho terminálového okna.

Podívejme se, jaké ttyzprávy pro naše okno terminálu:

tty

Odpověď ukazuje, že jsme připojeni k souboru zařízení na / dev / pts / 0.

Naše terminálové okno, které je softwarovou emulací dálnopisu (TTY), je propojeno s pseudo-dálnopisným multiplexorem jako pseudo-dálnopis (PTS). A stane se číslo nula.

Tichá volba

Možnost -s(tichý) způsobí, ttyže nebude generován žádný výstup.

tty -s

Vytváří výstupní hodnotu, nicméně:

  • 0 : pokud standardní vstup pochází ze zařízení TTY, emulovaného nebo fyzického.
  • 1 : pokud standardní vstup nepřichází ze zařízení TTY.
  • 2 : Chyba syntaxe, byly použity nesprávné parametry příkazového řádku.
  • 3 : Došlo k chybě zápisu.

To bude pravděpodobně nejužitečnější ve skriptu Bash. Ale i na příkazovém řádku můžeme ukázat, jak nechat provést příkaz, pouze pokud běžíte v okně terminálu (relace TTY nebo PTS).

tty -s && echo "In a tty"

Protože jsme spuštěni v relaci TTY, náš kód ukončení je 0 a je proveden druhý příkaz.

Kdo velí

Další příkazy mohou odhalit vaše číslo TTY. whoPříkaz vypíše informace pro všechny přihlášené uživatele, včetně sebe.

Alec a Mary jsou vzdáleně připojeni k počítači s Linuxem. Jsou připojeny k PTS jedna a dvě.

Uživatel dave je zobrazen jako připojený k „: 0“.

To představuje obrazovku a klávesnici fyzicky připojenou k počítači. I když jsou obrazovka a klávesnice hardwarová zařízení, jsou stále připojeny k multiplexoru prostřednictvím souboru zařízení. ttyodhaluje, že je / dev / pts / 2.

SZO
tty

SOUVISEJÍCÍ: Jak určit aktuální uživatelský účet v systému Linux

Přístup k TTY

Celoobrazovkovou relaci TTY můžete otevřít podržením kláves Ctrl + Alt a stisknutím jedné z funkčních kláves.

Ctrl + Alt + F3 vyvolá výzvu k přihlášení tty3.

Pokud se přihlásíte a ttyvydáte příkaz, uvidíte, že jste připojeni k / dev / tty3.

Toto není pseudotyp (emulovaný v softwaru); je to virtuální dálnopis (emulovaný v hardwaru). Používá obrazovku a klávesnici připojenou k vašemu počítači k emulaci virtuálního dálnopisu, jaký kdysi používal DEC VT100.

Můžete použít funkční klávesy Ctrl + Alt s funkčními klávesami F3 až F6 a mít otevřené čtyři relace TTY, pokud se rozhodnete. Můžete být například přihlášeni do tty3 a stisknutím Ctrl + Alt + F6 přejdete na tty6.

Chcete-li se vrátit do grafického prostředí pracovní plochy, stiskněte Ctrl + Alt + F2.

Stisknutím kláves Ctrl + Alt + F1 se vrátíte k výzvě k přihlášení ke své grafické relaci na ploše.

Najednou by Ctrl + Alt + F1 až Ctrl + Alt + F6 otevřely konzoly TTY na celou obrazovku a Ctrl + Alt + F7 by vás vrátily do vašeho grafického desktopového prostředí. Pokud používáte starší distribuci Linuxu, může se chovat váš systém tímto způsobem.

To bylo testováno na aktuálních verzích Manjaro, Ubuntu a Fedora a všichni se chovali takto:

  1. Ctrl + Alt + F1 : Vrátí vás na přihlašovací obrazovku grafického prostředí pracovní plochy.
  2. Ctrl + Alt + F2 : Vrátí vás do grafického prostředí plochy.
  3. Ctrl + Alt + F3 : Otevře TTY 3.
  4. Ctrl + Alt + F4 : Otevře TTY 4.
  5. Ctrl + Alt + F5 : Otevře TTY 5.
  6. Ctrl + Alt + F6 : Otevře TTY 6.

Přístup k těmto konzolám na celou obrazovku umožňuje lidem, kteří používají instalace systému Linux pouze z příkazového řádku - a mnoho serverů Linux je nakonfigurováno tímto způsobem - mít k dispozici více konzolí.

Pracovali jste někdy na stroji Linux s grafickým desktopovým prostředím a něco způsobilo, že vaše relace zamrzla? Nyní můžete přejít na jednu z relací konzoly TTY, abyste se mohli pokusit situaci napravit.

Můžete použít topa pspokusit se identifikovat vadnou aplikaci, pak použít killk jejímu ukončení, nebo se jen shutdownpokusit zavřít tak elegantně, jak to stav počítače dovolí.

SOUVISEJÍCÍ: Jak zabít procesy z terminálu Linux

Tři malá písmena se spoustou historie

ttyPříkaz dostane jeho jméno ze zařízení z konce roku 1800, se objevil v Unix v roce 1971 a je součástí Linux a Unix-like operační systémy až do dnešního dne.

Malý chlapík má za sebou docela příběh.