Terminaaliemulaattori

Linux.fista
Versio hetkellä 16. maaliskuuta 2009 kello 15.56 – tehnyt LP (keskustelu | muokkaukset) (pääteikkuna; w Komentorivin perusteet; päätetyypit)
Siirry navigaatioon Siirry hakuun
Yakuake-terminaaliemulaattori KDE-työpöydällä.

Terminaali- eli pääte-emulaattori (kuten Xterm, Konsole tai gnome-terminal) on ohjelma, joka emuloi jotakin päätetyyppiä komentotulkin tai muun tekstipohjaista tilaa vaativan ohjelman ajamista varten. Yleensä pääte-emulaattori ajetaan X:n ikkunassa, josta silloin usein käytetään nimitystä pääteikkuna.

Termillä pääte tarkoitetaan tietokoneeseen esimerkiksi sarjakaapelilla liitettyä "tyhmää" päätettä, jolla ei itsellään ole kykyä ajaa ohjelmia, vaan se vain toimii eräänlaisena ylimääräisenä näyttö/näppäimistö-parina. Päätteet kokivat kukoistustaan ennen mikrokokoisten PC-koneiden aikaa, jolloin tietokoneita käytettiin yleensä juuri päätteiden kautta. Vaikka PC-koneet ovatkin syrjäyttäneet perinteiset päätteet lähes kokonaan, on Unix-järjestelmissä säilynyt tuki niiden käyttämiselle. Nykyaikainen versio päätteistä on esimerkiksi LTSP:n avulla toteutettu X-pääte, joissa etäkoneilla voidaan ajaa myös graafisia ohjelmia.

Termeihin terminaaliemulaattori ja pääte liittyvät läheisesti käsitteet konsoli ja virtuaalikonsoli. Konsolilla tarkoitetaan tietokoneen näyttö- ja syöttölaitteiden yhdistelmää (yleensä näyttö ja näppäimistö), johon järjestelmän ilmoitukset ensisijaisesti lähetetään. Konsoliksi voidaan paikallisten näyttö- ja syöttölaitteiden lisäksi määritellä myös pääte, jolloin esimerkiksi järjestelmän käynnistysilmoitukset näkyvät päätteen näytöllä. Käsitteellä virtuaalikonsoli tarkoitetaan Unix-järjestelmien tapaa jakaa fyysinen konsoli useiksi virtuaalisiksi konsoleiksi, joissa jokaisessa voidaan ajaa omia ohjelmiaan. Tämä on huomattava etu suhteessa esimerkiksi Windows/DOS-järjestelmiin, jotka eivät tue kuin yhtä konsolia/työtilaa.

Vaikka pääte-emulaattori periaatteessa emuloikin jotakin päätettä, päätteen tarkka malli ei useinkaan ole keskeistä. Oleellista on että päätteen tarpeeksi hyvä kuvaus löytyy päätetietokannasta ja että emulaattori tämän kuvauksen perusteella tukee keskeisiä toimintoja. Useimmat emulaattorit tukevat päätetyyppejä vt52, vt100, vt102, vt220 ja ansi (jotka keskeisiltä ominaisuuksiltaan muistuttavat toisiaan). Huono kuvauksen ja emuloinnin yhteensopivuus aiheuttaa joissakin tilanteissa "roskan" jäämistä kuvaruudulle. Tämän saa pois painomalla CTRL-L.

Jotkut pääteemulaattorit emuloivat mahdollisimman tarkkaan tiettyä päätettä, jotta sen kanssa toimivaksi kirjoitettu ohjelma toimisi kuten päätteen kanssa. Esimerkkejä tästä on xtermin tektronix-tila ja IBM 3270 -emulaattorit.

Laitetiedostot

Terminaaliemulaattorit näkyvät järjestelmässä laitetiedostoina

/dev/pts/<juokseva_numero>

kuten /dev/pts/0 tai /dev/pts/27014. Nämä laitetiedostot ovat siihen liitetyn terminaaliemulaattorin käyttäjän omistuksessa. Niihin voi syöttää ja niistä lukea dataa aivan samalla tavalla kuin mihin tahansa muihinkin laitetiedostoihin. Näitä ns. pseudoterminaaleiksi kutsuttuja laitetiedostoja käyttävät myös ssh:n, rsh:n tai telnetin kautta tehdyt etäkirjautumiset. Varsinaisten (sarja)päätteiden laitetiedostot taas ovat muotoa /dev/ttySX tai /dev/tts/X, jossa X on juokseva numero. Virtuaaliterminaalien laitetiedostot ovat muotoa /dev/ttyX ja konsolin laitetiedosto on /dev/console. Konsolin laitetiedostoon syötetty data tulostuu aina kulloinkin aktiivisena olevaan virtuaalikonsoliin.

Katso myös