The Linux Printing Usage HOWTO -- svensk översättning av Mark Komarinski <markk@auratek.com>. Svensk översättning: Peter Nilsson <pnidv96@student.hv.se> Inledning

HOWTOs!printing usage printing!user-level introduction I detta dokument beskrivs den utskriftshanterare (printer spooling system), som följer med operativsystemet Linux. Denna ``HOWTO'' utgör ett komplement till ``The Linux Printing Setup HOWTO'' (svensk översättning saknas f.n.), vari installation och konfiguration av Linux utskriftshanterare behandlas. Den information som här presenteras, torde även vara relevant för operativsystemet BSD. Dokumentets historia

Anmärkning från Mark Komarinski <markk@auratek.com>:

Jag vill tacka Matt Foster för hans hårda arbete med omarbetningen av denna HOWTO. Jag fortsätter i hans anda, och gör tillägg när så är nödvändigt för att hålla dokumentet aktuellt.

Anmärkning från Matt Foster <mwf@engr.uark.edu>

Denna version av ``Linux HOWTO---Att Skriva Ut'' är en fullständig omarbetning av den HOWTO som ursprungligen skrevs av Grant Taylor <grant@god.tufts.edu> och Brian McCauley <B.A.McCauley@bham.ac.uk>. Jag har försökt få med allt material som Grant och Brians HOWTO täcker, men jag har drastiskt förändrat det sätt på vilket materialet presenteras samt mängden information som tagits med. Jag tror mig härigenom ha gjort dokumentet mer lättläst och komplett. Jag kan bara hoppas att du, som läsare, instämmer i det. Versionshistorik

v1.2.2 Indexeringsändringar samt några ändringar för att passa in i den nya RedHat-dokumentationen. v1.2.1 Uppdateringar, några ändringar för publiceringen av Dr. Linux v1.2 Windows-skrivare Hur man ändrar maximal storlek för filer som skall skrivas ut v1.11 Ny ansvarig (för dokumentet)! Lade till information om lpc Lade till en del information om felsökning Påbörjade avsnitt om utskrift av grafikfiler! v1.1 Ändrade ordalydelsen på några ställen Skrev avsnittet om PostScript-utskrifter Försökte klargöra några exempel 8-) Utökade drastiskt diskussionen om de grundläggande utskriftsverktygen för Linux v1.0 Första versionen som släppts till allmänheten Upphovsrätt och varumärken

Upphovsrätten till en del namn som förekommer i denna HOWTO tillhör vissa personer och/eller företag. Dessa namn skrivs antingen med stor begynnelsebokstav, eller med endast stora bokstäver.

(c) 1995 Matt Foster (mwf@engr.uark.edu) (c) 1996-1997 Mark F. Komarinski (markk@auratek.com)

Varje översättning, eller annat verk, där hela eller delar av en Linux-HOWTO ingår, måste omfattas av denna copyright. Detta innebär, att du inte har rätt att producera något verk, som bygger på en HOWTO och begränsa distributionen av detta ytterligare. Undantag till denna regel kan medges i särskilda fall; vänligen kontakta koordinatören av HOWTO-dokument på adressen nedan.

Vår önskan är att möjliggöra spridning av denna information via så många kanaler som möjligt. Däremot vill vi behålla upphovsrätten till HOWTO-dokumenten, och vi vill bli informerade om det finns planer på att redistribuera dem.

Kontakta Tim Bynum, HOWTO-dokumentens koordinatör, på adressen <linux-howto@sunsite.unc.edu>. Du kan använda Att hämta hem HOWTO-dokumenten om utskrift

printing!downloading HOWTOs Om du vill skriva ut detta dokument, rekommenderar jag dig att hämta PostScript-versionen. Den är utformad på ett estetiskt tilltalande sätt och dessutom mer lättläst. Det går att hämta PostScript-versionen från någon av de många platser, där Linux distribueras (som t.ex. SunSITE ). Gensvar

Frågor, kommentarer eller rättelser gällande denna HOWTO kan skickas till <markk@auratek.com>. (Vad gäller i första hand språkliga kommentarer och förslag till förbättringar av den svenska utgåvan, tas dessa med glädje emot av Peter Nilsson .) Tillkännagivanden

Ett stort tack till alla dem som läste alfa-versionen av denna HOWTO och gav många kommentarer och förslag, vilka varit till stor hjälp; några kan finna resultatet av sin medverkan i denna version.

Jag vill också rikta ett tack till Matt Foster, som gjorde den ursprungliga omarbetningen. 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. Historik

printing!history of 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). Att skriva ut en fil med hjälp av lpr

printing!using lpr command lpr command!usage example 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.

När Syntaxen för $ lpr [ val ] [ filnanm ... ] Om inget $ cat thesis.txt | lpr eller $ pr -l60 thesis.txt | lpr $ lpr -#2 -sP dj thesis.txt Detta kommando skapar en symbolisk länk till filen thesis.txt i spool-katalogen för skrivaren Se Att titta på skrivarkön med lpq

printing!using lpq command lpq command!usage example Använd kommandot Utmatningen från $ lpq lp is ready and printing Rank Owner Job Files Total Size active mwf 31 thesis.txt 682048 bytes Att avbryta ett skrivarjobb med lprm

printing!using lprm command lprm command!usage example En annan användbar finess hos en utskriftshanterare är möjligheten att avbryta ett skrivarjobb som är placerat i kö. Använd $ 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 $ lprm 31 avbryta jobb nummer 31 (Att styra lpc

printing!using lpc command lpc command!usage example Programmet $ lpc Detta startar normalt $ lpc status all En lista med tillgängliga kommandon finns på manualsidan till disable val - gör att inga nya skrivarjobb kan placeras i kö down val - deaktiverar denna skrivare enable val - tillåter nya skrivarjobb att placeras i kön quit (eller exit) - avslutar restart val - startar om status val - visar skrivarens status up val - slår på utskrift och startar lpd på nytt RedHats printtool printing!using Red Hat printool Red Hat Linux!printool printool utility

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å). Bli root och plocka fram printtool (om du använde su, glömde du inte SETENV DISPLAY :0.0 och xhost +, eller?) Klocka på "Add" och välj "OK" för en lokal skrivare. Fyll i skrivarenheten (/dev/lp1 för mig). Fyll i infiltret; välj skrivartyp, upplösning och pappersstorlek (ljet4, 300x300 och letter). Välj "OK" hela vägen tillbaka och starta om lpd. 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. Utskrift av filer

printing!by file type Detta avsnitt innehåller information om hur du skriver ut olika filer, som du kommer att komma i kontakt med i ett Linuxsystem. Att skriva ut grafik

printing!graphics files Hur man gör för att skriva ut grafikfiler beror dels på vilken typ av grafik som används och dels på typen av skrivare. Matrisskrivare är oftast inte användbara i detta sammanhang, p.g.a. deras sätt att hantera grafik på. Möjligen kan du, om skrivaren är kompatibel med en Epson eller IBM ProPrinter, konvertera filen till PostScript-format och därefter använda Ghostscript (se nästa avsnitt) för att skriva ut den.

Om du har en laserskrivare, blir saker och ting betydligt enklare, eftersom sådana vanligen är kompatibla med PCL. Detta ger dig ett par olika möjligheter. Vissa program kan direkt göra om filer till PCL. Om så inte är fallet, kan program som Det bästa är att installera programpaket som NetPBM eller Ghostscript och använda ett s.k. magiskt filter (``magic filter'' på engelska) som tar hand om grafikfilerna automagiskt. Utskrift av PostScript-filer

printing!Postscript files Postscript!printing Att skriva ut PostScript på en skrivare som har en inbyggd PostScript-tolk, är inte svårt; använd bara Ghostscripts uppgift är att översätta styrkoderna i en PostScript-fil till kommandon som skrivaren förstår. För att skriva ut en fil med Ghostscript, kan du skriva ungefär såhär: $ gs -dSAFER -dNOPAUSE -sDEVICE=deskjet -sOutputFile=\|lpr thesis.ps Observera att utmatningen från Ghostscript faktiskt sänds till . Att skriva ut PDF-filer

printing!PDF files printing!Acrobat files PDF files!printing Acrobat files!printing Adobe har släppt en Acrobat-läsare för Linux. Denna är tillgänglig på Adobes hemsida, . Dess företrädare, xpdf, finns även att tillgå. Båda torde skriva till en PostScript-enhet. Att skriva ut TeX-filer

printing!TeX files TeX files!printing Ett av de enklaste sätten att skriva ut TeX-filer, är att först göra om dem till PostScript och därefter skriva ut dem med hjälp av Ghostscript. För att göra det, måste de först konverteras från TeX till ett format som kallas DVI (vilket står för ``device independent''). Det görs med kommandot $ tex thesis.tex $ dvips thesis.dvi Nu kan resultatet skrivas ut på så sätt som beskrivits ovan. Utskrift av filer som formateras med printing!troff files troff files!printing $ groff -Tascii thesis.tr | lpr eller, om du så vill, $ groff thesis.tr > thesis.ps Skriv sedan ut PostScriptfilen som ovan. (Översättarens anmärkning: Om filen innehåller svenska tecken, skall flaggan ``-Tlatin1'' användas.) Att skriva ut manualsidor

printing!man pages man pages!printing $ man man | col -b | lpr Manualsidorna innehåller förformaterad Diverse ting

Detta avsnitt innehåller information som inte finns någon annanstans. Att formatera före utskrift

printing!formatting files before Då de flesta ASCII-filer ej är formaterade för utskrift, kan det vara bra att formatera dem på något sätt innan de skickas till skrivaren. Det kan t.ex. innebära att placera titel och sidnummer på varje sida, sätta marginaler, skriva texten med dubbelt radavstånd, formatera med indrag och/eller skriva texten i flera spalter. Ett vanligt sätt att göra detta, är att använda en s.k. förprocessor, som exempelvis $ pr +4 -d -h"Doktorsavhandling, andra utkastet" -l60 thesis.txt | lpr I exemplet ovan tar Miljövariabeln PRINTER

printing!PRINTER environment variable PRINTER environment variable Alla kommandon som ingår i Linux utskriftshanterare accepterar flaggan - Istället för att var gång behöva ange skrivare, kan du sätta miljövariabeln PRINTER till namnet på den skrivare du vill använda. Detta görs på olika sätt i olika skal. I $ PRINTER="skrivar_namn"; export PRINTER och i csh, skriver du kommandot % setenv PRINTER "skrivar_namn" Dessa kommandon kan placeras i ditt loginskript (Svar på ofta ställda frågor printing!frequently asked questions printing!FAQ FAQ!printing usage

F1. Hur undviker jag ``trappstegseffekten'' (staircase på engelska)?

printing!staircase effect S1. ``Trappstegseffekten'' orsakas av det sätt på vilket vissa skrivare vill att radslut skall markeras. Somliga skrivare vill ha radslut markerade med vagnretur/radmatning (DOS-varianten) istället för endast radmatning, som UNIX-system använder. Enklaste sättet att åtgärda problemet är att undersöka om skrivaren kan växla mellan de två varianterna på något sätt---antingen genom att ändra en DIP-switch, eller att skicka en kontrollsekvens i början av varje utskrift. För att göra det senare, måste du skapa ett filter (se F2). Ett snabbt sätt att fixa det på är att använda ett filter på kommandoraden. Ett exempel är: $ cat thesis.txt | todos | lpr

F2. Vad är ett filter? printing!filter

S2. Ett filter är ett program som läser från standardinmatningen (

F3. Vad är ett magiskt filter? printing!magic filter

S3. Ett magiskt filter är ett filter som utför olika saker beroende på filens typ. Om filen t.ex. är en textfil, skrivs den ut som vanligt. Om filen är en PostScript-fil, eller i något annat format, skrivs den ut på något annat sätt (Ghostscript). Två exempel på magiska filter är magicfilter och APSfilter. En nackdel med dessa är att de nödvändiga programmen måste intalleras före filtret.

Anledningen till det är att filtret, när det installeras, undersöker vilka program som finns installerade (t.ex. Ghostscript---om det återfinns, vet filtret att PostScript kan hanteras). Filtret skapar därefter sig själv på grundval av de program som hittats: GhostScript TeX NetPBM jpeg-verktyg gzip

F4. Kommer Linux att kunna samarbeta med Windows utskriftshanterare? printing!Windows Printing System (WPS)

S4. Kanske. Skrivare som endast hanterar WPS-kommandon, kommer inte att understödjas av Linux. Skrivare som hanterar WPS- och andra kommandon (vilket exempelvis Canon BJC 610 gör) fungerar, så länge de är inställda på något annat än WPS. Andra skrivare, som en del HP DeskJet 820C0i/Cse, kommer *inte* att fungera med Linux. Däremot kan Linux fungera som en skrivarserver (se Samba) för Win95-datorer, eftersom Win95 har drivrutiner för sådana skrivare.

F5. Vad är det här för jävla system? Jag kan inte skriva ut mer än sex sidor utan att få ``file too large''. printing!file too large error

S5. En av inställningarna i filen /etc/printcap har att göra med den maximala storleken på en fil som skall skrivas ut. Standardvärdet är 1000 block på disken (ca 500 k?). Vad gäller PostScript-filer och liknande, innebär detta i storleksordningen 6--8 sidr (inklusive grafik). Lägg till följande rad i skrivardefinitionen: mx=0 Huvudskälet till begränsningen är att den partition som spool-katalogen finns på inte skall bli full. Det finns ett ytterligare sätt att kringgå begränsningen, nämligen genom att låta Felsökning printing!troubleshooting

I detta avsnitt behandlas några vanliga fel som kan uppkomma i samband med användning av utskriftshanteraren.

Om skrivaren inte fungerar: Fungerar andra skrivarjobb? (problem med applikationen?) Är lpd igång? (kontrollera med lpc) (print controller?) Kan Kan du göra utskrifter från DOS? (kabel-/skrivarproblem?) Svaren på dessa frågor kan hjälpa dig att finna en lösning. Skicka ytterligare förslag gällande detta avsnitt till <markk@auratek.com>. Referenser

printing!reference material Detta avsnitt innehåller referenser vad gäller Linux utskriftshanterare. Jag har försökt hålla avsnittet så inriktat på ämnet som möjligt. Om du tycker att jag har glömt någon viktig referens, så tveka inte att kontakta mig.

Betänk följande, innan du postar en fråga till en USENET-grupp: Tar skrivaren emot skrivarjobb? (Använd lpc(8) för att kontrollera detta.) Kan du finna svaret på din fråga i denna HOWTO eller Grant Taylors ``Printing HOWTO''?

Om någon av ovanstående frågor kan besvaras med ``ja'', kanske du skall tänka efter två gånger innan du skickar frågan. Och när du slutligen skickar frågan till en nyhetsgrupp, försök då att få med all information som behövs. Fråga inte bara något i stil med ``Jag har problem med lpr. Snälla, hjälp mig!'' Den typen av brev, kommer de flesta definitivt att hoppa över. Ange även vilken version av kärnan du använder, på vilket sätt felet inträffade och, om det finns, exakt det felmeddelande som systemet gav. Manualsidor printing!related man pages cat(1) slå samman och skriv filer dvips(1) konvertera en DVI-fil från TeX till PostScript ghostview(1) Visa PostScript-dokument med hjälp av Ghostscript groff(1) ``framsida'' till formateringssystemet groff gs(1) Ghostscripttolk/-visare lpc(8) styrprogram för skrivarna lpd(8) skrivardemon lpq(1) program för att titta på skrivarköer lpr(1) skriv ut i bakgrunden lprm(1) ta bort jobb från skrivarköer pr(1) konvertera textfiler för utskrift tex(1) textformaterings- och typpsättningsprogram

USENET nyhetsgrupper printing!relates newsgroups comp.os.linux.* varierande information om Linux comp.unix.* UNIX-relaterade diskussioner