Unix-opas, luku 5 Muita toimintoja ja sovelluksia Unix-koneissa:

Paperitulostus

Yleistä

Paperitulostusten saamiseen on eri Unix-koneissa erilaisia laitteita ja erilaisia komentoja. Ei pidä yrittää tulostaa paperille mitään, ennen kuin ottanut selvää, miten se tehdään käytettävässä järjestelmässä. Esimerkki: Vanhastaan on Unix-koneissa käytetty paperitulostukseen lp- tai lpr-nimistä komentoa, mutta yritys tulostaa tiedosto niillä saattaa päätyä katastrofiin. Järjestelmä nimittäin saattaa olla sellainen, että esim. lpr-komennolla tulostetaan Postscript-muotoisia tiedostoja, joita monet ohjelmat tuottavat. Jos sillä sellaisessa ympäristössä yritetään tulostaa tavallinen tekstitiedosto suoraan, komento yrittää tulkita tekstin Postscript-komennoiksi - ja paperia tuhlaantuu usein paljonkin.

Paperitulostus on Unix-koneissa yleensä ns. spoolattua tulostusta, mikä tarkoittaa sitä, että tulostuskomento vain lähettää tulostustyön tulostimen jonoon. Tulostin sitten tulostaa jonoon saapuneita töitä yhden kerrallaan. Tämä mahdollistaa sen, että eri käyttäjät voivat joustavasti käyttää samoja kirjoittimia. Haittana on, että käyttäjä ei voi etukäteen arvioida, kuinka nopeasti hän saa tiedostonsa paperille. Tilannetta voi kuitenkin katsella lpq-komennolla.

Vaikka useiden tulostukseen liittyvien komentojen nimissä esiintyy historiallisista syistä kirjainyhdistelmä lp, joka johtuu englannin sanoista line printer, kyseessä ei kuitenkaan nykyisin juuri koskaan ole rivikirjoitin vaan yleensä lasertulostin, jonka jälki on korkeatasoinen, paino-originaaliksikin kelpaava.

Selvitä siis käyttämäsi järjestelmän tulostusjärjestelyt ja -komennot. Seuraavassa kuvataan vain muutama tulostustöiden hallintaan liittyvä peruskomento eikä siis puututa siihen, miten tulostustöitä voi lähettää jonoon.

Tulostusjonon tilanne: lpq

Jos halutaan tarkistaa, onko tiedosto jonossa tai tulostumassa, voidaan katsoa tulostusjonon tilanne lpq-komennolla (line printer queue).

Pelkkä lpq näyttää sen kirjoittimen jonon, joka on oletuskirjoittimena. Jos halutaan katsoa jonkin muun kirjoittiminen jonotilannetta, on komennolle annettava -P -valitsin, jonka jälkeen kirjoitetaan ilman välilyöntiä kirjoittimen nimi, esim.
lpq -Ppsu132

Jos lpq-komennon tuloste on vain no entries, se merkitsee, että kyseinen jono on tyhjä, joten jos lähetät kyseiselle kirjoittimelle työn, se luultavasti alkaa tulostua saman tien.

Tulostustyön poisto: lprm

Tulostuksen voi vielä peruuttaa sen jälkeen, kun sen on lähettänyt, jos se ei ole ehtinyt tulostua vaan on jonossa. Syitä peruutukseen voivat olla esim. tulostusjonon pituus (jos on kiire eikä jaksa odottaa oman tiedoston tulostumista) tai se, että lähetit vahingossa väärän tiedoston tai löysit tekstistä vielä jotain korjattavaa. Peruutuskomento on lprm (line printer remove).

Komennolle annetaan argumenttina työn (job) numero, joka katsotaan lpq-komennon antamista tiedoista. Kirjoitin ilmoitetaan lprm-komennolle -P-valitsimella, joka on samaa muotoa kuin lpq-komennossa.

Seuraavassa on esimerkki, jossa käyttäjä on koneessa nimeltä Vipunen. Ensin hän lähettää tiedoston tulostettavaksi maari2-nimiselle kirjoittimelle ja tuleekin sitten toisiin ajatuksiin...

Näin käyttäjä jkorpela lähettää kirje4.txt-nimisen tiedoston tulostimelle (tässä enscript on eräs eräissä järjestelmissä käytössä oleva komento tiedoston tulostamiseen)

vipunen ~ %  enscript -s -Pmaari2 kirje4.txt
{ 1 page * 1 copy } spooled to maari2
Tämän jälkeen hän löysi kirjeen osoitteesta vielä virheen ja haluaakin peruuttaa tulostuksen. Hän katsoo tulostuksen työn numeron lpq-komennolla:
vipunen ~ % lpq  -Pmaari2
Rank   Owner      Job  Queue   Files                 Total Size
active jjuujarv   590  maari2  /usr/tmp/ESa02988    45706 bytes
1st    jkorpela   591  maari2  /usr/tmp/ES9fMBxI     3398 bytes
Komennolla saatavista tiedoista näkyy, että työn numero on 591. Seuraavaksi käyttäjä peruuttaa tulostuksen:
vipunen ~ % lprm -Pmaari2 591
Removing 591
Halutessaan hän voi vielä tarkistaa lpq-komennolla, että peruutus todella tapahtui eli että hänen työnsä ei enää ole jonossa:
vipunen ~ % lpq -Pmaari2
Rank   Owner      Job  Queue       Files                Total Size 
active jjuujarv   590  maari2      /usr/tmp/ESa02988    45706 bytes
vipunen ~ %