[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SSLUG] Linux HOWTO - Att Skriva Ut
Hej, samtliga!
Nu jävlar! ...
... har jag fått den första versionen av översättningen av
Linux-Printing-Usage-HOWTO till svenska klar. Jag slänger med den i detta
brev, om någon har lusta att kolla på den och ge konstruktiv kritik. Den
går också att beskåda på min "hemsida"
<http://www.tufvan.hv.se/~pnidv96/>, som i övrigt inte är mycket att se:-(
Som sagt, tag gärna en titt på dokumentet och hoppas att någon kan få
nytta av det. Andra fomat n text och html kan fås på begäran.
Hej!
(Linux Printing Usage HOWTO) Linux HOWTO---Att Skriva Ut
by Mark Komarinski <markk@auratek.com>
Översättning: Peter Nilsson <pnidv96@tufvan.hv.se>
v1.2, 10 September 1996
1. Inledning
I detta dokument beskrivs den utskriftsshanterare (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.
(Översättarens anmärkning: Detta dokument är ett utkast i den meningen
att det på några punkter innehåller språkliga svagheter. De grövsta av
dessa är makrerade med (formulering?).)
1.1. 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 djupet av den information som tagits med
(formulering?). 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.
1.2. Versionshistorik
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
1.3. 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
begynnnelsebokstav, eller med endast stora bokstäver.
(c) 1995 Matt Foster (mwf@engr.uark.edu)
(c) 1996 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 för 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 (formulering?) dem.
Kontakta Greg Hankins, koordinatör för HOWTO-dokument, på adressen
<gregh@sunsite.unc.edu>. Du kan använda finger för telefonnummer, m.m.
1.4. Att hämta hem HOWTO-dokument om ytskrift
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 <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/>).
1.5. 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 <pnidv96@tufvan.hv.se>.)
1.6. 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.
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
Utskriftssystemet som används under Linux---Det s.k. lp-systemet---är
en anpassning av den källkod som framställts vid University of
California till Berkley-distributionen av UNIX (BSD).
2.2. Att skriva ut en fil med hjälp av lpr
Det allra simplaste 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 utföra något i stil med
# cat thesis.txt > /dev/lp
I dethä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-daemonen 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 lopian 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 utmatnin
gen 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 ``titelsidan`` (formulering?) inte 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 default-skrivarens 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å default-skrivaren.
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 i 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.
· 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) - avsluta lpc
· restart val - startar om lpd för skrivaren
· status val - visa skrivarens status
· up val - slår på utskrift och startar lpd på nytt
3. Diverse Saker
I detta avsnitt beskrivs diverse saker du kan behöva veta om att
skriva ut under Linux.
3.1. Att formatera före utskrift
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 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.
$ pr +4 -d -h"Ph.D. Thesis, Andra Utkastet" -l60 thesis.txt | lpr
I exemplet ovan, tar pr innehållet i filen thesis.txt och hoppar över
de tre första sidorna (+4), sätter sidlängden till 60 rader (-l60),
använder dubbelt radavstånd (-d) och placerar texten ``Ph.D. Thesis,
Andra Utkastet'' överst på varje sida (-h). Utmatningen från pr sänds
så till lpr. Se manualsidan, om du vill ha ytterligare information om
pr.
3.2. Miljövariabeln PRINTER
Alla kommandon som ingår i Linux utskriftshanterare accepterar växeln
-P. Denna växel tillåter användaren att bestämma vilken skrivare som
skall användas. Om användaren inte anger vilken skrivare som skall
användas, kommer utmatningen att skickas till default-skrivaren.
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ätta i olika skal. I bash görs det med
$ PRINTER="skrivar_namn"; export PRINTER
och i csh, skriver du kommandot
% setenv PRINTER "skrivar_namn"
Dessa kommandon kan placeras i ditt loginskript (.profile för bash,
eller .cshrc för csh), eller ges på kommandoraden. (Se bash(1) och
csh(1) för ytterligare information om miljövariabler.)
3.3. Att skriva ut grafik
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å grund av 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 NetPBM användas för att
konvertera till PCL. Slutligen kan du använda Ghostscript (se nästa
avsnitt).
Det bästa är att installera programpaket som NetPBM och Ghostscript
och använda ett s.k. magiskt filter (``magic filter'' på engelska) som
tar hand om grafikfilerna automagiskt.
3.4. Utskrift av PostScript-filer
Att skriva ut PostScript på en skrivare som har en inbyggd PostScript-
tolk, är inte svårt; använd bara lpr, så sköter skrivaren detaljerna.
Vi andra, som inte har en PostScript-skrivare, får välja ett annat
tillvägagångssätt. Lyckligtvis finns det program som förstår
PostScript och kan översätta det till ett språk som de flesta skrivare
förstår. Troligen är det mest kända av dessa program Ghostscript.
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 utföra något som linkar detta:
$ gs -dSAFER -dNOPAUSE -sDEVICE=deskjet -sOutputFile=|lpr thesis.ps
Observera att utmatningen från Ghostscript faktiskt sänds till lpr i
exemplet ovan. Det beror på att växeln sOutputFile används.
Ghostview är ett gränssnitt till Ghostscript för X Windows. Detta
program möjliggör förhandsgranskning av en PostScript-fil innan den
skrivs ut. Ghostview och Ghostscript kan båda hämtas från
<ftp://prep.ai.mit.edu/pub/gnu/>.
3.5. Att skriva ut PDF-filer
Det finns inget program för att titta på Adobe PDF, men väl ett
program kallat xpdf, vilket kan ge ifrån sig data i form av
PostScript.
3.6. Att skriva ut TeX-filer
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(1). Sedan konverteras DVI-
filen till PostScript med dvips. Detta ser ut som följer, när det
skrivs in:
$ tex thesis.tex
$ dvips thesis.dvi
Nu kan resultatet skrivas ut på så sätt som beskrivits ovan.
3.7. Utskrift av filer som formateras med troff
$ 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: Jag känner inte till om något av dessa
kommandon fungerar med filer skrivna i ISO-8859-1 (latin1).)
3.8. Att skriva ut manualsidor
$ man man | col -b | lpr
Manualsidorna innehåller förformaterad troff-data, så fetstil,
understrykningar etc. måste tas bort. Kommandot 'col' gör detta på ett
trevligt sätt, och eftersom vi sänder utmatningen från man direkt till
ett annat program via ett ``rör'' (formulering?), så körs inte more.
4. Svar På Ofta Ställda Frågor
F1. Hur undviker jag ``trappstegseffekten'' (staircase på engelska)?
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 escape-sekvens i början av varje utskrift.
För att göra det senare, måste du skapa ett filter (se F2 eller
Foster95b).
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?
S2. Ett filter är ett program som läser från standardinmatningen
(stdin), bearbetar den inlästa datan och därefter skriver till
standardutmatningen (stdout). Filter används till många saker, bl.a.
bearbetning av text.
F3. Vad är ett magiskt 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 desa ä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?
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.
F5. Vad är dethär för jävla system? Jag kan inte skriva ut mer än sex
sidor utan att få ``file too large''.
S5. En av inställningarna i filen /etc/printcap har att göra med den
maximala storleken på en fil som skall skrivas ut. Default-vä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-katalo
gen finns på inte skall bli full. Det finns ett ytterligare sätt att
kringgå begränsningen, nämligen genom att låta lpr skapa en symbolisk
länk från spool-katalogen till filen som skall skrivas ut. Du måste då
komma ihåg växeln -s var gång du kör lpr.
5. Felsökning
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? (applikationen)
· Är lpd igång? (kontrollera med lpc) (print controller)
· Kan root skicka något direkt till skrivaren? (utskriftsrutinerna)
· 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>.
6. Referenser
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 ``The Printing
Setup 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. Försök att inte bara fråga något i stil med
``Jag har problem med lpr. Snäla, 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
· 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) skrivardaemon
· lpq(1) program för att titta på skrivarköer
· lpr(1) off-line printer (formulering?)
· lprm(1) ta bort jobb från skrivarköer
· pr(1) konvertera textfiler för utskrift
· tex(1) textformaterings- och typpsättningsprogram
USENET nyhetsgrupper
· comp.os.linux.* varierande information om Linux
· comp.unix.* UNIX-relaterade diskussioner
--
HaDe/P