Wat doet het Linux tty-commando? Het toont de naam van de terminal die u gebruikt.
Oorsprong van Linux tty
Wat is de oorsprong van de term “tty”? Nou, dat is wat moeilijker uit te leggen…
Teleprinters van vroeger
Tijdens de jaren 1830 en 1840 werden machines ontwikkeld die teleprinters werden genoemd. Deze apparaten kunnen getypte berichten “door de draad” naar andere plaatsen verzenden. De afzender gebruikte een toetsenbordachtig apparaat om het bericht te typen en het werd aan de ontvangende kant op papier afgedrukt. Ze waren een evolutionaire stap in telegrafie, die voorheen afhankelijk was van Morse.
Berichten werden versleuteld en verzonden, vervolgens gedecodeerd en afgedrukt. Ze werden gecodeerd met behulp van verschillende technieken. De beroemdste, evenals een van de meest productieve, werd in 1874 gepatenteerd door Emile Baudot, naar wie de “baudrate” is vernoemd. Zijn karaktercoderingsmethode ging 89 jaar vooraf aan ASCII.
De codering van Baudot werd uiteindelijk de de facto standaard voor teleprintercodering en werd door de meeste fabrikanten overgenomen. Het originele hardware-ontwerp van Baudot bestond uit slechts vijf toetsen, vergelijkbaar met de piano. Voor elke letter moest de operator een specifieke toetsenreeks onthouden. Het Baudot-coderingssysteem werd later gekoppeld aan een traditionele toetsenbordindeling.
Om die vooruitgang te herdenken, werden de machines teletypewriters genoemd. Het woord teletypes werd afgekort tot TTY’s, wat uiteindelijk de algemene naam werd. Dus hoe zit het met telegrafie en computers?
ASCII en Telex
De teletypefabrikanten namen het in 1963 over en het werd de industriestandaard voor tekstoverdracht. Ondanks de uitvinding en het wijdverbreide gebruik van de telefoon, waren teletypes nog steeds gangbaar.
Telex was een wereldwijd telexnetwerk waarmee schriftelijke communicatie over de hele wereld kon worden verzonden. Het was het belangrijkste middel voor het verzenden van schriftelijke informatie gedurende het post-WO II-tijdperk tot de hausse van de faxmachine in de jaren tachtig.
Computers werden ook beter. Ze waren in staat om in realtime met eindgebruikers in contact te komen en veel mensen te ondersteunen. De oude batchbenadering van werken bleek onvoldoende. Mensen wilden geen 24 uur of langer wachten op hun resultaten. Stapels ponskaarten maken en een nachtje wachten op de uitslag was niet langer acceptabel.
De komst van computers en de ontwikkeling van een nieuwe technologie hebben geleid tot een behoefte aan software waarmee gebruikers gegevens kunnen verzenden en ontvangen. We wilden efficiëntie.
De teletype hergebruikt
De telex was een ideale kandidaat voor een invoer-/uitvoerapparaat omdat het een machine was waarmee berichten konden worden getypt, gecodeerd, verzonden, ontvangen, gedecodeerd en afgedrukt.
De teletype kon het niet schelen als het apparaat aan de andere kant van de link niet een andere teletype was. De teletype was in orde zolang hij dezelfde codeertaal kon spreken. Het gebruikte een min of meer standaard toetsenbord met een enigszins gewijzigde lay-out.
Hardware geëmuleerde teletypes
Teletypes werden de feitelijke manier om te communiceren met grote mini- en mainframecomputers uit die tijd, ter vervanging van telegraafmachines.
Deze werden uiteindelijk verdrongen door apparaten die ze simuleerden met behulp van elektronica, met kathodestraalbuizen (CRT’s) in plaats van papierrollen. Ze beefden niet toen ze de antwoorden van de computer afleverden. Ze maakten voorheen onmogelijke functies mogelijk, zoals het verplaatsen van de cursor over het scherm, het wissen van het scherm en vetgedrukte tekstonder andere.
De DEC VT05 was een vroege virtuele teletype, en zijn afstammeling is de beroemde DEC VT100. Van de DEC VT100 zijn miljoenen exemplaren verkocht.
Software geëmuleerde teletypes
Het terminalvenster en toepassingen zoals x-term en Konsole zijn virtuele teletypes in de Linux-desktopomgeving en andere Unix-achtige besturingssystemen, zoals macOS. Ze zijn echter volledig gesimuleerd. Ze worden nep-teletypes genoemd. Het acroniem werd afgekort tot PTS.
En daar komt het tty-commando van Linux om de hoek kijken.
Over MacOS gesproken, wil je Linux op je iPad installeren?
Wat kan tty doen op Linux?
Er is een “pseudo-teletype multiplexor” in Linux die alle PTS-verbindingen van het terminalvenster afhandelt. De master is de multiplexer en de PTS zijn zijn slaven. De kernel communiceert met de multiplexer via zijn apparaatbestand op /dev/ptmx
Het tty-commando drukt de naam af van het apparaatbestand dat uw pseudo-teletype-slave gebruikt om te communiceren met de master. En dat is in feite het nummer van uw terminalvenster.
Laten we eens kijken wat Linux’s tty meldt:
tty
Het antwoord laat zien dat we zijn verbonden met het apparaatbestand op /dev/pts/0.
Het terminalvenster, dat een software-imitatie is van een teletype, is als een PTS gekoppeld aan de pseudo-teletype-multiplexor. En het is nul.
De stille optie
De -s (stille) optie zorgt ervoor dat tty geen uitvoer genereert.
tty -s
Het levert wel een exit-waarde op als:
0: als standaardinvoer afkomstig is van een TTY-apparaat, geëmuleerd of fysiek.
1: als de standaardinvoer niet van een TTY-apparaat komt.
2: Syntaxisfout, onjuiste opdrachtregelparameters zijn gebruikt.
3: Er is een schrijffout opgetreden.
Dit is vooral handig in Bash-scripts. Maar zelfs op de opdrachtregel kunnen we u laten zien hoe u een opdracht kunt laten uitvoeren als u zich in een terminalvenster bevindt (een TTY- of een PTS-sessie).
tty -s && echo "In a tty"
Omdat we in een TTY-sessie werken, is onze exit-code 0 en wordt het tweede commando uitgevoerd.
Gerelateerd: je moet deze 189 Linux-terminalopdrachten bekijken
Het wie commando
De opdracht “wie” toont alle ingelogde gebruikers. Gebruiker2 en Gebruiker3 zijn op afstand verbonden met de Linux-computer. Ze zijn aangesloten op PTS één en twee. Gebruiker1 wordt weergegeven als verbonden met “:0”. Het apparaatbestand van het scherm en toetsenbord is aangesloten op de multiplexer van de computer. Hoewel het scherm en toetsenbord hardware-apparaten zijn, zijn ze nog steeds via een apparaatbestand aan de multiplexer gekoppeld. tty geeft aan dat het /dev/pts/2 is.
who
Toegang tot een TTY
Door de Ctrl+Alt-toetsen ingedrukt te houden en op een van de functietoetsen te drukken, krijgt u toegang tot een TTY-sessie op volledig scherm. Ctrl+Alt+F3 zal de login-prompt van tty3 oproepen. Als je inlogt en het tty-commando geeft, zul je zien dat je bent verbonden met /dev/tty3.
Dit is geen nep-teletype (geëmuleerd in software); het is een virtuele teletype (geëmuleerd in hardware). Het emuleert een virtuele teletype, zoals de DEC VT100, met het scherm en toetsenbord aangesloten op uw computer. Als je wilt, kun je vier Linux TTY-sessies opzetten door functietoetsen te gebruiken met de combinatie Ctrl+Alt. Als u bijvoorbeeld deze optie selecteert en bent aangemeld bij tty3, drukt u op Ctrl+Alt+F6 om naar tty6 te gaan.
Druk op Ctrl+Alt+F2 om terug te gaan naar uw grafische bureaubladomgeving. Als u een grafische desktopomgeving gebruikt, gaat u door op Ctrl+Alt+F1 te drukken terug naar het inlogscherm van uw grafische desktopsessie. De Linux TTY-consoles op volledig scherm zijn tegelijk toegankelijk met de toetsen Ctrl+Alt+F1 tot Ctrl+Alt+F6, en terugkeren naar uw grafische desktopomgeving is mogelijk via Ctrl+Alt+F7. Als je een oudere Linux-distributie gebruikt, is dit misschien hoe het voor jou werkt.
Dit is getest op de huidige releases van Manjaro, Ubuntu en Fedora en ze gedroegen zich allemaal als volgt:
Ctrl+Alt+F1: brengt u terug naar het inlogscherm van de grafische desktopomgeving.
Ctrl+Alt+F2: Brengt u terug naar de grafische desktopomgeving.
Ctrl+Alt+F3: Opent TTY 3.
Ctrl+Alt+F4: Opent TTY 4.
Ctrl+Alt+F5: Opent TTY 5.
Ctrl+Alt+F6: Opent TTY 6.
Door toegang te hebben tot deze consoles op volledig scherm, kunnen gebruikers die Linux-installaties met alleen de opdrachtregel gebruiken, en veel Linux-servers zijn op deze manier geconfigureerd, meerdere consoles toegankelijk hebben.
Heb je ooit aan een Linux-systeem met een grafische gebruikersinterface gewerkt en is je sessie bevroren? U kunt nu naar een van de TTY-consolesessies gaan om te proberen het probleem op te lossen.
Gebruik top
en ps
om de mislukte toepassing te zoeken en deze vervolgens met kill te beëindigen of gewoon zo gracieus mogelijk af te sluiten.
De 3 kleine letters met een lange geschiedenis
Het tty-commando van Linux dankt zijn naam aan een verouderd apparaat uit de late jaren 1800, dat voor het eerst werd gebruikt in Unix in 1971, en het maakt nog steeds deel uit van Linux en andere Unix-achtige besturingssystemen. Deze kleine kerel heeft een heel verhaal achter zich.