Što je TTY na Linuxu? (i kako koristiti naredbu tty)

Što radi ttynaredba? Ispisuje naziv terminala koji koristite. TTY je kratica za „teletekter“. Koja je priča iza naziva naredbe? Za to treba malo više objasniti.

Teleprinteri Od 1800-ih

U 1830-ima i 1840-ima razvijeni su strojevi poznati kao teleprinteri. Ti bi strojevi mogli slati otkucane poruke "niz žicu" na udaljena mjesta. Poruke je otkucao pošiljatelj na svojevrsnoj tipkovnici. Otisnuti su na papiru na prijemnom kraju. Oni su bili evolucijski korak u telegrafiji, koji se prije oslanjao na Morseove i slične kodove.

Poruke su kodirane i prenesene, zatim primljene, dekodirane i ispisane. Za kodiranje i dekodiranje poruka korišteno je nekoliko tehnika. Najpoznatiji i jedan od najplodnijih patentirao je 1874. Émile Baudot, po kojemu je brzina prijenosa i dobila ime. Njegova shema kodiranja znakova unaprijed datira ASCII za 89 godina.

Baudotovo kodiranje na kraju je postalo najbliže standardu u kodiranju teleprintera, a prihvatilo ga je većina proizvođača. Baudotov izvorni hardverski dizajn imao je samo pet tipki, slično tipkama klavira. Operator je trebao naučiti određenu kombinaciju tipki za svako slovo. Na kraju je sustav kodiranja Baudot povezan s tradicionalnim rasporedom tipkovnice.

Kako bi obilježili taj napredak, strojevi su nazvani teletekteri. To je skraćeno na teletipove i na kraju na TTY. Dakle, odatle dobivamo kraticu TTY, ali kakve veze telegrafija ima s računalstvom?

ASCII i Telex

Kada je ASCII stigao 1963. godine, usvojili su ga proizvođači teletipova. Unatoč izumu i širokoj upotrebi telefona, teletipovi su i dalje bili snažni.

Telex je bio svjetska mreža teletipova koja je omogućavala slanje pisanih poruka širom svijeta. Oni su bili glavno sredstvo za prijenos pisanih poruka u razdoblju nakon Drugog svjetskog rata do procvata faksova 1980-ih.

Računala su se također razvijala. Postajali su sposobni komunicirati s korisnicima u stvarnom vremenu i podržavati više korisnika. Stara šaržna metoda rada postala je nedovoljna. Ljudi nisu željeli čekati 24 sata ili duže na svoje rezultate. Stvaranje hrpa bušenih karata i čekanje rezultata preko noći više nije bilo prihvatljivo.

Ljudima je trebao uređaj koji će im omogućiti unos uputa i vraćanje rezultata. Ljudi su željeli efikasnost.

Teletip preuređen

Teletip je bio savršen kandidat za ulazno / izlazni uređaj. Napokon je to bio uređaj dizajniran da omogućuje tipkanje, kodiranje, slanje, primanje, dekodiranje i ispis poruka.

Što je teletektu bilo stalo ako uređaj na drugom kraju veze nije drugi teletip? Sve dok je govorio istim jezikom za kodiranje i mogao primati poruke i slati poruke natrag, teletajp je bio zadovoljan.

I naravno, koristila je više-manje standardnu ​​tipkovnicu.

Hardverski oponašani teletipovi

Teletipovi su postali zadani način interakcije s velikim mini i mainframe računalima tog doba.

Na kraju su ih zamijenili uređaji koji su pomoću elektronike oponašali te elektromehaničke strojeve. Imali su katodne cijevi (CRT-e) umjesto role papira. Nisu se tresli kad su davali odgovore s računala. Dopustili su dosad nemoguće funkcije, poput pomicanja kursora oko zaslona, ​​čišćenja zaslona, ​​podebljavanja teksta itd.

DEC VT05 bio je rani primjer virtualnog teletipa i predak poznatog DEC VT100. Prodani su milijuni DEC VT100.

Softverski emulirani teletipovi

U radnom okruženju Linuxa i drugih Unixu sličnih operativnih sustava poput macOS-a, prozor terminala i aplikacije poput x-term i Konsole primjeri su virtualnih teletipova. Ali oni se u potpunosti oponašaju u softveru. Zovu se pseudo-teletipovi. To je skraćeno na PTS.

I tu ttydolazi.

Što nam tty može reći?

U Linuxu postoji pseudo-teletipski multipleksor koji upravlja vezama sa svih pseudo-teletipova prozora terminala (PTS). Multipleksor je glavni, a PTS su robovi. Jezgru se multiplexoru obraća putem datoteke uređaja koja se nalazi na / dev / ptmx.

ttyNaredba će ispisati ime datoteke uređaja koji pseudo-teleprinter rob koristi sučelje na master. A to je zapravo broj vašeg prozora terminala.

Pogledajmo koja ttyizvješća za naš prozor terminala:

tty

Odgovor pokazuje da smo povezani s datotekom uređaja na / dev / pts / 0.

Naš terminalni prozor, koji je softverska emulacija teletipa (TTY), povezan je s pseudo-teletipskim multipleksorom kao pseudo-teletajp (PTS). A dogodi se da je broj nula.

Tiha opcija

Opcija -s(tiho) uzrokuje ttyda ne generira izlaz.

tty -s

Međutim, proizvodi izlaznu vrijednost:

  • 0 : ako standardni ulaz dolazi s TTY uređaja, emuliran ili fizički.
  • 1 : ako standardni ulaz ne dolazi s TTY uređaja.
  • 2 : Sintaksna pogreška, korišteni su netočni parametri naredbenog retka.
  • 3 : Dogodila se pogreška pri pisanju.

Ovo će vjerojatno biti najkorisnije u Bash skriptiranju. Ali, čak i na naredbenom retku, možemo pokazati kako izvršiti naredbu samo ako radite u prozoru terminala (TTY ili PTS sesija).

tty -s && echo "U tty"

Budući da radimo u TTY sesiji, naš je izlazni kod 0, a izvršava se druga naredba.

Tko zapovijeda

Druge naredbe mogu otkriti vaš TTY broj. whoNaredba će popis informacija za sve prijavljene korisnike, uključujući i sebe.

Alec i Mary su daljinski povezani s Linux računalom. Spojeni su na PTS jedan i dva.

Korisnički dave prikazan je kao povezan s “: 0”.

Ovo predstavlja zaslon i tipkovnicu koji su fizički povezani s računalom. Iako su zaslon i tipkovnica hardverski uređaji, i dalje su povezani s multipleksorom putem datoteke uređaja. ttyotkriva da je / dev / pts / 2.

Who
tty

POVEZANO: Kako odrediti trenutni korisnički račun u Linuxu

Pristup TTY-u

TTY sesiji na cijelom zaslonu možete pristupiti držanjem tipki Ctrl + Alt i pritiskom na jednu od funkcijskih tipki.

Ctrl + Alt + F3 prikazat će upit za prijavu tty3.

Ako se prijavite i ttyizdate naredbu, vidjet ćete da ste povezani s / dev / tty3.

Ovo nije pseudoteletip (oponaša se u softveru); to je virtualni teletaj (oponašan u hardveru). Koristi zaslon i tipkovnicu spojene na vaše računalo da bi oponašao virtualni tip teleta kao što je to nekada radio DEC VT100.

Možete koristiti funkcijske tipke Ctrl + Alt s funkcijskim tipkama F3 do F6 i ako želite, otvorit će se četiri TTY sesije. Na primjer, možete biti prijavljeni u tty3 i pritisnuti Ctrl + Alt + F6 da biste prešli na tty6.

Da biste se vratili u grafičko okruženje radne površine, pritisnite Ctrl + Alt + F2.

Pritiskom na Ctrl + Alt + F1 vratit ćete se na upit za prijavu vaše grafičke sesije radne površine.

Jednom bi Ctrl + Alt + F1 do Ctrl + Alt + F6 otvorio TTY konzole preko cijelog zaslona, ​​a Ctrl + Alt + F7 vratio bi vas u vaše grafičko okruženje radne površine. Ako koristite stariju Linux distribuciju, vaš se sustav možda tako ponaša.

Ovo je testirano na trenutnim izdanjima Manjaro, Ubuntu i Fedora i svi su se ponašali ovako:

  1. Ctrl + Alt + F1 : Vraća vas na zaslon za prijavu u grafičko okruženje radne površine.
  2. Ctrl + Alt + F2 : Vraća vas u grafičko okruženje radne površine.
  3. Ctrl + Alt + F3 : otvara TTY 3.
  4. Ctrl + Alt + F4 : otvara TTY 4.
  5. Ctrl + Alt + F5 : otvara TTY 5.
  6. Ctrl + Alt + F6 : otvara TTY 6.

Pristup ovim cjelovitim zaslonima omogućuje ljudima koji koriste instalacije Linuxa samo s naredbenim retkom - a mnogi su poslužitelji Linux konfigurirani na ovaj način - da imaju na raspolaganju više konzola.

Jeste li ikad radili na Linux stroju s grafičkim radnim okruženjem i je li vam nešto zamrzlo sesiju? Sada možete prijeći na jednu od sesija TTY konzole kako biste pokušali ispraviti situaciju.

Možete upotrijebiti topi pspokušati identificirati neuspjeli program, a zatim killga prekinuti ili jednostavno shutdownpokušati zatvoriti onoliko graciozno koliko dopušta stanje računala.

POVEZANO: Kako ubiti procese s Linux terminala

Tri mala slova s ​​puno povijesti

ttyNaredbu dobiva svoje ime iz uređaja od kasnih 1800-ih, pojavio u Unix 1971. godine, a dio je Linux i Unix-like operativnih sustava do danas.

Mali momak ima popričinu iza sebe.