home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 May
/
Chip_2000-05_cd2.bin
/
docu
/
ascii
/
suselxde
/
slxde-12.txt
< prev
next >
Wrap
Text File
|
2000-02-29
|
60KB
|
1,183 lines
Kapitel 12
Druckerbetrieb
Im Rahmen der Installation mit YaST haben Sie wahrscheinlich bereits die
erste Druckerkonfiguration unter Linux hinter sich (vgl. Abschnitt 3.6.1 auf
Seite 100). Dieses Kapitel zeigt nun das Wesentliche der VorgΣnge hinter
den Kulissen": nicht eben jede Einzelheit, aber doch so detailliert, dass Sie
das Grundschema der AblΣufe im Druckerbetrieb verstehen k÷nnen.
12.1 ▄berblick: Schnittstellen, Warteschlangen (Spooling)
Die parallelen Schnittstellen
Der Anschluss eines Druckers an ein Linux-System erfolgt in der Regel ⁿber
eine parallele Schnittstelle.
Seit dem Kernel 2.2.xx gibt es das parport-Subsystem, dem die parallelen
Schnittstellen durch Laden architekturspezifischer Zusatztreiber bekanntzu-
machen sind (vgl. Abschnitt 10.4.3 auf Seite 302 ff.). So k÷nnen nun meh-
rere, in Kette geschaltete GerΣte ⁿber eine parallele Schnittstelle gleichzei-
tig bedient werden. Zudem beginnt die ZΣhlung der GerΣtedateien fⁿr den
Drucker jetzt standardmΣ▀ig bei /dev/lp0! Um ⁿber die erste parallele
Schnittstelle drucken zu k÷nnen, mⁿssen beim SuSE-Standardkernel die Mo-
dule parport, parport_pc und lp geladen sein ¡ dies erledigt der kmod
(engl. Kernel Module Loader) in der Regel automatisch (vgl. Abschnitt 13.2
auf Seite 355), sobald ein Druckauftrag abgeschickt wird. Wenn die parallele
Schnittstelle nicht gefunden wird, k÷nnen Sie mit Kernel-Parametern nach-
helfen; vgl. auch auf Seite 393 f.
Sie k÷nnen zum Test von Schnittstelle und Drucker mit einem Befehl wie
erde: # echo hello > /dev/lp0
oder
erde: # cat TEXTDATEI > /dev/lp0
direkt Daten zur Schnittstelle hinausschicken, aber nur als `root' (Sys-
temadministrator)! Fⁿr Normalbetrieb ist dieses Verfahren in einem Multitas-
king-System ganz ungeeignet, da jederzeit mit Druck-Wⁿnschen von mehre-
ren Prozessen parallel zu rechnen ist und am Drucker ein heilloses Durchein-
ander ausbrΣche. Statt dessen werden DruckauftrΣge ⁿber Druckwarteschlan-
gen (engl. Queues) abgewickelt.
Die Schnittstellen arbeiten standardmΣ▀ig im Polling-Betrieb (die CPU muss
regelmΣ▀ig bei ihnen anfragen, ob ein Datentransfer ansteht). Der Systemver-
331
12. Druckerbetrieb
walter `root' kann sie beim Laden des parport-Systems oder ⁿber das
/proc-Dateisystem auf den etwas gⁿnstigeren Interrupt-Betrieb umstellen
sowie mit dem Programm tunelp weitere Einstellungen zur Leistungssteige-
rung vornehmen, vgl. die Manual-Page von tunelp (man tunelp) sowie
die in Abschnitt 10.4.3 auf Seite 302 ff. genannten Dokumente bei den Ker-
nelquellen. ▄berprⁿfen Sie aber vorher die IRQ- und Port-Einstellungen an
der Schnittstellen-Hardware (das geschieht meist im BIOS oder per Jum-
per)!
Spooling-Betrieb, Druckwarteschlangen
Unter Linux werden Drucker, wie auch bei anderen Multitasking-Systemen,
ⁿber einen Spooling"-Mechanismus (Druckwarteschlangen) angesprochen,
d. h. die DruckauftrΣge werden zunΣchst in temporΣren Dateien zwischenge-
speichert und unter Kontrolle eines Steuerprogramms (Daemons) der Reihe
nach abgearbeitet. So k÷nnen mehrere Anwender gleichzeitig DruckauftrΣge
an das System schicken, ohne dass es zu Konflikten kommt. Nach dem Ab-
schicken eines Druckauftrags kann der Anwender sofort weiterarbeiten, ohne
auf den Drucker warten zu mⁿssen.
Eine Druckwarteschlange besteht aus
* einem Eintrag in /etc/printcap, der die Warteschlange definiert;
* einem Verzeichnis, ⁿblicherweise unter /var/spool/lpd, in das fⁿr
jeden Druckjob eine Datendatei und eine Steuerdatei gestellt werden.
Jede Warteschlange wird von genau einem Drucker abgearbeitet. Es k÷nnen
mehrere Warteschlangen fⁿr ein und denselben Drucker eingerichtet werden.
SuSE Linux enthΣlt das BSD-Spooling-System der University of California
at Berkeley im Paket lprold. Es ist grundsΣtzlich fⁿr den Betrieb ⁿbers
Netzwerk angelegt und setzt voraus, dass TCP/IP konfiguriert ist und lΣuft.
Fⁿr die Konfiguration ist es nur ein ganz geringer Unterschied, ob Druckwar-
teschlangen lokal oder auf entfernten Rechnern eingerichtet und verwendet
werden sollen.
Die Abarbeitung eines Druckjobs unter Linux erfolgt in drei Schritten:
* Die Datendatei wird in das Verzeichnis einer Druckwarteschlange kopiert
und mit einer neu angelegten Steuerdatei zu einem Job vervollstΣndigt.
* Die Datendatei wird nach Ma▀gabe der Steuerdatei durch ein Filterpro-
gramm geschickt, das aus ihr eine Folge von Anweisungen fⁿr den be-
treffenden Drucker erzeugt; d. h. das Filterprogramm stellt einen Daten-
strom im druckerspezifischen Format her, z. B. PostScript, PCL, Esc/P2
etc.). Diese Konvertierung kann mehr als einen Teilschritt umfassen und
wird bei SuSE Linux vom apsfilter (Paket aps) erledigt; vgl. unten Ab-
schnitt 12.3 auf Seite 334 ff.
* Die druckerspezifische Datei wird, gemΣ▀ der Reihenfolge in der Druck-
warteschlange, auf den Drucker ausgegeben.
332
12.2. Druckwarteschlangen: Betrieb und Konfiguration
12.2 Druckwarteschlangen: Betrieb und Konfiguration
Am besten schauen wir uns einmal der Reihe nach an, bei welchen Stationen
ein Druckauftrag auf seinem Weg von der Anwenderdatei zum Drucker vor-
beikommt und welche Programme sich Schritt fⁿr Schritt um ihn kⁿmmern.
Viele der Einzelheiten, die wir hier der Kⁿrze halber ⁿbergehen mⁿssen,
finden sich in der Manual-Page von lpr (man 1 lpr), der Manual-
Page von lpd (man 8 lpd) und der Manual-Page von printcap
(man 5 printcap).
lpr: Bitte hinten anstellen!
Der lpr ist die alltΣgliche Anwenderschnittstelle" zu den vorhandenen
Druckwarteschlangen. Im allgemeinen wird ein Job in Auftrag gegeben mit
einem einfachen Befehl wie
tux@erde: > lpr [-Pwarteschlange] textdatei
Wenn Sie die Option -P ( Printer", fⁿr den Warteschlangen-Namen) weg-
lassen, ist die Voreinstellung der Inhalt der Umgebungsvariablen PRINTER.
Ist diese leer, so wird der traditionelle Standard-Warteschlangenname lp ver-
wendet. Dies gilt ⁿbrigens ebenso fⁿr lpq und lprm (s. u.).
Zwischen der Option -P und dem Druckernamen warteschlange darf
kein Leerzeichen stehen.
lpr prⁿft anhand der /etc/printcap, ob die angegebene Warteschlange
vorhanden ist. Wenn ja, erzeugt er fⁿr den Job die Steuerdatei (cf-Datei) und
eine Kopie der Datendatei und ⁿbergibt das dem Druckmanager lpd, der den
Job ins Spool-Verzeichnis der Warteschlange aufnimmt.
Bei besonders gro▀en DruckauftrΣgen kann es zweckmΣ▀ig sein, anstatt einer
Kopie der Datendatei einen symbolischen Link darauf ins Spool-Verzeichnis
stellen zu lassen. Dies leistet die lpr-Option -s. Natⁿrlich sollten Sie dann
auf Schreibzugriffe auf diese Datei verzichten, bis der Druckjob beendet ist!
lpr erlaubt Ihnen mit Zusatzoptionen, von Hand einen bestimmten Filter
(Druckertreiber) fⁿr Ihren Job auszuwΣhlen (dies dⁿrfte nur selten n÷tig sein).
Mehr dazu in der Manpage zum lpr und im Abschnitt 12.3 auf Seite 335 ⁿber
Filter.
Zusatz- und Steuertools fⁿr den Anwender: ▄berblick
Zum Verwalten von Druckerwarteschlangen gibt es das nette graphische Pro-
gramm Paket xlpq, Serie xap; beachten Sie aber bitte, dass die im Folgen-
den genannten Kommandozeilen-Tools aufgrund zusΣtzlicher Optionen noch
etwas mehr k÷nnen.
Fⁿr Manipulationen an den Druckwarteschlangen brauchen Sie `root'-
Rechte, d. h. wenn Sie beispielsweise fremde DruckauftrΣge l÷schen wol-
len, mⁿssen Sie als `root' arbeiten.
333
12. Druckerbetrieb
* lpq zeigt eigene Jobs in einer Warteschlange (Option -P) an; z. B. produ-
ziert die Eingabe
tux@erde: > lpq -Pwarteschlange
das Ergebnis in Ausgabe 12.2.1 auf der nΣchsten Seite.
warteschlange is ready and printing
Rank Owner Job Files Total Size
active tux 676 Hallo.txt 259420 bytes
1st tux 677 brief.dvi 11578 bytes
2nd tux 683 bild.gif 37464 bytes
Ausgabe 12.2.1: Beispiel einer Ausgabe des Befehls lpq.
* lprm l÷scht eigene Jobs aus einer Warteschlange; z. B. produziert die
Eingabe
tux@erde: > lprm -Pwarteschlange 676
das Ergebnis in Ausgabe 12.2.2.
dfA676Aa05005 dequeued
cfA676Aa05005 dequeued
Ausgabe 12.2.2: Beispiel einer Ausgabe des Befehls lprm.
Wird keine Jobnummer angegeben, so wird der momentan aktive Job,
wenn es ein eigener ist, aus der betreffenden Warteschlange gel÷scht.
* lpc (mit dem Pfad /usr/sbin/lpc) Steuerung der Warteschlangen.
Fⁿr den Warteschlangen-Namen kann dabei auch all (= alle) angegeben
werden. Die wichtigsten Optionen sind:
¡ status warteschlange Gibt einen Statusbericht. Fehlt die An-
gabe warteschlange, so wirkt das wie all, d. h. Statusbericht fⁿr
alle Warteschlangen.
¡ disable warteschlange Stoppt die Aufnahme neuer Jobs in
die Warteschlange.
¡ enable warteschlange Gibt die Warteschlange fⁿr die Auf-
nahme neuer Jobs frei.
¡ stop warteschlange Stoppt das Ausdrucken von Jobs aus der
Warteschlange (der gerade im Druck befindliche Job wird noch been-
det).
¡ start warteschlange Nimmt das Ausdrucken von Jobs aus
der Warteschlange wieder auf.
¡ down warteschlange Wirkt wie disable plus stop .
¡ up warteschlange Wirkt wie enable plus start .
¡ abort warteschlange Wirkt wie down, nur dass ein gerade
im Druck befindlicher Job sofort abgebrochen wird. Die Jobs bleiben
aber erhalten und k÷nnen nach Restart der Warteschlange (up) weiter
bearbeitet werden.
334
12.2. Druckwarteschlangen: Betrieb und Konfiguration
Sie k÷nnen diese Kommandos dem lpc gleich in der Kommandozeile
mitgeben (z. B. lpc status). Oder Sie rufen lpc ohne Parameter auf:
dann wird ein Dialogmodus mit eigenem Prompt lpc> gestartet, der die
Eingabe von lpc-Kommandos erwartet. Mit quit oder exit beenden
Sie den Dialog.
DruckauftrΣge bleiben auch in den Warteschlangen erhalten, wenn Sie
wΣhrend eines Druckvorgangs den Rechner bewusst herunterfahren und
dann Linux neu starten ¡ einen eventuell fehlerhaften Druckauftrag mⁿssen
Sie mit den oben vorgestellten Befehlen aus der Warteschlange entfernen.
lpd: der Druck-Manager im Hintergrund
Der lpd (engl. Line Printer Daemon) wird beim Systemstart durch das Skript
/sbin/init.d/lpd aktiviert, wenn in der /etc/rc.config die Va-
riable START_LPD=yes gesetzt wurde. Er lΣuft als Daemon im Hinter-
grund.
lpd stellt beim Start anhand der /etc/printcap fest, welche Druckwar-
teschlangen definiert sind. Seine Aufgabe ist, die Ausfⁿhrung der gespoolten
Jobs zu organisieren:
* er managt die lokalen Warteschlangen: er schickt die Datendatei eines
jeden Jobs durch den passenden Filter (festgelegt durch den Eintrag der
Warteschlange in /etc/printcap sowie durch explizite Angaben in
der Job-Steuerdatei) und dann zur Druckerschnittstelle;
* er berⁿcksichtigt die Reihenfolge der Jobs in den Druckwarteschlangen;
* er ⁿberwacht den Status der Warteschlangen und Drucker (Datei status
in den lokalen Spool-Verzeichnissen) und gibt auf Verlangen Auskunft
darⁿber;
* er leitet DruckauftrΣge an Warteschlangen auf entfernten Rechnern an den
dortigen lpd weiter;
* er nimmt DruckauftrΣge von entfernten Rechnern fⁿr lokale Warteschlan-
gen an oder weist sie bei ungenⁿgender Autorisierung ab.
Autorisierung: Nur Anfragen von entfernten Hosts (engl. remote), die in der
Datei /etc/hosts.lpd des Printservers" aufgefⁿhrt sind, werden an-
genommen; ein Eintrag des Hosts in /etc/hosts.equiv genⁿgt auch,
aber dies hat sehr weitreichende Folgen fⁿr allgemeine Zugriffsm÷glichkei-
ten von diesem Host auf den lokalen Rechner; es sollte der Sicherheit wegen
m÷glichst vermieden werden (vgl. im Sicherheitskapitel Abschnitt 18.2.2 auf
Seite 472). ZusΣtze in der Definition der Warteschlange k÷nnen weiter ein-
schrΣnken auf User einer bestimmten Gruppe oder User mit Accounts auf
dem lokalen Rechner.
Filter: die Arbeitstiere
Die Filterprogramme haben die Aufgabe, die Datendatei eines Jobs in
das druckerspezifische Format zu ⁿberfⁿhren (zur Konfiguration vgl. Ab-
schnitt 12.3 auf der nΣchsten Seite). Ihnen obliegt der L÷wenanteil der
335
12. Druckerbetrieb
eigentlichen Bearbeitung des Druckjobs. Sie entsprechen damit von ihrer
Funktion her den Druckertreibern auf anderen Systemen wie Windows oder
OS/2. ZusΣtzlich haben sie auf Wunsch ⁿber die Druckjobs abzurechnen:
Umfang, verbrauchte Betriebsmittel ...
/etc/printcap: Konfiguration der Warteschlangen
In der /etc/printcap wird jede verfⁿgbare Druckwarteschlange durch
einen einzeiligen Eintrag definiert. Das Newline-Zeichen (Zeilenwechsel)
schlie▀t den Eintrag ab: dies kann jedoch ¡ fⁿr lange EintrΣge ¡ durch
einen unmittelbar vorausgehenden Rⁿckstrich `\' aufgehoben werden. Der
Eintrag beginnt mit einem oder mehreren Namen fⁿr die Warteschlange
(Trennzeichen `|' ), gefolgt von einer Liste von Spezifikationen der Form1
kⁿrzel=<Wert> (Listentrennzeichen `:' ). Leere Zeilen und solche, die
mit einem # beginnen, werden ignoriert (Kommentare).
In der vorinstallierten /etc/printcap sind bereits eine Anzahl von (aus-
kommentierten) BeispieleintrΣgen enthalten. Ein ganz einfacher Eintrag ohne
jeden Filter sieht z. B. aus wie in Datei 12.2.1.
ascii|deskjet:lp=/dev/lp0:sd=/var/spool/lpd/ascii:sh:mx#10240
Datei 12.2.1: /etc/printcap: einfache lokale Warteschlange
Diese Warteschlange kann unter den Namen ascii und deskjet ange-
sprochen werden. Ihr Spoolverzeichnis ist /var/spool/lpd/ascii, ihr
Drucker /dev/lp0. Sie gibt keine Titelseiten zu Beginn von Jobs aus (sh
bedeutet suppress header") und akzeptiert Druckjobs bis zu 10240 KB. ¡ Ein
Beispiel fⁿr eine Warteschlange auf einem entfernten Rechner finden Sie in
Datei 12.2.2; zur Konfiguration vgl. Abschnitt 12.4 auf Seite 341 ff.2
lp1|HP-4P:\
:rm=sonne.kosmos.all:\
:rp=HP:\
:sd=/var/spool/lpd/lp1:\
:mx#0:sh
Datei 12.2.2: /etc/printcap: einfache entfernte Warteschlange
Die Warteschlange hat die Namen lp1 und HP-4P. Statt der GerΣteanga-
be (lp=) wird hier auf den Host sonne.kosmos.all und dessen War-
teschlange HP verwiesen. Angaben ⁿber Filter erⁿbrigen sich ¡ dafⁿr ist die
Warteschlange auf sonne.kosmos.all zustΣndig ¡, sodass hier nur noch
das Spoolverzeichnis /var/spool/lpd/lp1 und die Gr÷▀enbeschrΣn-
kung fⁿr Jobs (mx#0 bedeutet: keine BeschrΣnkung) definiert worden sind.
1 Alle Kⁿrzel samt Bedeutung und Voreinstellung sind in der Manual-Page von printcap
(man printcap) beschrieben.
2 Die Rⁿckstriche \ unmittelbar vor dem Zeilenbruch verstecken" diesen ¡ genauso wie bei der
Eingabe von Shellkommandos ¡, sodass der Eintrag als einzeilig gilt.
336
12.3. Druckerfilter ¡ der apsfilter"
Wenn Sie den apsfilter verwenden, werden bei der Konfiguration die n÷tigen
neuen Druckwarteschlangen automatisch in die /etc/printcap eingetra-
gen. NΣheres unten in Abschnitt 12.3 auf Seite 337.
12.3 Druckerfilter
Was Druckerfilter sind und wie sie arbeiten
Wie bereits erwΣhnt, ist die Aufgabe eines Druckerfilters, die Datendatei ei-
nes Druckjobs in das spezifische Format des betreffenden Druckers umzu-
wandeln.
Ein Filter erhΣlt beim Aufruf durch lpd als Zusatzinformation lediglich Pa-
piergr÷▀e, Login-Namen und Host des Auftraggebers und den Namen der Da-
tei fⁿr die Abrechnung. Als echter Unix-Filter erhΣlt er die Datendatei ⁿber
die Standardeingabe und muss das druckbare Ergebnis ⁿber die Standardaus-
gabe abliefern.
Natⁿrlich muss der Filter fⁿr die Konvertierung wissen, welches Dateiformat
die Daten haben (ASCII-Text, DVI, PostScript usw.). Es gibt zwei M÷glich-
keiten, das zu bewerkstelligen:
* Der Filter ist intelligent" genug, um selbst an den Daten zu erkennen,
welches Format vorliegt. Er ist dann zusammengesetzt aus einem Vor-
Filter" zur Formaterkennung und mehreren weiteren Programmen, die die
eigentliche Konvertierungsarbeit leisten.
Das ist ¡ grob gesagt ¡ die Arbeitsweise des Programms apsfilter, das in
SuSE Linux standardmΣ▀ig zur Installation vorgesehen ist.
* Verschiedene Filter fⁿr verschiedene Dateiformate. Die Filter werden
durch Eintrag in die /etc/printcap der Warteschlange zugeordnet;
die Auswahl trifft der Benutzer durch eine Zusatzoption beim Aufruf von
lpr. Es sind acht M÷glichkeiten vorgesehen:
printcap Eintrag if= cf= df= gf= nf= rf= tf= vf=
lpr Option -c -d -g -n -f -t -v
Diese Optionen sind traditionsgemΣ▀3 ganz speziellen Dateiformaten zu-
geordnet (zwingend ist aber nur die Zuordnung von lpr-Option zum Fil-
tereintrag, nicht die Tradition4). Zum Beispiel bezeichnet if= den Stan-
dardfilter und df= den Filter fⁿr DVI-Dateien (dem Output von TEX und
LATEX). So k÷nnten Sie etwa mit dem Eintrag in Datei 12.3.1 einen ei-
genen DVI-Filter fⁿr den HP LaserJet 4 bereitstellen, wenn das Paket
te_dvilj installiert ist (heutzutage ist es allerdings empfehlenswert,
auch bei diesem Drucker den zustΣndigen Ghostscript- Treiber" ljet4
zu bevorzugen).
df="/usr/bin/dvilj4 -e- -"
Datei 12.3.1: DVI-Filtereintrag in /etc/printcap
3 Siehe Manpage zu lpr.
4 So ist z. B. ein Nullfiltereintrag" cf=/bin/cat ohne weiteres zulΣssig und wird bei einem
lpr -c Befehl getreulich benutzt.
337
12. Druckerbetrieb
apsfilter
Das Paket aps stellt mit dem apsfilter einen sehr komfortablen Filter zur
Verfⁿgung. apsfilter nutzt die folgenden UmstΣnde aus:
* Das Standardformat fⁿr druckbare Daten ist in der Unix-Welt PostScript.
* Es gibt eine Reihe von Tools, die andere Text- und Bilddateiformate in
PostScript-Dateien konvertieren, z. B. dvips fⁿr DVI-Dateien, a2ps fⁿr
ASCII-Dateien, das Paket netpbm, Serie gra fⁿr Grafikdaten etc.
* Verfⁿgbar ist gleichfalls das mΣchtige Programm Ghostscript, das imstan-
de ist, PostScript-Dateien in eine Vielzahl druckerspezifischer Formate
fⁿr Nicht-PostScript-Drucker zu ⁿberfⁿhren (sozusagen eine umfangrei-
che Druckertreiber-Sammlung).
apsfilter fasst alle diese Programme gemeinsam mit den n÷tigen Tools zur
Formaterkennung (file) und Dekompression unter einem organisatorischen
Dach zusammen. Es leitet den Input, abhΣngig vom Ergebnis der Format-
erkennung, der Reihe nach durch alle notwendigen Tools hindurch bis zum
druckfertigen Datenstrom.
In /var/lib/apsfilter/apsfilter, dem zentralen Shellskript, wer-
den die folgenden unterstⁿtzten Dateiformate und Kompressionstypen ge-
nannt:
* ASCII, DVI, PS, Data (PCL, ... ), GIF, TIFF, PBM, Sun Raster, X11-
Bitmap
* Kompressionstypen: compress, gzip, freeze
Die apsfilter-Druckwarteschlangen
Das Programm apsfilter bietet fⁿr einen lokalen Drucker die folgenden War-
teschlangen an:
lp ¡ Standard-Warteschlange fⁿr alle Dateiformate.
lp-mono ¡ Wird nur bei Farbdruckern angelegt und druckt schwarzwei▀,
verarbeitet ansonsten wie lp alle Dateiformate.
ascii ¡ Zum Ausdrucken von Dateien als ASCII-Textdatei, auch wenn das
Spooling-System ein anderes Format vermutet5.
raw ¡ Zum Ausdruck von Dateien, die bereits im druckerspezifischen For-
mat sind: es findet keinerlei Konvertierung statt.
Sie k÷nnen auch weitere lokale Drucker konfigurieren; die Warteschlan-
gen-Namen enthalten dann zur Unterscheidung den Namen des betref-
fenden Ghostscript-Druckertreibers, z. B. djet500, djet500-ascii,
djet500-raw usw.
ASCII-Dateien: In der /etc/apsfilterrc ist fⁿr die Filterung voreinge-
stellt:
* ASCII-Dateien mit a2ps in PostScript ⁿberfⁿhren;
* a2ps-Format: 2 ASCII-Seiten nebeneinander im Querformat auf eine
Druckseite.
5 z. B. bei der Anwesenheit von deutschen Umlauten.
338
12.3. Druckerfilter ¡ der apsfilter"
Sie k÷nnen das Format Σndern, indem Sie dort die Variable FEATURE auf
einen anderen der im Kommentar angebotenen Werte setzen. Wollen Sie die
Umwandlung in PostScript ⁿberhaupt umgehen und im ASCII-Modus des
Druckers ausdrucken, so entfernen Sie das Kommentarzeichen # am Zeilen-
anfang des Befehls USE_RECODE_NOT_A2PS=yes und achten Sie darauf,
dass das Paket recode, Serie ap installiert ist.
apsfilter: Konfiguration
apsfilter kann mit YaST oder mit dem eigenen, menⁿgefⁿhrten Skript SETUP
(lprsetup) konfiguriert werden.
Die Konfiguration arbeitet nur dann richtig, wenn in der /etc/
printcap die auskommentierten Kennungen am Anfang und Ende der
apsfilter-EintrΣge nicht verΣndert werden (vgl. Datei 12.3.2 auf der nΣchs-
ten Seite)!
Konfiguration mit YaST
Die Druckerkonfiguration mit YaST ist der normale Weg, um einen loka-
len Drucker neu einzurichten. Ist bereits eine frⁿhere apsfilter-Konfiguration
vorhanden, so fragt YaST zu Beginn, ob die neue Konfiguration die frⁿhe-
re ⁿberschreiben oder ob die neue Konfiguration zusΣtzlich hinzugenommen
werden soll. Die weitere Vorgehensweise ist bereits im YaST-Abschnitt 3.6.1
auf Seite 100 ff. beschrieben.
Wenn Sie Ihre neue Konfiguration installieren lassen, geschieht im einzel-
nen folgendes (gleich, ob Sie die Konfiguration mit YaST oder lprsetup
definiert haben):
* Eintrag der neuen Druckwarteschlangen in /etc/printcap (vgl. auf
der vorherigen Seite).
* Anlegen der Spoolverzeichnisse dafⁿr unter /var/spool/lpd/.
* Anlegen der zugeh÷rigen Druckerfilter unter /var/lib/apsfilter/
bin/ (es handelt sich dabei um symbolische Links auf die Datei /var/
lib/apsfilter/apsfilter).
* Anlegen der globalen Konfigurationsdatei /etc/apsfilterrc (falls
noch nicht vorhanden) und einer druckerspezifischen Konfigurationsdatei
/etc/apsfilterrc.<gs_mode>. Hier ist <gs_mode> der Ghost-
script-Druckername, z. B. bjc800 im folgenden Beispiel.
Ein Beispiel fⁿr die neuen Warteschlangen-EintrΣge zeigt Datei 12.3.2 auf der
nΣchsten Seite fⁿr den Canon BubbleJet 800.
Die drei EintrΣge sind v÷llig gleich aufgebaut, daher haben wir ein wenig
gekⁿrzt. Sie legen GerΣt (lp=), Spoolverzeichnis (sd=), Log-Datei (lf=),
Abrechnungs-Datei (af=) und Standardfilter (if=) fest. Unterdrⁿckt werden
Header-Blatt zu Beginn (sh) und Seitenvorschub (engl. formfeed) (sf) am
Ende eines Jobs.
339
12. Druckerbetrieb
### BEGIN apsfilter: ### bjc800 a4 mono 360 ###
# Warning: Configured for apsfil-
ter, do not edit the labels!
# apsfilter setup Thu Sep 18 11:40:40 MEST 1997
#ascii|lp1|bjc800-a4-ascii-mono-360|bjc800 a4 ascii mo-
no 360:\:lp=/dev/lp0:\
:sd=/var/spool/lpd/bjc800-a4-ascii-mono-360:\
:lf=/var/spool/lpd/bjc800-a4-ascii-mono-
360/log:\:af=/var/spool/lpd/bjc800-a4-ascii-mono-
360/acct:\
:if=/var/lib/apsfilter/bin/bjc800-a4-ascii-mono-
360:\
:la@:mx#0:\
:sh:sf:
#lp|lp2|bjc800-a4-auto-mono-360|bjc800 a4 auto mono 360:\
# [ ... gekⁿrzt ... ]
#raw|lp3|bjc800-a4-raw|bjc800 a4 raw:\
# [ ... gekⁿrzt ... ]
##### END apsfilter: ### bjc800 a4 mono 360 ###
Datei 12.3.2: apsfilter Warteschlangen in /etc/printcap
Konfiguration mit SETUP (lprsetup)
Das Paket aps enthΣlt das Konfigurationsprogramm SETUP (/var/lib/
apsfilter/SETUP), das leicht als lprsetup aufgerufen werden kann.
Es bietet die Dienste:
* Auflistung aller apsfilter-Druckerkonfigurationen
* Hinzufⁿgen und L÷schen von apsfilter-Druckerkonfigurationen.
Beim Hinzufⁿgen lokaler Drucker tut lprsetup (fast) dasselbe wie YaST.
Dazu kann lprsetup auch Warteschlangen anlegen und l÷schen, die auf
entfernte (engl. remote) Hosts verweisen ( entfernte Warteschlangen", vgl.
Datei 12.2.2 auf Seite 334) sowie intelligent eine Vorfilterung fⁿr Netzwerk-
drucker arrangieren.
lprsetup ist menⁿgesteuert und ¡ nach einer kurzen Einarbeitung ¡ un-
kompliziert zu bedienen.
1. Rufen Sie lprsetup auf:
erde: # lprsetup
Falls Sie unter dem X Window System in einem xterm Erkennungs-
schwierigkeiten haben (Stichwort: Gelb auf hellem Grau), starten Sie
340
12.3. Druckerfilter ¡ der apsfilter"
lprsetup auf der Textkonsole. ¡ Es erscheint ein Begrⁿ▀ungsbild-
schirm, der die schon genannten VorgΣnge beim Neu-Anlegen von aps-
filter-Druckern beschreibt. Mit geht es weiter zum Hauptmenⁿ:
EXIT Exit apsfilter setup
LISTING List all apsfilter entries
ENTRY Add/Overwrite/Delete an apsfilter entry
DELETE Fast delete an apsfilter entry
Die Wahl zwischen den Antwortfeldern `OK' und `Cancel' erfolgt in
allen Menⁿs mit Tab ;durch Auswahllisten bewegen Sie sich mit und
.
`EXIT' ¡ lprsetup beenden.
`LISTING' ¡ Alle bereits bestehenden Warteschlangen auflisten.
`ENTRY' ¡ Zum Hinzufⁿgen eines neuen Druckers dient der Menⁿ-
punkt `ENTRY'. Er fⁿhrt zu einem weiteren Menⁿ `Choose your
printer definition', in dem Sie Ihren Drucker definieren.
`DELETE' ¡ Zum L÷schen eines vorhandenen apsfilter-Druckers wΣh-
len Sie `DELETE' und erhalten dann eine Liste aller vorhandenen
apsfilter-Drucker zur Auswahl.
2. WΣhlen Sie also `ENTRY'. Fⁿr einen lokalen Drucker werden Sie hier
nach den gleichen Einzelheiten gefragt wie bei der Konfiguration mit
YaST. ZunΣchst wird nach dem `DEVICE' (Schnittstelle) gefragt; fⁿr
einen lokalen Drucker an der parallelen Schnittstelle antworten Sie beim
Kernel 2.2.xx hier mit /dev/lp0.
3. Jetzt ist folgendes sichtbar:
RETURN Back to previous menu
DEVICE Change printer interface
PRINTER Which printer driver
PAPER Which paper type
COLOR Monochrome/colorfull
SPECIAL Settings for your printer
RESET Reset the printer definition
ADD Add the printer definition
OVERWRITE Overwrite the printer definition
DELETE Delete the printer definition
`DEVICE' ¡ Das hatten wir bereits ausgewΣhlt.
`PRINTER' ¡ Kⁿmmern wir uns also nun um den `PRINTER' (Dru-
cker). Hier wird die passende Ghostscript-GerΣtebezeichnung ( Trei-
ber") herausgesucht. Dies geschieht in zwei Schritten:
(a) ZunΣchst wΣhlen Sie Ihren Druckertyp aus unter den M÷glichkeiten:
* `PostScript'
* `HEWLETT-PACKARD' (HP Deskjets)
* `OTHER' (andere, nicht PostScript-fΣhige Drucker)
* `FREEDEF' (freie Definition)
341
12. Druckerbetrieb
(b) Bei echten PostScript-Druckern mⁿssen Sie nur noch in einem Dia-
logfenster die Aufl÷sung angeben. Bei allen anderen Druckern er-
halten Sie unter dem Menⁿpunkt `COMMIT' die Liste der m÷gli-
chen Ghostscript-Treiber zur Auswahl. Ziehen Sie dazu bitte Ab-
schnitt 12.6 auf Seite 344 zurate. Nach Auswahl eines Ghostscript-
Treibers geben Sie dann gleichfalls im erscheinenden Dialogfenster
die Aufl÷sung Ihres Druckers an. ¡ Danach geht's mit `RETURN'
wieder zum ⁿbergeordneten Menⁿ.
`PAPER' ¡ Das Papierformat.
`COLOR' ¡ Farbig oder schwarzwei▀.
`SPECIAL' ¡ Diese Angaben sind in der Regel nicht notwendig.
4. Sie sind wieder im Menⁿ `Choose your printer definition'
gelandet. Bei Fehlern in der Definition k÷nnen Sie die einzelnen Unter-
menⁿs erneut anwΣhlen und korrigieren.
5. Wichtig: Mit `ADD' wird der neue Drucker schlie▀lich eingerichtet.
Schauen Sie ¡ z. B. mit less6 ¡ in der Datei /etc/printcap nach
den Namen Ihrer neuen Druckwarteschlangen. Jede apsfilter-Druckwarte-
schlange hat mehrere Namen: ausfⁿhrliche, die die Daten ihrer Definition
erkennen lassen, und kurze zur Bequemlichkeit (vgl. Datei 12.3.2 auf Sei-
te 338). Zudem sind lp, lp-mono, ascii, raw die Warteschlangen des
ersten lokalen Druckers.
Die Konfigurationsdateien apsfilterrc
Die Dateien /etc/apsfilterrc* bieten die M÷glichkeit, Einzelheiten
der Arbeit des apsfilter-Shellskripten mit Hilfe einiger Shell-Variablen noch
genauer zu steuern. StandardmΣ▀ig werden bei der Installation mit eingerich-
tet:
* eine globale /etc/apsfilterrc,
* druckerspezifische /etc/apsfilterrc.<gs_mode> jeweils fⁿr
die Warteschlangen mit dem Ghostscript-Druckertreiber <gs_mode>
(z. B. fⁿr den Canon BubbleJet 800: /etc/apsfilterrc.bjc800).
Die vorinstallierten Versionen dieser Dateien enthalten fⁿr alle vor-
gesehenen Variablen auskommentierte MustereintrΣge. In der globalen
/etc/apsfilterrc ist zudem die Bedeutung jeder Variablen in aus-
fⁿhrlichen Kommentaren erlΣutert; zum Nachlesen empfohlen ;-)
Die Variablen selbst sind in den druckerspezifischen Dateien dieselben wie
in der globalen /etc/apsfilterrc, und zur Erleichterung einheitlich
durchnumeriert. apsfilter liest fⁿr jeden Druckjob zuerst die globale, dann
die druckerspezifische apsfilterrc ein: daher ⁿberwiegen im Zweifel die
Einstellungen in der letzteren. So k÷nnen Sie in der /etc/apsfilterrc
Normaleinstellungen vorsehen (z. B. fⁿr die Druckeraufl÷sung) und dennoch
6 Der Umgang mit less ist im Abschnitt 19.7.3 auf Seite 482 beschrieben.
342
12.4. Netzwerkdrucker mit apsfilter
fⁿr einzelne Drucker solche Normaleinstellungen durch andere, besonders an-
gepasste Werte ersetzen. ─nderungen in den apsfilterrc Dateien werden
sofort wirksam.
Wir verzichten hier auf die Wiedergabe der ganzen /etc/apsfilterrc
und begnⁿgen uns mit einigen hΣufiger verwendeten Variablen:
* FEATURE und USE_RECODE_NOT_A2PS regeln die Filterung von AS-
CII-Dateien (schon beschrieben auf Seite 336).
* REMOTE_PRINTER wird gebraucht fⁿr die Vor-Filterung von Jobs fⁿr
Netzwerkdrucker. Wird sie auf true gesetzt, so werden die Jobs der
betreffenden Warteschlangen nach der Filterung in die spezielle War-
teschlange remote weitergeleitet; wΣhlen Sie einen anderen Wert, so
wird dieser als Name des entfernten Druckers interpretiert. Siehe Ab-
schnitt 12.4 auf der nΣchsten Seite.
* PRINT_RAW_SETUP_PRINTER ist gedacht zur Aufnahme einer evtl.
n÷tigen Escape-Sequenz zur Druckerinitialisierung fⁿr Jobs in der raw
Warteschlange. Ihr Inhalt wird jeweils vor einem raw Druckjob auf
den Drucker gegeben. Ein Beispiel und Angaben zur Syntax sind in der
/etc/apsfilterrc enthalten.
* GS_RESOL erm÷glicht die Einstellung einer anderen Aufl÷sung fⁿr den
Ghostscript-Filter als ursprⁿnglich fⁿr den Drucker konfiguriert wurde.
* DO_ACCOUNTING ist auf yes zu setzen, wenn eine Accounting-Datei
angelegt werden soll. Gleichzeitig muss in der /etc/printcap an-
stelle von :la: der Eintrag :la@: vorgenommen werden; dann wird
die bei af angegebene Datei (engl. accounting file) versorgt. Um dies
Feature verwenden zu k÷nnen, sollten Sie den plp einsetzen; tauschen Sie
das Paket lrpold gegen das Paket plpn aus.
Benutzerspezifische Einstellungen: Die Version von apsfilter in SuSE Li-
nux unterstⁿtzt auch eine benutzereigene ~/.apsfilterrc im Ho-
me-Verzeichnis. Sie wird jeweils nach den systemweiten apsfilterrc
Dateien ausgewertet und kann daher deren Einstellungen ⁿberschreiben.
Aus Sicherheitsgrⁿnden ¡ die Auswertung erfolgt mit den Rechten des
laufenden Druckerdaemons! ¡ werden jedoch von den Anweisungen in
~/.apsfilterrc nur diejenigen berⁿcksichtigt, die eine der folgen-
den Variablen auf einen neuen Wert setzen: TEXINPUTS, PRINT_DVI,
GS_FEATURES, USE_RECODE_NOT_A2PS, FEATURE, A2PS_OPTS,
DVIPS_MODE, GS_RESOL7. Alle anderen Anweisungen darin werden
ignoriert.
Wenn Sie eine HOME/.apsfilterrc brauchen, kopieren Sie daher am
besten eine der systemweiten apsfilterrc-Dateien dorthin und editieren
Sie die kopierte Datei nach Bedarf.
12.4 Netzwerkdrucker mit apsfilter
Ein Netzwerkdrucker mit eigener TCP/IP-Netzwerkschnittstelle wird vom
BSD-Spooling-System gesehen wie ein entfernter Host mit eigenen Druck-
7 Siehe die Variable allowed in /var/lib/apsfilter/apsfilter.
343
12. Druckerbetrieb
warteschlangen (Namen: siehe Druckerhandbuch, oft LPT1 usw.). Als sol-
cher kann er ohne weiteres ⁿber eine entfernte Druckwarteschlange, etwa mit
dem Namen remote, vom lokalen Rechner aus angesprochen werden.
Sollten Sie allerdings eine Filterung der Druckjobs ben÷tigen, wird die Sache
dadurch verkompliziert, dass der Druckerdaemon lpd (Paket lprold) bei
entfernten Druckwarteschlangen grundsΣtzlich keine Vorfilterung durchfⁿhrt
und auch Filterangaben in der /etc/printcap ignoriert. Daher mⁿssen
Jobs fⁿr diese Warteschlange remote bereits druckerspezifische Daten ent-
halten; dies lΣsst sich mit einer Vorfilterung ⁿber das bypass"-Feature der
SuSE-Version des apsfilter erreichen.
Wenn Sie mit YaST konfigurieren, ist ein wenig Handarbeit vonn÷ten; wer
es bequem haben will, ziehe das Programm lprsetup vor. Starten Sie also
lprsetup wie oben Abschnitt 12.3 auf Seite 337 ff. gesagt; es wird dann
nach dem `DEVICE' gefragt (vgl. auf Seite 339):
PARALLEL Parallel printer interface
SERIAL Serial printer interface
PREFILTER to an other queue (bypass)
REMOTE printer forwarding queue
1. Richten Sie als erstes mit `REMOTE' eine Warteschlange ein, die auf
den entfernten Netzwerkdrucker verweist: Sie werden gefragt nach dem
entfernten Host (engl. remote host), an den der Drucker angeschlossen
ist (hier im Beispiel: sonne), und nach der Ziel-Druckwarteschlange
dort (engl. remote printer) (in der Regel: lp ¡ aber konsultieren Sie im
Zweifelsfall Ihren Netzwerk-Administrator!). Damit ist die Definition der
entfernten Druckwarteschlange schon abgeschlossen; vergessen Sie nicht,
diese Warteschlange mit `ADD' tatsΣchlich einzurichten ... Der Eintrag
in der /etc/printcap sieht zu diesem Zeitpunkt wie in Datei 12.4.1
aus.
remote|lp1|sonne -lp|sonne lp:\
:lp=:\
:rm=sonne:\
:rp=lp:\
:sd=/var/spool/lpd/sonne -lp:\
:lf=/var/spool/lpd/sonne -lp/log:\
:af=/var/spool/lpd/sonne -lp/acct:\
:ar:bk:mx#0:\
:sh:
Datei 12.4.1: /etc/printcap: Netzwerkdrucker
2. Nun kommt die lokale Vorfilterung" dran. Diesmal wΣhlen Sie bei der
Frage nach `DEVICE' den Punkt `PREFILTER' (engl. to an other
queue (bypass)) aus. lprsetup ist nun intelligent genug, den zuvor
eingerichteten Netzwerkdrucker anzubieten:
remote remote=sonne queue=lp
Den Rest erledigen Sie so, als wollten Sie einen regulΣren lokalen Drucker
einrichten; vgl. oben auf Seite 339 ff. Wenn Sie schlussendlich `ADD'
344
12.5. Etwas ⁿber Ghostscript
gesagt haben, finden Sie zusΣtzlich zu /etc/apsfilterrc (vgl. Da-
tei 12.3.2 auf Seite 338) eine Datei namens /etc/apsfilterrc.<gs_mode>
(hier im Beispiel in /etc/apsfilterrc.bjc800) mit dem Eintrag:
REMOTE_PRINTER="remote"
Dieser Eintrag verweist auf den Netzwerkdrucker; bei weiteren Netz-
werkdruckern werden anstelle von "remote" die Namen der Drucker
im Netz verwendet8.
Vgl. die graphische Darstellung einer solchen Konfiguration in Abbil-
dung 12.1 auf der nΣchsten Seite.
lpr -Praw
lpd apsfilter lpd /dev/lpX
lpr (auto) #
lpr -Pascii bypass
lpr -Psonne
lpd
ethernet
lpd auf sonne
/dev/lpX
Filter fⁿr lp
Abbildung 12.1: Netzwerkdrucker via Bypass
12.5 Etwas ⁿber Ghostscript
Wenn Sie nicht gerade glⁿcklicher Besitzer eines PostScript-Druckers sind,
ist Ghostscript die populΣrste Wahl fⁿr den eigentlichen Druckerfilter. Ghost-
script akzeptiert PostScript-Dateien als Eingabe und beinhaltet zur Konver-
tierung in druckerspezifische Formate eine Vielzahl von Druckertreibern.
Ghostscript ¡ beschrieben in der Manual-Page von gs (man gs) ¡ ist ein
sehr umfangreiches Programm mit zahlreichen Kommandozeilenoptionen.
Ein Direktaufruf von Ghostscript startet nach Abarbeitung der Kommando-
zeile einen Dialog mit eigener Eingabeaufforderung GS>, der mit dem Befehl
8 Wenn Sie mit YaST konfigurieren, mⁿssen Sie diesen Eintrag von Hand freischalten" und
darauf achten, dass Sie als Device /dev/null angeben.
345
12. Druckerbetrieb
quit beendet wird. Fⁿr eine nΣhere Behandlung der vielen M÷glichkeiten
fehlt hier der Platz. Zum Glⁿck nimmt Ihnen ja der apsfilter die Konstruktion
der doch recht komplizierten Kommandozeile ab.
Hingewiesen sei aber auf den wirklich nⁿtzlichen Hilfe-Befehl
tux@erde: > gs -h | less
der die n÷tigsten Optionen auflistet sowie ¡ wichtig! ¡ Versionsnummer und
die aktuelle Liste der unterstⁿtzten GerΣte ausgibt. Der Stand dieser Liste
z. Z. der Drucklegung dieses Buches ist im Abschnitt 12.6 auf der nΣchsten
Seite abgedruckt.
Bei Schwierigkeiten mit dem Drucker besteht ein nⁿtzlicher Test darin,
Ghostscript mit einer PostScript-Datei (.ps) direkt aufzurufen und die er-
zeugten druckerspezifischen Daten unmittelbar zum GerΣt zu senden. Eine
Anzahl geeigneter PostScript-Dateien finden sich z. B. unter
/usr/share/ghostscript/<Versionsnummer>/examples
oder /var/lib/apsfilter/test.
Der Ghostscript-Aufruf z. B. fⁿr den eingebauten Druckertreiber necp6 mit
360 ╫ 360 Aufl÷sung und das anschlie▀ende Ausdrucken auf dem Drucker
an /dev/lp0 sieht dann so aus:
tux@erde: > gs -q -dNOPAUSE -dSAFER -sDEVICE=necp6 \
-r360x360 -sOutputFile=testdatei.lpr Testda-
tei.ps quit.ps
tux@erde: > su
erde: # cat testdatei.lpr > /dev/lp0
Wenn Sie den uniprint-Treiber mit einer Parameter-Datei verwenden, lau-
ten die Aufrufe (fⁿr einen Stylus-Drucker):
tux@erde: > gs @stc.upp -q -dNOPAUSE -dSAFER \
-r360x360 -sOutputFile=testdatei.lpr Testda-
tei.ps quit.ps
tux@erde: > su
erde: # cat testdatei.lpr > /dev/lp0
Tipps: In /usr/share/ghostscript/<version>/doc findet sich
viel hilfreiche Dokumentation, z. B. in devices.txt spezifische Hinweise
zu einer Reihe von neueren Druckern.
Auf der Ghostscript-Homepage, k÷nnen Sie sich ⁿber den neuesten Stand
der Dinge bei Ghostscript (Versionen, Druckerunterstⁿtzung usw.) ins Bild
setzen. Sie ist zu finden unter der URL http://www.cs.wisc.edu/
~ghost/.
12.6 Liste der unterstⁿtzten Drucker
Neben PostScript-, HP DeskJet- und Epson Stylus-Druckern werden noch ei-
ne Reihe weiterer Drucker von Ghostscript unterstⁿtzt (Stand: Version 5.10);
neu ist seit Version 5 der uniprint"-Treiber, der jeweils mit einer drucker-
spezifischen Parameter-Datei auf den gewⁿnschten Drucker abzustimmen
ist. Diese Parameter-Dateien k÷nnen ebenfalls mit lprsetup angewΣhlt
und bei Bedarf den eigenen Vorlieben angepasst werden; sie liegen unter
/usr/share/ghostscript/<VERSION>/ und haben die Endung
.upp. Also, zunΣchst sind es diese Parameter-Dateien (Tabelle 12.1 auf
346
12.6. Liste der unterstⁿtzten Drucker
Seite 346), die zu bevorzugen sind, sofern sie fⁿr das Druckermodell bereits
zur Verfⁿgung stehen.
Canon
bjc610a0.upp BJC 610, 360x360DPI, plain paper high speed, co-
lor, rendered
bjc610a1.upp BJC 610, 360x360DPI, plain paper, color, rendered
bjc610a2.upp BJC 610, 360x360DPI, coated paper, color, rende-
red
bjc610a3.upp BJC 610, 360x360DPI, transparency film, color,
rendered
bjc610a4.upp BJC 610, 360x360DPI, back print film, color, ren-
dered
bjc610a5.upp BJC 610, 360x360DPI, fabric sheet, color, rendered
bjc610a6.upp BJC 610, 360x360DPI, glossy paper, color, rende-
red
bjc610a7.upp BJC 610, 360x360DPI, high gloss film, color, ren-
dered
bjc610a8.upp BJC 610, 360x360DPI, high resolution paper, color,
rendered
bjc610b1.upp BJC 610, 720x720DPI, plain paper, color, rendered
bjc610b2.upp BJC 610, 720x720DPI, coated paper, color, rende-
red
bjc610b3.upp BJC 610, 720x720DPI, transparency film, color,
rendered
bjc610b4.upp BJC 610, 720x720DPI, back print film, color, ren-
dered
bjc610b6.upp BJC 610, 720x720DPI, glossy paper, color, rende-
red
bjc610b7.upp BJC 610, 720x720DPI, high gloss paper, color, ren-
dered
bjc610b8.upp BJC 610, 720x720DPI, high resolution paper, color,
rendered
Hewlett-Packard
cdj550.upp DeskJet 550c, 300x300DpI, Gamma=2
NEC
necp2x.upp Prinwriter 2X, 360x360DPI, Plain Paper
necp2x6.upp Prinwriter 2X, 360x360DPI, Plain Paper
Epson
Tabelle 12.1: Fortsetzung auf der nΣchsten Seite...
347
12. Druckerbetrieb
stc.upp Stylus Color I (and PRO Series), 360x360DPI, Plain
Paper
stc_h.upp Stylus Color I (and PRO Series), 720x720DPI, Spe-
cial Paper
stc_l.upp Stylus Color I (and PRO Series), 360x360DPI, no-
Weave
stc1520h.upp Stylus Color 1520, 1440x720DPI, Inkjet Paper
stc2.upp Stylus Color II / IIs, 360x360DPI, Plain Paper
stc2_h.upp Stylus Color II, 720x720DPI, Special Paper
stc2s_h.upp Stylus Color IIs, 720x720DPI, Special Paper
stc500p.upp Stylus Color 500, 360x360DPI, not Weaved, Plain
Paper
stc500ph.upp Stylus Color 500, 720x720DPI, not Weaved, Plain
Paper
stc600ih.upp Stylus Color 600, 1440x720DPI, Inkjet Paper
stc600p.upp Stylus Color 600, 720x720DPI, Plain Paper
stc600pl.upp Stylus Color 600, 360x360DPI, Plain Paper
stc800ih.upp Stylus Color 800, 1440x720DPI, Inkjet Paper
stc800p.upp Stylus Color 800, 720x720DPI, Plain Paper
stc800pl.upp Stylus Color 800, 360x360DPI, Plain Paper
stcany.upp Any Stylus Color, 360x360DPI
Tabelle 12.1: Parameter-Dateien des uniprint-Treibers (Ghost-
script 5.10)
Falls Sie keine Parameter-Datei fⁿr Ihr Modell gefunden haben, weichen Sie
auf die bewΣhrten Treiber" der Tabelle 12.2 auf Seite 348 aus.
Apple
appledmp Apple Dot Matrix Printer (auch Imagewriter)
iwhi Apple Imagewriter, hohe Aufl÷sung
iwlo Apple Imagewriter, niedrige Aufl÷sung
iwlq Apple Imagewriter, 320x216 dpi
Canon
bj10e BubbleJet 10e
bj200 BubbleJet 200
bjc600 BubbleJet 600c, 4000c (Farbe)
bjc800 BubbleJet 800c (Farbe)
Tabelle 12.2: Fortsetzung auf der nΣchsten Seite...
348
12.6. Liste der unterstⁿtzten Drucker
lbp8 LBP-8II
lips3 LIPS III
DEC
declj250 LJ 250
la50 LA50
la70 LA70
la75 LA75
la75plus LA75 Plus
lj250 LJ250
ln03 LN03
Epson
ap3250 AP3250
eps9high FX-80-kompatibler, 240 dpi
eps9mid FX-80-kompatibler, 120 dpi
epson FX-80-kompatibler 9- oder 24-Nadeldrucker
epsonc LQ-2550, Fujitsu 1200/2400/3400, Farbe
lp8000 LP-8000 Laserdrucker
lq850 LQ-850, 24-Nadeldrucker, 360dpi
st800 Stylus 800, ESC/P2
stcolor Stylus Color
Hewlett-Packard
cdeskjet DeskJet 500C, Schwarzdruck
cdj500 DeskJet 500C, 540C
cdj550 DeskJet 550C, 560C
cdj670 DeskJet 670C, 690C
cdj850 DeskJet 850C, 855C, 870C, 1100C
cdj890 DeskJet 890C
cdj1600 DeskJet 1600C
cdjcolor DeskJet 500C, Farbdruck
cdjmono DeskJet 500C, Schwarzdruck
deskjet DeskJet, DeskJet Plus
djet500 DeskJet 500
djet500c DeskJet 500c
djet820c DeskJet 820Cse und 820Cxi; event. auch die
1000er Modelle
dnj650c DesignJet 650C
hpdj DeskJet mit PCL-3 Support (Farbe und Schwarz-
druck)
Ghostscript-Doku: hpdj/gs-hpdj.txt
Tabelle 12.2: Fortsetzung auf der nΣchsten Seite...
349
12. Druckerbetrieb
laserjet LaserJet
ljet2p LaserJet IIp
ljet3 LaserJet III
ljet3d LaserJet IIID
ljet4 LaserJet IV
ljetplus LaserJet Plus
lj4dith LaserJet IV, gedithert
lj5mono LaserJet 5 & 6 (PCL XL), Bitmap
lj5gray LaserJet 5 & 6, Graustufen-Bitmap
lp2563 2563B LinePrinter
paintjet PaintJet Farbdrucker
pj PaintJet XL, Alternative
pjetxl PaintJet 300XL
pjxl PaintJet 300XL
pjxl300 PaintJet 300XL, DeskJet 1200C
IBM
ibmpro Proprinter, 9-Nadeln
jetp3852 Jetprinter 3852
OKI
oki182 MicroLine 182
okiibm MicroLine, IBM-kompatibel
Tektronix
t4693d2 4693d, Farbdruck
t4693d4 4693d, Farbdruck
t4693d8 4693d, Farbdruck
tek4696 4695/4696
Andere
hl7x0 Brother 720, 730, 820
imagen Imagen ImPress
m8510 C.Itoh M8510
necp6 NEC P6, P6+, P60 bei 360 dpi
oce9050 OCE 9050
r4081 Ricoh 4081 Laserdrucker
sj48 StarJet 48
cp50 Mitsubishi CP50 Farbdrucker
xes Xerox XES (2700, 3700, 4045)
Tabelle 12.2: Unterstⁿtzte Drucker (Ghostscript 5.10)
350
12.7. Drucker-Checkliste: apsfilter
SelbstverstΣndlich werden alle zu HP4 LaserJet kompatiblen und weitere
PostScript-Drucker direkt unterstⁿtzt.
Bei der Installation von apsfilter oder der Konfiguration mit YaST ist die
in der linken Spalte aufgefⁿhrte Druckerbezeichnung anzugeben (z. B.
djet500).
Sollte der eingesetzte Drucker nicht unterstⁿtzt werden, so hei▀t dies noch
nicht, dass der APS-Filter nicht eingesetzt werden kann. In diesem Fall ist
ein m÷glichst Σhnlicher Drucker anzuwΣhlen: oft ist der Treiber fⁿr ein m÷g-
lichst junges VorgΣngermodell geeignet. Hilfe bei der Treiberauswahl k÷nnen
Sie zudem in der CDB (engl. Component Database), der SuSE-Hardware-
Datenbank, bekommen: http://cdb.suse.de/
Am Markt befinden sich zahlreiche Drucker, die mit der Beschriftung for
Windows" an den Mann gebracht werden; eine andere hΣufige Bezeich-
nung ist der Name GDI-Drucker". Derartige Drucker lassen sich oftmals
gar nicht und im Glⁿcksfall nur eingeschrΣnkt unter Linux benutzen; ma-
chen Sie sich bitte in der CDB unter http://cdb.suse.de/ kundig
oder fragen Sie Ihren HΣndler!
Speziell fⁿr derartige HP DeskJets steht ein Software-Konverter fⁿr
Schwarz-Wei▀-Druck zur Verfⁿgung (Paket ppa, Serie ap); zur Instal-
lation lesen Sie bitte die Dokumentation unter usr/doc/packages/
ppa bzw. in der SDB den Artikel http://sdb.suse.de/sdb/
de/html/ke_printer-gdi.html. Fⁿr Lexmark-Drucker (Modelle
5700, 7000 und 7200) ist das Paket pbm2l7k, Serie ap gedacht; die Do-
kumentation liegt unter /usr/doc/packages/pbm2l7k.
Ein hΣufiger Fehler ist eine inkompatible Aufl÷sung. Ist dies der Fall, so kann
die korrekte Aufl÷sung (also die DPI-Rate, die der Drucker beherrscht) in
die Variable GS_RESOL in /etc/apsfilterrc eingegeben werden (z. B.
GS_RESOL=360x360. Einige solche EintrΣge ¡ auskommentiert ¡ sind dort
bereits enthalten).
12.7 Drucker-Checkliste: apsfilter
* Ist das Paket aps, Serie ap fⁿr den apsfilter installiert?
* Wurde apsfilter mit YaST oder /var/lib/apsfilter/SETUP
(lprsetup) konfiguriert?
* Sind Paket net_tool, Paket netcfg, Paket nkita, Paket nkitb (al-
le Serie a) installiert? Ist Paket lprold aus der Serie n installiert?
* Hat der Kernel Unterstⁿtzung fⁿr TCP/IP? Erkenntlich an der Meldung
"IP Protocols: ICMP, UDP, TCP" in /var/log/boot.
msg.
* Ist die Unterstⁿtzung fⁿr parallele Schnittstellen aktiv? ¡
¡ Ist das lp-Modul tatsΣchlich geladen? Beim Kernel 2.2.xx mⁿssen
auch die Module parport und parport_pc geladen sein (vgl. Ab-
schnitt 10.4.3 auf Seite 302 ff.).
351
12. Druckerbetrieb
¡ Eventuell haben Sie ein Plug-and-Play"-BIOS und Sie haben die
Schnittstellen-Konfiguration dort im BIOS des Rechners auf auto ste-
hen; weisen Sie der Schnittstelle bitte explizit eine Adresse zu (Stan-
dard ist: 0x0378 bzw. nur 378).
¡ Sollte der Drucker nur blinken", dann ist die Schnittstelle im BIOS
eventuell auf ECP+EPP konfiguriert, womit der Drucker aber nichts
anfangen kann. Stellen Sie in einem solchen Fall zunΣchst einmal auf
normal oder SPP oder ECP um.
* Falls der Drucker die Standardaufl÷sung 300 ╫ 300 dpi nicht unterstⁿtzt:
Wurde die richtige Druckeraufl÷sung lt. Druckerhandbuch mit YaST oder
in der /etc/apsfilterrc eingestellt?
* Was sagt lpc status?
* Versuchen Sie einmal lpc up all.
* Zumindest die raw-Warteschlange sollte bei jedem Drucker funktionie-
ren und wenigstens die Ausgabe von ASCII-Dateien gestatten; Ausnahme
sind GDI-Drucker" (vgl. oben auf der vorherigen Seite).
* Sollte der Drucker quer (engl. landscape) drucken und Sie das nicht wⁿn-
schen, dann schauen Sie bitte auf Seite 336 nach.
* Wenn Sie beim lpr-Aufruf die Option -P verwenden, darf kein Leerzei-
chen vor dem Druckernamen stehen.
* Wenn Sie ⁿber die raw"-Warteschlange (-Praw) ASCII-Text ausgeben
k÷nnen, versuchen Sie nun, eine regulΣre PostScript-Datei mit lpr aus-
zudrucken. Entweder generieren Sie sich eine solche PostScript-Datei und
drucken dann diese:
tux@erde: > a2ps -nP -1 -p /etc/hosts > /var/tmp/hosts.ps
tux@erde: > lpr /var/tmp/hosts.ps
oder Sie verwenden eine mit Ghostscript mitgelieferte Datei:
tux@erde: > lpr /usr/share/ghostscript/5.10/examples/tiger.ps
* Kontrollieren Sie die log-Dateien unter /var/spool/lpd/TREIBER_
NAME; TREIBER_NAME mⁿssen Sie selbstverstΣndlich durch den von
Ihnen gewΣhlten Treiber erstetzen.
* Arbeiten Sie mit der richtigen Druckerschnittstelle (vgl. Abschnitt 12.1
auf Seite 329)?
* Der Kernel darf keinen PLIP-Treiber enthalten (/var/log/boot.
msg)!
352