Unix-opas, luku 4 Tiedonhaku ja viestintä Unix-koneissa:

Välitön viestintä: talk, write, rwrite

Yleistä: pikaviestit meiliin verrattuina

Seuraavassa kuvattavat viestit ovat sellaisia, joita voi lähettää vain, jos viestin vastaanottajalla on samaan aikaan yhteys koneeseen eli hän on "sisään loganneena". Meilin käyttöhän ei mitenkään edellytä sellaista.

Viestit päätteeltä päätteelle kulkevat välittömästi tai lähes välittömästi ja tulevat heti näkyviin vastaanottajan ruudulle. Tästä on etuja ja haittoja: tämä viestintämuoto mahdollistaa puhelinkeskustelun tai kasvotusten keskustelun tapaisen yhteydenpidon, mutta toisaalta se vaatii molempien osapuolten mukanaoloa samaan aikaan. Lisäksi toisen henkilön lähettämät päätteeltä päätteelle -viestit voidaan kokea häiriöksi (paljon suuremmassa määrin kuin meili).

Välittömän viestinnän komennoissa on käyttäjän "osoitteella" eri merkitys kuin meilissä. Yleisesti ei pidä olettaa, että meiliosoitetta voisi käyttää sellaisissa komennoissa; vain osa osoitteista toimii niissä. Tavallisesti on syytä erikseen selvittää (esim. meilitse kysymällä), onko käyttäjällä osoite, jolla hänelle voi "talkata".

Seuraavassa kuvattavien viestintämahdollisuuksien lisäksi mainittakoon irkki (Irc), joka mahdollistaa useiden käyttäjien välisen "keskusteluyhteyden" (ja myös henkilökohtaisen "keskustelun").

Pikaviesti saman koneen sisällä: write

Vanhin päätteitse viestimisen muoto Unix-koneissa on write-komento:

write tunnus

Komento toimii siis vain saman koneen sisällä. Komennon kirjoittamisen jälkeen jokainen rivi, joka näppäimistöltä kirjoitetaan, välittyy vastaanottajan päätteelle saman tien, kun rivi on lopetettu painamalla return-näppäintä. Viestien lähettäminen on sinänsä yksisuuntaista, mutta eräänlaisen keskusteluyhteyden saa aikaan, jos myös vastaanottaja antaa write-komennon.

Voit kirjoittaa rivejä vaikka kuinka monta ja jäädä vaikka välillä odottamaan toisen vastausta. Vaikka toisen vastaus tulisi oman kirjoituksen sekaan ruudulle, ei pääte silti ole sekaisin, vaan voit jatkaa oman viestisi kirjoittamista välittämättä ruudulle ilmestyneestä vastauksesta. Oma kirjoituksesi menee perille juuri sellaisena kuin sen kirjoitit, ilman sotkuja.

Kun et enää halua lähettää uusia viestirivejä, lopeta control-d:llä, jolloin palataan komentotasolle.

Keskusteluyhteys: talk

Komento talk luo keskusteluyhteyden kahden käyttäjän välille.

Sitä voi käyttää myös koneesta toiseen, ja se on Unix-koneissa yleinen niin Suomessa kuin ulkomaillakin. Kaikissa koneissa sitä ei kuitenkaan ole, ja lisäksi joskus eri koneiden talk-komennot ovat niin epäyhteensopivia, ettei yhteyttä saa aikaan.

Komento on muotoa

talk käyttäjätunnus@kone

missä kone on koneen Internet-osoite. Osa @kone voidaan jättää pois, jos kyse on saman koneen toisesta käyttäjästä.

Jos kyseisellä käyttäjällä on sillä hetkellä yhteys kyseiseen koneeseen, niin komento lähettää hänelle viestin, joka pyytää häntä hyväksymään yhteyden muodostamisen antamalla talk-komennon. Jos hän toimii pyynnön mukaisesti, syntyy käyttäjien välille "keskusteluyhteys", jossa kaikki käyttäjän kirjoittama näkyy saman tien toisen käyttäjänkin ruudulla. Näkyminen on välitöntä, merkki merkiltä tapahtuvaa, eikä siis riipu returnin painamisista. Tästä ei seuraa sellaista sotkua kuin voisi luulla, sillä talk jakaa käyttäjän kuvaruudun kahteen osaan, joista toisessa näkyy hänen kirjoittamansa ja toisessa toisen käyttäjän kirjoittama. Yhteys päättyy, kun jompikumpi kirjoittaa control-c:n.

Esimerkki. Jos Matti Meikäläinen on esim. koneessa vipunen.hut.fi Vipunen ja tietää, että hänen kaverillaan Tiinalla on tunnus koneessa alpha.hut.fi, hän voi ehdottaa keskustelua antamalla komennon

talk tiina@alpha.hut.fi
(Tässä erikoistapauksessa kävisi myös lyhyempi talk tiina@alpha.) Tällöin jos Tiinalla on pääteyhteys, hänen näytölleen ilmestyy viesti
Message from Talk Daemon...
talk request from masa@vipunen.hut.fi (Matti Meikäläinen)
respond with 'talk masa@vipunen.hut.fi'
joka toistuu noin kerran minuutissa. Samalla Matin kuvaruutu muuttuu sellaiseksi, että ylälaidassa on vastauksen odottamisesta kertova viesti Waiting for your party to respond. Jos vastausta ei tule noin minuutissa, tulee viesti Calling your party again. Kutsuminen jatkuu automaattisesti vastauksen saamiseen asti tai kunnes Matti keskeyttää kutsumisen control-c:llä. Jos Tiina haluaa aloittaa keskustelun, hän vastaa
talk masa@vipunen
eli tekee kuten ruudulle tulostuneessa kutsussa pyydetään tekemään.

Kumpikin osapuoli voi aloittaa viestien kirjoittelemisen heti, kun ruudun ylälaitaan on tullut teksti Connection established.

Joissakin tilanteissa talk-yhteys ei onnistu sen takia, että eri koneiden talk-järjestelmät eivät pelaa yhteen (eli käyttävät yhteensopimattomia talk-protokollia, ks. man talk, kohta BUGS). Tarkemmin sanoen tällöin käy niin, että talk ilmoittaa Checking for invitation on caller's machine ja sitten ei tapahdukaan mitään. Silloin voi ehkä käyttää ytalk-ohjelmaa (ks. man ytalk), joka myös tarjoaa monipuolisempia mahdollisuuksia kuin talk, mm. useamman kuin kahden käyttäjän välisen keskustelun. Voidaan toimia niinkin, että yhdessä koneessa käytetään ytalkia ja toisessa koneessa talkia.