Muokataan sivua Sarjaterminaali

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
'''Sarjaterminaali''' eli sarja[[pääte]] on melko unohdettu laite PC-maailmassa, mutta siitä voi olla hyötyä erikoisemmissa tilanteissa, kuten selvittäessä ongelmia [[X Window System|X]]:n tai [[kernel|ytimen]] kanssa.
Sarjaterminaali on melko unohdettu laite PC-maailmassa, mutta siitä voi olla hyötyä erikoisemmissa tilanteissa, kuten selvittäessä ongelmia [[X]]:n tai [[kernel|ytimen]] kanssa.  
 
Tässä artikkelissa käsitellään tekstipäätteitä. On myös graafisia sarjapäätteitä, kuten [[wikipedia:Tektronix 4014|Tektronix 4014]] ja sen seuraajat, sekä [[X-pääte|X-päätteitä]], joilla voi ajaa tavallisia graafisia istuntoja.


==Johdanto==
==Johdanto==
===Mikä on pääte?===
===Mikä on sarjaterminaali?===
Pääte on fyysinen laite, jossa on näyttö ja näppäimistö, ja se kytkeytyy tietokoneeseen yleensä sarjaliitännällä (mahdollisesti [[modeemi]]en välityksellä). Nykyään tutumpi käsite lienee pääte- eli [[terminaaliemulaattori]] X Window Systemin alla, kuten esimerkiksi [[xterm]]. Pääte toimii kuten terminaaliemulaattori: se näyttää tekstiä ja sen kautta voi syöttää tekstiä. Perinteiset päätteet eivät ole tietokoneita siinä mielessä, että niissä ei ajeta varsinaisia ohjelmia (niissä ei välttämättä ole edes prosessoria). Ne toimivat vain käyttöliittymänä oikeaan (keskus)tietokoneeseen. Tietokoneella voidaan emuloida päätettä sopivalla ohjelmistolla, myös esimerkiksi DOSissa pyörivällä Telix:llä tai Windowsin HyperTerminalilla.
Sarjaterminaali on fyysinen laite, jossa on näyttö ja näppäimistö, ja se kytkeytyy tietokoneeseen sarjaliitännällä. Nykyään tutumpi käsite lienee [[terminaaliemulaattori]] X Window Systemin alla, kuten esimerkiksi [[xterm]]. Sarjaterminaali toimii kuten terminaaliemulaattori: se näyttää tekstiä ja sen kautta voi syöttää tekstiä. Perinteiset sarjaterminaalit eli päätteet eivät ole tietokoneita siinä mielessä, että niissä ei ajeta varsinaisia ohjelmia. Ne toimivat vain käyttöliittymänä oikeaan (keskus)tietokoneeseen. Tietokoneella voidaan emuloida sarjaterminaalia sopivalla ohjelmistolla, esimerkiksi DOSissa pyörivällä Telix:llä tai Windowsin HyperTerminalilla.
===Mitä hyötyä sarjaterminaalista voisi nykyään olla?===
Jos koneen konsoli lakkaa jostain syystä vastaamasta, esimerkiksi X (graafinen ympäristö) tai koko näytöllä pyörinyt peli kaatuu, näppäimistö ei enää reagoi tai näyttö on täynnä sotkua, sarjaterminaali antaa mahdollisuuden mennä toista kautta koneelle korjaamaan tilanne. Tämän voisi tehdä myös verkon kautta mikäli käytössä on toinen kone ja verkon kautta kirjautuminen on mahdollista (kts. [[ssh]]).  


===Mitä hyötyä päätteestä voisi nykyään olla?===
Tilanne on toinen, jos itse [[kernel|ydin]] kaatuu. Kaatuessaan ydin jotain tapahtuneesta ja nämä tiedot olisi tietysti hyvä saada muistiin, mutta koska ydin on jo nurin, ei niiden tallentaminen yleensä onnistu muuten kuin kynällä paperille. Toisaalta lähes aina myös X on ollut käynnissä, joten ilmoitukset eivät edes näy. Kernel voi tulostaa ilmoituksensa myös sarjaporttiin, jolloin ne näkyvät sarjaterminaalissa. Jos sarjaterminaali onkin tavallinen PC, voi terminaaliemulaattorista tallentaa näkymän suoraan tiedostoon.


Jos koneen [[konsoli]] lakkaa jostain syystä vastaamasta, esimerkiksi X (graafinen ympäristö) tai koko näytöllä pyörinyt peli kaatuu, näppäimistö ei enää reagoi tai näyttö on täynnä sotkua, pääte antaa mahdollisuuden mennä toista kautta koneelle korjaamaan tilanne. Tämän voisi tehdä myös verkon kautta mikäli käytössä on toinen kone ja verkon kautta kirjautuminen on mahdollista (kts. [[ssh]]).
Paitsi, että ydin voi tulostaa esimerkiksi käynnistymistekstinsä sarjaterminaaliin, myös [[käynnistyslatain|käynnistyslataimet]] [[Lilo]] ja [[Grub]] osaavat tarvittaessa käyttää sitä. Monet palvelimiksi tarkoitetut ei-PC koneet tukevat sarjaterminaalia jo käynnistyksen alusta (BIOSista) lähtien.
 
Tilanne on toinen, jos itse [[kernel|ydin]] kaatuu. Kaatuessaan ydin kertoo jotakin tapahtuneesta ja nämä tiedot olisi tietysti hyvä saada muistiin, mutta koska ydin on jo nurin, ei niiden tallentaminen yleensä onnistu muuten kuin kynällä paperille. Toisaalta lähes aina myös X on ollut käytössä, joten ilmoitukset eivät edes näy. Ydin tulostaa ilmoituksensa myös sarjaporttiin, eli päätteelle, jos tämä tuki on aktivoitu (nämä ilmoitukset yleensä toimivat viimeiseen saakka). Jos päätteenä onkin tavallinen PC, voi näkymän tallentaa suoraan tiedostoon.
==Sarjaterminaalin asentaminen==
 
Paitsi, että ydin voi tulostaa esimerkiksi käynnistymistekstinsä päätteelle, myös [[käynnistyslatain|käynnistyslataimet]] [[Lilo]] ja [[Grub]] osaavat tarvittaessa käyttää sitä. Monet palvelimiksi tarkoitetut ei-PC koneet tukevat päätettä jo käynnistyksen alusta ("BIOSista", ''[[wikipedia:fi:ROM|ROM]]-[[wikipedia:boot monitor|monitorista]]'') lähtien.
 
Päättellä voi toki ajaa [[komentorivi]]- ja tekstipohjaisia ohjelmia, joten se toimii varakoneena myös esimerkiksi tavallisiin ylläpitotehtäviin (jollei niihin käytä graafisia työkaluja), sähköpostin lukemiseen, [[tekstieditori|tekstieditoreiden]] käyttöön jne.
 
==Päätteen asentaminen==
===Ensimmäinen yhteys===
===Ensimmäinen yhteys===
Oletetaan, että päätteen virkaa toimittaa vanha PC-kone. Rautavaatimuksina on sarjaportit molemmissa tietokoneissa ja nollamodeemikaapeli. Nollamodeemikaapelin rakennusohjeet löytyvät mm. [http://www.iki.fi/pq/nullmodem.html täältä]. Täysin kytketty kaapeli ei ole välttämätön, GND-, TxD- ja RxD-kytkennöillä eli kolmella johtimella pärjää.  
Oletetaan, että sarjaterminaalin virkaa toimittaa vanha PC-kone. Rautavaatimuksina on sarjaportit molemmissa tietokoneissa ja nollamodeemikaapeli. Nollamodeemikaapelin rakennusohjeet löytyvät mm. [http://www.iki.fi/pq/nullmodem.html täältä]. Täysin kytketty kaapeli ei ole välttämätön, GND-, TxD- ja RxD-kytkennöillä eli kolmella johtimella pärjää.  


Päätteenä toimivaan tietokoneeseen tarvitaan käyttöjärjestelmä ja terminaaliemulaattori, joka osaa jutella suoraan sarjaporttiin, esimerkiksi DOS ja Telix (tai Linux ja [[minicom]]). Linux-koneessa, jota kutsutaan lopputekstin ajan palvelimeksi, on tarvittavat ohjelmistot luultavasti jo asennettu.
Sarjaterminaalina toimivaan tietokoneeseen tarvitaan käyttöjärjestelmä ja terminaaliemulaattori, joka osaa jutella suoraan sarjaporttiin, esimerkiksi DOS ja Telix. Linux-koneessa, jota kutsutaan lopputekstin ajan palvelimeksi, on tarvittavat ohjelmistot luultavasti jo asennettu.


Kaapeli kiinni ja koneet käyntiin. Käytetään vaikkapa [[agetty]]ä ([[getty]]jä on monia) hoitamaan kirjautumiskehote päätteelle. Jotta saadaan hieno kehote, luodaan palvelimelle tiedosto <tt>/etc/[[issue-tiedosto|issue]].serial</tt> ja kirjoitetaan siihen:  
Kaapeli kiinni ja koneet käyntiin. Käytetään vaikkapa [[agetty]]ä hoitamaan kirjautumiskehote sarjaterminaalille. Jotta saadaan hieno kehote, luodaan palvelimelle tiedosto <tt>/etc/[[issue-tiedosto|issue]].serial</tt> ja kirjoitetaan siihen:  
  This is \n (\s \m \r) \t
  This is \n (\s \m \r) \t
  Connected on \l at \b bps
  Connected on \l at \b bps
Rivi 34: Rivi 29:
*<tt>9600</tt>  Yhteyden baudimäärä (signaalin muutosten määrä sekunnissa). Mahdollisia lukemia ovat mm. 115200, 57600, 38400, 19200, 9600 ja 4800.
*<tt>9600</tt>  Yhteyden baudimäärä (signaalin muutosten määrä sekunnissa). Mahdollisia lukemia ovat mm. 115200, 57600, 38400, 19200, 9600 ja 4800.
*<tt>tts/0</tt>  Sarjaportin laitetiedoston nimi ilman <tt>/dev/</tt>-alkua. Esimerkki voisi olla myös </tt>ttyS0</tt>.
*<tt>tts/0</tt>  Sarjaportin laitetiedoston nimi ilman <tt>/dev/</tt>-alkua. Esimerkki voisi olla myös </tt>ttyS0</tt>.
*<tt>ansi</tt>  Sarjaporttiin kytketyn päätteen [[terminaalityyppi|tyyppi]] (katso [[terminfo]]). ansi tarkoittaa, että pääte käyttää ANSI-komentoja.
*<tt>ansi</tt>  Sarjaporttiin kytketyn terminaalin [[terminaalityyppi|tyyppi]]. ansi tarkoittaa, että sarjaterminaali käyttää ANSI-komentoja.
   
   
Seuraavaksi päätekoneessa käynnistetään Telix. Sen asetuksiin asetetaan sama yhteyden nopeus kuin edellä, 8 databittiä, parity none ja stop-bittejä 1. Vuonohjaus pitää olla XON/XOFF (tästä lisää lopuksi) ja terminaaliemulaation tyypiksi pitää laittaa samainen ansi. Enterin painalluksella ruudulle pitäisi valua sisäänkirjautumiskehote. Sisäänkirjautuminen ei tosin onnistu, ellei agettyä ajeta pääkäyttäjän oikeuksin.  
Seuraavaksi sarjaterminaalikoneessa käynnistetään Telix. Sen asetuksiin asetetaan sama yhteyden nopeus kuin edellä, 8 databittiä, parity none ja stop-bittejä 1. Vuonohjaus pitää olla XON/XOFF (tästä lisää lopuksi) ja terminaaliemulaation tyypiksi pitää laittaa samainen ansi. Enterin painalluksella ruudulle pitäisi valua sisäänkirjautumiskehote. Sisäänkirjautuminen ei tosin onnistu, ellei agettyä ajeta pääkäyttäjän oikeuksin.  


Jos päätteen ruudulle tulee sotkua, pitää yhteysasetukset tarkistaa. Todennäköisesti yhteyden nopeus ei täsmää.  
Jos terminaalin ruudulle tulee sotkua, pitää yhteysasetukset tarkistaa. Todennäköisesti yhteyden nopeus ei täsmää.  


===Kirjautumiskehote pysyväksi===
===Kirjautumiskehote pysyväksi===
Edellä kuvatulla tavalla päätteen kautta voi kirjautua kerran, sen jälkeen agetty pitää käynnistää uudelleen. Sama koskee myös [[virtuaalikonsoli]]in kirjautumista, joten hoidetaan ongelma samalla tavalla kuin se on ratkaistu virtuaalikonsolien kanssa. Muokataan tiedostoa <tt>/etc/[[inittab]]</tt>, joka on yksi järjestelmän kriittisimpiä [[asetustiedosto]]ja. Sieltä löytyy liuta rivejä tyyliin:
Edellä kuvatulla tavalla sarjaterminaalin kautta voi kirjautua kerran, sen jälkeen agetty pitää käynnistää uudelleen. Sama koskee myös [[virtuaalikonsoli]]in kirjautumista, joten hoidetaan ongelma samalla tavalla kuin se on ratkaistu virtuaalikonsolien kanssa. Muokataan tiedostoa <tt>/etc/[[inittab]]</tt>, joka on yksi järjestelmän kriittisimpiä [[asetustiedosto]]ja. Sieltä löytyy liuta rivejä tyyliin:
  c1:12345:respawn:/sbin/agetty 38400 tty1 linux
  c1:12345:respawn:/sbin/agetty 38400 tty1 linux
Ne luovat kirjautumiskehotteet virtuaalikonsoleihin. Lisätään loppuun rivi:
Ne luovat kirjautumiskehotteet virtuaalikonsoleihin. Lisätään loppuun rivi:
Rivi 49: Rivi 44:
Lisäksi tiedosto <tt>/etc/ioctl.save</tt> pitää poistaa, kun sarjaterminaalia asennetaan ensimmäistä kertaa.  
Lisäksi tiedosto <tt>/etc/ioctl.save</tt> pitää poistaa, kun sarjaterminaalia asennetaan ensimmäistä kertaa.  


Nyt init pitää huolen siitä, että sarjaportissa pyörii aina agetty tai joku muu prosessi, jos sieltä on kirjauduttu sisään. Jos päätteeltä haluaa kirjautua sisään pääkäyttäjänä (root), pitää kyseinen sarjaportti lisätä <tt>/etc/securetty</tt>-tiedostoon.  
Nyt init pitää huolen siitä, että sarjaportissa pyörii aina agetty tai joku muu prosessi, jos sieltä on kirjauduttu sisään. Jos sarjaterminaalilta haluaa kirjautua sisään pääkäyttäjänä (root), pitää kyseinen sarjaportti lisätä <tt>/etc/securetty</tt>-tiedostoon.  


==Ytimen viestit==
==Ytimen viestit==
Ytimen viestit eivät vielä tule päätteelle. Jotta näin tapahtuisi, ytimeen pitää olla käännettynä "serial console" tai "console on serial port" -tuki. Lisäksi sille pitää antaa seuraavat parametrit käynnistyksen yhteydessä (kts. [[Grub]]):
Ytimen viestit eivät vielä tule sarjaterminaaliin. Jotta näin tapahtuisi, ytimeen pitää olla käännettynä "serial console" tai "console on serial port" -tuki. Lisäksi sille pitää antaa seuraavat parametrit käynnistyksen yhteydessä (kts. [[Grub]]):
  console=ttyS0,9600n8 console=tty0
  console=ttyS0,9600n8 console=tty0
Niillä kerrotaan ytimelle, että sarjaportissa <tt>ttyS0</tt> on pääte, ja sen pitää käyttää nopeutta 9600 bps, parity none -asetusta ja 8 databittiä. Lisäksi on olemassa toinenkin konsoli, <tt>tty0</tt>, joka sattuu olemaan ensimmäinen virtuaalikonsoli. Ytimen viestit tulevat siis sekä virtuaalikonsoliin että päätteelle. <!-- muistaakseni jokin ohjelma ei tulostanut kuin toiseen, init? -->
Niillä kerrotaan ytimelle, että sarjaportissa <tt>ttyS0</tt> on sarjaterminaali, ja sen pitää käyttää nopeutta 9600 bps, parity none -asetusta ja 8 databittiä. Lisäksi on olemassa toinenkin konsoli, <tt>tty0</tt>, joka sattuu olemaan ensimmäinen virtuaalikonsoli. Ytimen viestit tulevat siis sekä virtuaalikonsoliin että sarjaterminaaliin.  


==Vuonohjaus==
==Vuonohjaus==
Vuonohjaus tarkoittaa toimintaa tilanteessa, jossa lähettäjä lähettää dataa nopeammin kuin vastaanottaja ehtii käsitellä. Ilman vuonohjausta dataa hukkuisi. Vuonohjaus voidaan tehdä ohjelmallisesti, jolloin datavirran seassa liikkuu XOFF- ja XON-komentomerkkejä, joilla vastaanottaja pyytää lähettäjää odottamaan ja jatkamaan lähetystä (nämä vastaavat merkkejä CTRL-S ja CTRL-Q, miksi edellistä painamalla näyttö hyytyy, myös joissakin muissa tilanteissa tai ohjelmissa).
Vuonohjaus tarkoittaa toimintaa tilanteessa, jossa lähettäjä lähettää dataa nopeammin kuin vastaanottaja ehtii käsitellä. Ilman vuonohjausta dataa hukkuisi. Vuonohjaus voidaan tehdä ohjelmallisesti, jolloin datavirran seassa liikkuu XOFF- ja XON-komentomerkkejä, joilla vastaanottaja pyytää lähettäjää odottamaan ja jatkamaan lähetystä.  


Toinen tapa on käyttää erillisiä johtimia vuonohjaukseen. Näitä RS-232 sarjaportista löytyy kaksi paria: CTS/RTS ja DSR/DTR.
Toinen tapa on käyttää erillisiä johtimia vuonohjaukseen. Näitä RS-232 sarjaportista löytyy kaksi paria: CTS/RTS ja DSR/DTR.


==Katso myös==
==Katso myös==
*[[Pääte]]
*[[Terminaaliemulaattori]]
*[[Terminaaliemulaattori]]
*[[Konsoli]]
*[[Konsoli]]
Rivi 68: Rivi 62:


[[Luokka:Järjestelmä]]
[[Luokka:Järjestelmä]]
[[Luokka:Etäkäyttö]]
[[Luokka:Laitteisto]]
[[Luokka:Ohjeet]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)