Nästa Föregående Innehållsförteckning

2. Att skriva ut under Linux

I detta kapitel beskrivs hur man skriver ut filer, hur man gör för att titta på skrivarkön, hur utskriftsjobb raderas från skrivarkön, hur filer formateras före utskrift samt hur ``utskriftsmiljön'' ställs in.

2.1 Historik

Den utskriftshanterare som används under Linux - det s.k. lp-systemet - är en anpassning av den källkod som utvecklats vid University of California till Berkley-distributionen av UNIX (BSD).

2.2 Att skriva ut en fil med hjälp av lpr

Det allra enklaste sättet att skriva ut något i Linux, är att sända den fil som skall skrivas ut direkt till skrivarenheten. Detta kan t.ex. göras genom att använda kommandot cat. Som root, skulle man kunna skriva

# cat thesis.txt > /dev/lp

I det här fallet, är /dev/lp en symbolisk länk till den verkliga skrivarenheten---må det vara en matrisskrivare, laserskrivare, typsättningsmaskin eller plotter. (Se ln(1) för information om symboliska länkar.)

Av säkerhetsskäl, har endast root och de användare som är medlemmar av samma grupp som skrivar-demonen rätt att skriva direkt till skrivaren. Därför måste kommandon som lpr, lprm och lpq användas för att komma åt skrivaren.

lpr används för att skriva ut en fil. Kommandot lpr ansvarar för det inledande arbete, som krävs för att filen skall kunna skrivas ut, och överlämnar därefter kontrollen till ett annat program, lpd, skrivar-daemonen. Skrivar-daemonen ``talar om'' för skrivaren hur filen skall skrivas ut.

När lpr exekveras, kopieras först den angivna filen till en särskild katalog (spool-katalogen, eller ``the spool directory''), där den sedan finns tills lpd skriver ut den. Då lpd får reda på att det finns en fil att skriva ut, exekverar den en kopia av sig själv (något som vi programmerare kallar ``delning'' eller ``forking''). Denna kopia av lpd skriver ut filen, medan den ursprungliga kopian väntar på ytterligare förfrågningar. På detta sätt kan flera skrivarjobb köa samtidigt.

Syntaxen för lpr(1), är välkänd,

$ lpr [ val ] [ filnanm ... ]
Om inget filnamn anges, förväntas inmatningen till lpr komma från standardenheten för inmatning (vanligen tangentbordet, eller utmatningen från ett annat program). Detta ger användaren möjlighet att omdirigera utmatningen från ett kommando till utskriftshanteraren, t.ex. såhär:

$ cat thesis.txt | lpr

eller

$ pr -l60 thesis.txt | lpr

lpr förstår ett flertal kommandoradsargument, vilket möjliggör för användaren att kontrollera dess funktion. Några av de vanligaste argumenten är dessa: -Pskrivare anger vilken skrivare som skall användas, -h gör att ingen titelsida skrivs ut, -s skapar en symbolisk länk istället för att kopiera filen till spool-katalogen (användbart för stora filer) och -#nummer anger antal kopior som skall skrivas ut. Ett exempel på hur lpr kan användas är:

$ lpr -#2 -sP dj thesis.txt

Detta kommando skapar en symbolisk länk till filen thesis.txt i spool-katalogen för skrivaren dj, där lpd tar hand om filen. Dessutom skrivs en andra kopia av filen thesis.txt ut.

Se lpr(1) för en lista med alla alternativ som lpr förstår.

2.3 Att titta på skrivarkön med lpq

Använd kommandot lpq, för att titta på innehållet i skrivarkön. Om det körs utan argument, visas standardskrivarens kö.

Utmatningen från lpq är användbar till mycket.

$ lpq
lp is ready and printing
Rank   Owner      Job  Files                            Total Size
active mwf        31   thesis.txt                       682048 bytes

2.4 Att avbryta ett skrivarjobb med lprm

En annan användbar finess hos en utskriftshanterare är möjligheten att avbryta ett skrivarjobb som är placerat i kö. Använd lprm för att göra det.

$ lprm -

Kommandot ovan avbryter alla skrivarjobb som ägs av den användare som kör det. Ett enstaka jobb kan avbrytas genom att först ta reda på jobbets ID-nummer med lpq, och därefter ange det på kommandoraden till lprm. Till exempel skulle

$ lprm 31

avbryta jobb nummer 31 (thesis.txt) på standardskrivaren.

2.5 Att styra lpd med lpc

Programmet lpc används för att styra de skrivare som lpd kontrollerar. Du kan aktivera eller deaktivera en skrivare eller dess köer, förändra ordningen mellan jobb i en kö samt erhålla en statusrapport över skrivare och köer. lpc används oftast när flera skrivare är kopplade till en och samma dator.

$ lpc

Detta startar normalt lpc i ett interaktivt läge, i vilket det går att ge kommandon till programmet. Du kan också ge lpc-kommandon direkt på kommandoraden:

$ lpc status all

En lista med tillgängliga kommandon finns på manualsidan till lpd, men här ges några viktiga kommandon, som du bör känna till. Om kommandot innehåller ordet val, kan det efterföljas av ett skrivarnamn (lp, print, etc.) eller ordet all, vilket betyder alla skrivare.

2.6 RedHats printtool

Bara en kort kommentar här angående RedHats förbluffande printtool-program. Det verkar göra allt som ett magiskt filter gör. RedHat installerar redan många av de program, som utför själva filtreringen. Jag beskriver här hur mina skrivarinställningar är under RH 4.0 med en HP LJ 4L ansluten till parallellporten (samma sak torde gälla för andra versioner av RedHat också).

Precis som när man pillar med en /etc/printcap för hand, går det att ha flera skrivardefinitioner för varje fysisk skrivare. En för annan upplösning, pappersstorlek etcetra.


Nästa Föregående Innehållsförteckning