Vraag Waarom is een virtuele terminal 'virtueel' en wat / waarom / waar is de 'echte' terminal?


Ik hoop dat de vraag voor zich spreekt.

Mijn begrip is dat gnome-terminal en konsole zijn virtueel terminals, en ze dienen in feite hetzelfde doel, dat wil zeggen een opdrachtregelomgeving voor verschillende optionele opdrachtinterpreters. (Ik weet niet eens zeker of dat de juiste manier is om ernaar te kijken.)

Ik neem aan dat het echt terminal is waar ik naar occasioneel geteleporteerd wordt door verkeerd in te toetsen Ctrl+alt+F1,F2, enz.

Maar "Er zijn Draken" in dat achterland met een zwart scherm, dus ik ga zo snel weg als ik kan drukken Ctrl+alt+F7 (Ik heb dat ergens geleerd: "Wanneer alles zwart en donker is: druk op de geheime sleutels om terug te keren :)

  • Is / zijn de "echte" terminal (s) de een (en) die achter de Ctrl+alt+F1,F2, etc. sleutels?
  • En wat is er zo 'echt' aan hen versus de 'virtuele'?
  • En hoe verschillen ze? Is het zo simpel als "geen GUI" versus "GUI"?

Postscriptum zijn "console" en "terminal" synoniem?


149
2017-11-21 11:34


oorsprong


Wees niet bang voor de commandolijn. Het kan je leven een stuk gemakkelijker maken voor sommige dingen als je er eenmaal meer vertrouwd mee bent. - Larry Coleman
Verwant: superuser.com/questions/96628/... - Matthew
@ Larry: Aangemoedigd door je woorden, waagde ik me in het drakenhol (Ctrl + Alt + F1), en ik heb me deze keer ingelogd! ... Er was stilte ... maar ik kon mijn aangepaste terminalprompt zien (van het land van X) .. Interessant, dacht ik, en voelde me moedig om het beest te roepen: ik zei "echo $ TERM" ... en zie! het sprak tegen mij! Het zei: "linux" ... Onmiddellijk besefte ik dat hij een neef is van "gnome-terminal" en "konsole" die "xterm" antwoorden. Dus het is tenslotte geen draak, maar eerder een virtuele terminal het emuleren van een linux (echte) terminal. - Peter.O
Wees niet bang voor de Linux-console: hij is een zeer krachtige maar getemde Dragon en hij is je beste vriend wanneer compiz crasht;) - MestreLion
Je mag hem ook een neef van noemen gnome-terminalze dienen immers allemaal hetzelfde doel. Een neef die niet afhankelijk is van een grafische omgeving en is verbonden met een apparaat dat hem wat meer bevoegdheden verleent. - MestreLion


antwoorden:


Mijn inzicht is dat virtuele terminals in wezen hetzelfde doel dienen:   d.w.z. Een opdrachtregelomgeving voor   verschillende optionele commandotolken

Dit is niet helemaal waar. Virtuele terminals zijn slechts programma's die toetsaanslagen verzenden en uitvoer ontvangen (dit wordt Standard In, Standard Out [en Standard Error] genoemd) naar een proces op de achtergrond. Dit is een basis invoer → verwerken → uitgang systeem, en vormt de kern van uw besturingssysteem.


Een teletype (of teleprinter)


Man aan het werk op een computerterminal

Laten we kijken of ik het goed kan uitleggen:

In een Unix-achtig systeem zoals Linux is er het concept van "alles is een bestand". Dat betekent bijvoorbeeld dat uw dvd-station een bestand is (/ dev / sdb1), dat uw toetsenbord een bestand is (/ dev / invoer / toetsenbord) enzovoort.

Een andere set van die magische bestanden zijn de TTY's, waar TTY staat voor Teletype. Een typemachine die toetsaanslagen naar een computer verzendt, die op zijn beurt letters terugstuurt naar de Type Ball. Dit zou een fysiek apparaat, een schrijfmachine op afstand, zijn geweest op dezelfde manier als / dev / lp0 voor uw printer.


  Een hardwareterminal, de VT100

De Teletype-werkstations zouden "consoles" of "terminals" worden genoemd, een virtuele terminal, in tegenstelling tot een echte terminal, dus elke toepassing of machine die dezelfde functionaliteit biedt als deze werkplekafstemming - die toegang heeft tot de computer door toetsaanslagen te verzenden erop en de output erachter te ontvangen, door het op een vel papier af te drukken. Je kunt je voorstellen dat een modem op een vergelijkbare manier werkt.

Terminals, zoals de hierboven afgebeelde, zijn goedkope en simpele computers wedijveren de functionaliteit van een teletype. Wanneer we tegenwoordig terminalemulator zeggen, bedoelen we - op zijn beurt - meestal een programma dat de functionaliteit van een dergelijke machine emuleert.

Er zijn nog steeds terminal-gebaseerde computersystemen in gebruik. Ze worden eigenlijk steeds populairder. In het verleden was de reden voor terminals dat een computer op elk bureau volkomen belachelijk was - waar computers een kamer vulden en enorm duur waren. Het bespaart nu geld en maakt administratie eenvoudig.


een "thin client" - het moderne equivalent van de VT100

Ik hoop dat dit nuttig is. Waarschuw mij als ik een fout heb gemaakt.


Betekent dat dat   Control-Alt-F1, F2, etc zijn ook virtueel   terminals, en het enige verschil   tussen hen en "gnome-terminal" /   "Konsole" is dat ze geen a hebben   GUI?

Ja, eigenlijk. Het verschil tussen TTY1-7 en gnome-terminal is dat het systeem de tty's levert, terwijl gnome-terminal en konsole zelf op een tty (waarop het grafische subsysteem draait) draaien. Deze abstractie kan nog dieper genest worden (bijvoorbeeld x-forwarding, met behulp van het telnet-protocol om als een terminal te fungeren, ...), tenslotte, de mens-computer interface werkt net als elk ander bestand. En kan op dezelfde manier worden doorgesluisd, geabstraheerd en verplaatst.


124
2017-11-21 13:53



Was je antwoord nuttig? ...Absoluut!! ... heel goed uitgelegd ... Ik had nooit een toetsenbord als een bestand gezien, maar het is logisch (een alleen-lezen bestand) ... en een 'thin client' is een term die ik had gehoord over sommige podcasts, maar het ging gewoon over mijn hoofd en ik dacht dat het refereerde aan een nieuwe CPU-architectuur (a-la RISC) .. maar het betekent eigenlijk dat goede ideeën niet weggaan, en dat CICS (of in ieder geval zijn nakomelingen ) is nog steeds springlevend ... erg interessant ... Bedankt (nu heb ik nog wat meer te lezen ... je bent iets begonnen :) - Peter.O
Dit is een beetje willekeurig en heeft niet veel te maken met Linux, maar toch: als je een paar van de basisprincipes wilt leren van hoe een computer werkt, luister dan naar twit.tv/sn - afleveringen 233, 235, 237, 239 en 241. Een serie over "hoe computers werken vanuit de absolute basis", waarbij basic "laag niveau" betekent. Niet veel mensen weten dit, het is heel leuk. - Stefano Palazzo♦
@TokiTahmid whoops! Gecorrigeerd, heel erg bedankt. Het was niet opzettelijk, alleen een fout :) - Stefano Palazzo♦
Mijn herinnering is dat de VT-100 werd beschouwd als een (video) terminal, geen virtuele terminal of terminal-emulator. Veel apparaten die hun eigen microprocessors bevatten, werden beschouwd als terminals, ongeacht andere apparaten die ze nastreefden, zolang ze waren ontworpen om invoer en uitvoer rechtstreeks aan een gebruiker te leveren. Als de computer / menselijke interface is geïmplementeerd in software op een apparaat dat niet bedoeld is als een terminal, zou ik die interface of software een virtuele terminal noemen. Het doel van het totale apparaat is het verschil, niet de gebruikte technologie noch het gebruikte communicatieprotocol. - John S Gruber
@JohnSGruber Je herinnering klopt, de VT100, en zijn verwanten, zijn 'video'-terminals, om ze te onderscheiden van de op papier gebaseerde TTY, de bovenste foto in dit antwoord. De drie voordelen van een VT ten opzichte van een TTY waren veel stiller, geen verspild papier (maar zonder scrollen was dat niet altijd goed) en snelheid - de TTY was vrijwel beperkt tot 110baud (10 char / sec) de VT's konden ga zo hoog als 19,200baud, Iirc. Later kwamen ze zelfs met 'slimme terminals', een VT met de mogelijkheid om wat te verwerken op het binnenkomende signaal en kleur aan de tekst toe te voegen, en zelfs voor een prijs, afbeeldingen. - Gypsy Spellweaver


Vrij zeker noemen van het een "virtuele terminal" is een terugkeer naar wanneer er fysieke terminals waren verbonden met Unix-servers ...


13
2017-11-21 12:15



Oké ... Dat klopt ... "toen" voordat multi-tasking bestond, en het idee ervan was abstract en "virtueel" ... Dus het is hetzelfde idee als een virtuele machine versus een hardware "doos ". - Peter.O
Betekent dit dat Control-Alt-F1, F2, enz. Ook virtuele terminals zijn, en de enkel en alleen verschil tussen hen en "gnome-terminal" / "konsole" is dat ze geen GUI hebben? - Peter.O
@ fred.bear: Neem een ​​kijkje op Wikipedia. - Jamie Schembri
virtueel omdat het menselijke invoer / uitvoeruiteinde van de terminal daadwerkelijk verbinding maakt met een lopend proces (via / dev / pts / *). Niet-virtuele terminals zijn dingen zoals de Linux-tekstconsole (back-end geleverd door kernelcode om toetsaanslagen om te zetten in terminal-invoerfiguren en terminaluitvoer naar tekens op het scherm, inclusief het verwerken van escape-codes voor kleur, cursorbeweging enz.). Of het oudste voorbeeld van een niet-virtuele terminal, de seriële poorten. Terminalafhandeling aangeboden door wat u aansluit op uw seriële poort. U kunt opstarten met de tekstconsole op een seriële poort. - Peter Cordes


Zie naast de bovenstaande antwoorden deze uitgebreide uitleg ot terminals. De TTY is, ondanks zijn schijnbare eenvoud, conceptueel een nogal gecompliceerd onderdeel van Linux.


11
2017-12-07 19:56



Bedankt, loevborg. Het is een heel interessant artikel dat een lange weg gaat om veel van de "mysterieuze" terminologie uit te leggen ... (bijvoorbeeld een "zombie" -proces;) - Peter.O