Im Katalog suchen

Linux - Wegweiser zur Installation & Konfiguration, 3. Auflage

Online-Version

Copyright © 2000 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel

Drucken

Mit dem Befehl lpr wird unter Linux ein Dokument ausgedruckt. Sie werden diesen Befehl nicht immer direkt aufrufen - möglicherweise drücken Sie einfach nur einen Print-Knopf auf einer bunten Benutzeroberfläche -, aber im Hintergrund wird das Drucken immer von lpr und den anderen Utilities zum Drucken, die wir hier beschreiben, abgewickelt.

Wenn Sie ein Programm-Listing ausdrucken wollen, geben Sie zum Beispiel ein:

lpr myprogram.c

Icon

Kapitel 8

Wie wir noch sehen werden, wird die Eingabe oft auch von einem anderen Befehl über eine Pipe an lpr geschickt. lpr startet den Druckvorgang, indem es die Druckdaten vorübergehend in einem Verzeichnis ablegt, das als Drucker-Spooler bezeichnet wird. Andere Komponenten des Drucksystems, deren Konfiguration wir Ihnen im Abschnitt »Verwalten der Druckerdienste« in Kapitel 8 gezeigt haben, entnehmen die Dateien in der richtigen Reihenfolge aus der Warteschlange (es können auch noch andere Dateien von Ihnen oder anderen Benutzern in der Druckerwarteschlange stehen), bereiten die Datei zum Drucken vor und leiten die Daten schließlich an den Drucker.

Es gibt mindestens einen Drucker-Spooler pro Drucker im System. Fu▀noten 1 Per Default druckt lpr an einen Drucker namens lp. Wenn Sie aber einen anderen Drucker angeben wollen, können Sie das einfach mit der Option -P machen.

Wenn Sie zum Beispiel Ihr Dokument an den Drucker nene schicken wollen, geben Sie ein:

lpr -Pnene myprogram.c

Wenn Sie den Namen eines Druckers vergessen haben, können Sie die Namen der Spool-Verzeichnisse unterhalb von /var/spool/lpd oder die Einträge in der Datei /etc/printcap zu Rate ziehen, um alle bekannten Druckernamen zu bekommen.

Wenn Sie immer wieder den gleichen Drucker verwenden wollen, können Sie diesen auch mit der Umgebungsvariable PRINTER festlegen. Angenommen, Sie verwenden wie üblich die Shell bash, dann können Sie nene zu Ihrem persönlichen Standarddrucker machen, indem Sie diesen Befehl in Ihrer Datei .bashrc einfügen:

export PRINTER=nene

Die Option -P des lpr-Befehls hat Vorrang vor der Variable PRINTER.

Wenn Sie einmal herausgefunden haben, wie man eine Datei ausdruckt, könnte Ihr nächstes Problem sein, herauszufinden, was passiert, wenn die Datei nicht wie erwartet sofort ausgedruckt wird. Um den Status aller Dateien, die an Ihren Standarddrucker geschickt wurden (alles, was wir über die Umgebungsvariable PRINTER gesagt haben, gilt auch für alle nachfolgenden Befehle dieses Abschnitts), abzufragen, geben Sie ein:

$ lpq nene is ready and printing Rank Owner Job Files Total Size active lovelace 020 (standard input) 776708 bytes 1st parcifal 024 (standard input) 2297842 bytes 1st lark 023 (standard input) 10411 bytes

Sie sehen, daß der Drucker in Betrieb ist, aber auch, daß umfangreiche Druckjobs vor Ihrem in der Schlange stehen (wenn Sie lark sind). Wenn Sie nicht warten wollen, können Sie den Druckjob auch wieder aus der Schlange entfernen. Dazu können Sie die Jobnummer verwenden, die lpq ausgegeben hat:

$ lprm 23 023 dequeued 023 dequeued

Die Druckdatei, die im Spooler als Job 023 steht, wird gemeinsam mit einer weiteren Datei, die Druckanweisungen enthält, verworfen.

Sie können die Ausgabe von lpq eingrenzen, indem Sie nach einem bestimmten Druckjob über die Task-ID (selten verwendet), den Drucker oder die Benutzer-ID fragen. Um beispielsweise einen Bericht über die »gespoolten« Dateien für den Drucker ada zu bekommen, würden Sie folgendes eingeben:

$ lpq ada ada is ready and printing Rank Owner Job Files Total Size active lovelace 788 standard input 16713 bytes 1st lark 796 standard input 70750 bytes

Wenn Sie der Benutzer root sind, können Sie alle ausstehenden Druckjobs mit dem Befehl

lprm -

abbrechen. Wenn Sie nicht root sind, löscht dieser Befehl nur Ihre eigenen Druckjobs. Das gilt auch, wenn Sie einen Drucker angeben:

lprm ada

Wenn Sie Superuser (root) sind, wird die gesamte Warteschlange von ada geleert. Wenn Sie ein normaler Benutzer sind, werden nur Ihre eigenen Druckjobs aus dem angegebenen Spooler gelöscht. lprm gibt die jeweils gelöschten Jobs aus.

Der Superuser kann alle Druckjobs eines bestimmten Benutzers durch Eingabe von

lprm Benutzername

beenden.

Wenn Sie lprm ohne Argumente eingeben, löscht es alle Ihre aktiven Druckjobs. Das ist das gleiche wie:

lprm IhrBenutzername

Wenn Sie sehen wollen, ob ein Drucker online ist, können Sie den Befehl lpc verwenden:

/usr/sbin/lpc status ada

Icon

Kapitel 8

Schlagen Sie in Abschnitt »Kontrollieren der Druckerdienste mit lpc« in Kapitel 8 nach, wenn Sie mehr wissen wollen. Das Utility lpc wird üblicherweise in einem der Verzeichnisse /sbin oder /usr/sbin installiert.

Kommen wir nun zu einigen weiteren Beispielen, die häufige Druckaufgaben und oft benutzte Filter demonstrieren.

Um die Manpage von printcap auszudrucken, geben Sie ein:

man printcap | col -b | lpr

Der Befehl man sucht und formatiert die Manpage von printcap und gibt sie in einem erweiterten ASCII-Format aus, in dem Backspaces zum Durch- und Unterstreichen von Zeichen (anstelle von Kursivschrift) verwendet werden. Die Ausgabe wird durch col geschickt, ein Unix-Textfilter, bei dem -b angibt, daß die »BACKSPACE«-Anweisungen entfernt werden. Daraus resultiert eine einfache Ausgabe, bei der aber das Format erhalten bleibt. Die Ausgabe von col wird wiederum an lpr weitergeleitet. Dieser Befehl stellt den Text in das Spool-Verzeichnis.

Wenn Sie Unterstreichungen simulieren wollen, können Sie statt dessen auch einen Filter verwenden, der ursprünglich zur Ausgabe auf Textbildschirmen entworfen wurde:

man printcap | colcrt | lpr

Angenommen, Sie wollen eine Manpage mit allen Formatierungen ausdrucken, einschließlich Hervorhebungen und allem, was dazugehört. Dazu könnten Sie den folgenden Befehl benutzen:

groff -man -Tps /usr/man/man5/printcap.5 | lpr

Der Befehl groff wendet die man-Makros auf die angegebene Datei an und erzeugt eine PostScript-Ausgabe (was mit -Tps angegeben wurde). Diese wiederum wird an lpr weitergeleitet, der das Ergebnis in den Drucker-Spooler stellt. Schließlich wendet lpd die in /etc/printcap angegebenen Verarbeitungen auf die Datei an.

Die meisten Linux-Installationen verwenden die BSD-artigen Druck-Utilities, die für die Berkeley Software Distribution von Unix entwickelt wurden. Wenn Sie Utilities wie lp, lpstat, cancel oder lpadmin vorfinden, verwendet Ihr Linux-Rechner ein »System V«-basiertes Drucksystem. In diesem Fall sollten Sie die Manpages und möglicherweise zusätzlich vorhandene Dokumentation lesen. Es gibt auch noch andere Drucksysteme, die auf Ihrem System installiert sein könnten, so zum Beispiel das PLP-Paket. Wir beschreiben hier aber nur die normalen BSD-basierten Druck-Utilities. Darüber hinaus beschreiben wir auch, wie Sie einige weitere, oft vorhandene Druck-Utilities verwenden, wie zum Beispiel Filter, die Dokumente so aufbereiten, daß Sie sie auf Ihrem Drucker ausdrucken können.

Das BSD-artige Drucksystem wird traditionell »lp« genannt, weil Zeilendrucker (line printers) zu der Zeit, als dieses Paket entwickelt wurde, der gängigste Druckertyp waren. Fu▀noten 2 In der Linux-Gemeinde wird das BSD-Drucksystem häufiger als »das lpr-Paket« bezeichnet. Aber natürlich ist der Befehl lpr nur ein Werkzeug dieses Pakets.

Was passiert mit einer Datei, nachdem sie in die Druckerwarteschlange eingereiht worden ist?

Nur der Benutzer root kann direkt auf die Drucker, das heißt ohne den Umweg über das Drucksystem, zugreifen (was aber nebenbei bemerkt nicht besonders vernünftig ist). Linux gewährt normalen Benutzern nicht das Recht, die diversen physikalischen Geräte direkt anzusprechen, weil unangenehme Konflikte die Folge sein könnten und es ohnehin nicht besonders praktisch für die Benutzer ist. Statt dessen rufen die Utilities Systemprozesse im Hintergrund auf, die Ihren Druckjob zu den anderen stellen, die Druckdaten in Daten konvertieren, die ein bestimmter Drucker und ein bestimmtes Protokoll verstehen, die Druckauflösung einstellen, die Seiten formatieren, Kopf- und Trennseiten hinzufügen (oder auch nicht) und Seiten numerieren. Linux konfiguriert sich beim Booten selbst, was die physikalischen Geräte angeht. Das schließt auch die Initialisierung der Schnittstellen und Protokolle zum Drucken mit ein.

Das Drucksystem wird von lpd, dem »Line Printer Daemon«, gesteuert, der die notwendigen Rechte hat, um die Drucker in Ihrem Auftrag anzusteuern. Wenn das Drucksystem einmal installiert ist, wird lpd jedesmal beim Hochfahren von Linux gestartet. Die notwendigen Steuerungsinformationen, die lpd benötigt, um Ihre Dateien auszudrucken, stehen in der Datei /etc/printcap.

Im folgenden beschreiben wir, was das Drucksystem eigentlich macht, wenn Sie einen Druckbefehl abschicken. lpr überprüft zunächst, ob bei Ihnen die Umgebungsvariable PRINTER gesetzt ist. Wenn dies der Fall ist, verwendet lpr die dort angegebenen Optionen als Anweisungen, wie es die empfangene Datei zu verarbeiten hat. Anschließend wendet lpr auf der Kommandozeile übergebene Parameter oder solche, die vom aufrufenden Programm gesetzt wurden, an. Schließlich schickt lpr die Datei in das Spool-Verzeichnis des angegebenen Drukkers, zusammen mit einer anderen temporären Datei, die Anweisungen für lpd enthält. Anschließend informiert lpr lpd, daß es eine Druckdatei in den Spooler gestellt hat. Wenn lpr eine unbekannte Option vorfindet, leitet es die Option an die weiter unten besprochenen Druckfilter weiter.

Wenn lpd einen Druckjob im Drucker-Spooler vorfindet, liest er die Verarbeitungsanweisungen ein, die ihm mitteilen, ob und wie die Datei durch Filter geschickt werden muß und an welches Gerät sie schließlich gehen soll, führt den Druckauftrag aus und löscht die Druck- und die Anweisungsdatei, wenn die gesamte verarbeitete Datei an den Drucker geschickt worden ist.

Alle Drucksysteme unter Unix schicken eine Datei durch mindestens einen Filter, um sie für die Ausgabe vorzubereiten. Dieser Filter verarbeitet die Datei unter Verwendung der üblichen Optionen, die die Druck-Utilities von Unix ihm schicken.

Die für das System passenden Filter werden vom Administrator eingerichtet und in der Printcap-Datei angegeben, um die üblichen Druckaufgaben zu erfüllen. Wenn Sie irgendwelche speziellen Verarbeitungen vornehmen wollen, geben Sie die entsprechenden Optionen bei den Druckbefehlen an. Ihre Anweisungen gelangen über den lpr-Befehl (von der Kommandozeile oder einem anderen Programm übergeben) in das Drucksystem. lpr speichert die Druckdatei im richtigen Spool-Verzeichnis ab und stellt eine Datei mit allen zugehörigen Verarbeitungsanweisungen in dasselbe Verzeichnis.

Wenn Ihre Datei mit dem Drucken an der Reihe ist, liest der lpd-Dämon alle speziellen Verarbeitungsanweisungen ein. Diese haben Vorrang vor eventuellen Default-Werten in der Datei /etc/printcap. Wenn lpd eine Datei an den zum Drucker gehörigen Filter schickt, liefert er auch alle Optionen mit, die noch nicht ausgeführt worden sind. Der Filter verarbeitet diese Datei dann entsprechend der erhaltenen Anweisungen weiter oder ruft einen anderen Filter auf, um die Verarbeitungsschritte vorzunehmen, die er selbst nicht ausführen konnte. Das Endergebnis wird dann von lpd an den Drucker geschickt. Sie sehen, daß diese versteckten Filter die meiste Arbeit beim Druckvorgang übernehmen.

Wenn Sie besondere Anforderungen an den Druckvorgang haben, müssen Sie die Optionen kennen, die den Filtern mitgegeben werden müssen. Die Standardoptionen werden in der Manpage von lpr besprochen. Weitere Filteroptionen werden im verwendeten Filterpaket dokumentiert. Wir beschreiben weiter unten noch eine Reihe von Filtern, die auf Ihrem System möglicherweise vorhanden sind. Aber wir können hier unmöglich alle Filter und Filterpakete beschreiben, die für Linux verfügbar sind. Sie sollten die Manpages zu den auf Ihrem System vorhandenen Filtern lesen, um die gewünschte Ausgabe zu erhalten.

Eine korrekt konfigurierte Printcap-Datei verwendet den Namen des Druckers, um herauszufinden, welche Filterung angewendet werden muß. Wenn es zum Beispiel einen Drucker gibt, der automatisch HTML-Dokumente (aus dem World Wide Web) formatieren und ausdrucken kann, können Sie lpr möglicherweise mitteilen, daß der html-Drucker verwendet werden soll:

lpr -Phtml ~/homepage.html

Möglicherweise handelt es sich dabei um denselben Drucker, den Sie auch für PostScript-Dateien verwenden, aber durch die Angabe des Druckernamens html erreichen Sie, daß lpd einen anderen Printcap-Eintrag verwendet, der die Datei durch einen HTML-Filter schickt, der sie in ein Format aufbereitet, das der Drucker verstehen kann.

Weil der Systemadministrator die Kontrolle über den Inhalt von /etc/printcap hat, können Sie diese Datei nicht einfach ändern, um einen Filter gegen einen anderen auszutauschen. Sie haben aber durch die Wahl von Kommandozeilenoptionen und Umgebungsvariablen einen gehörigen Einfluß auf Satzwerkzeuge, Filterparameter und Druckerauswahl. Wenn nötig, können Sie Ihre Dateien auch zunächst selbst vorfiltern, bevor Sie sie an das Drucksystem weiterreichen. Wenn Sie beispielsweise eine E-Mail mit einer angehängten Grafik bekommen, die Sie weder anzeigen noch ausdrucken können, können Sie die Datei immer noch abspeichern und dann eines der vielen für Linux vorhandenen Grafik-Utilities verwenden, um die Datei in eine ausdruckbare Form zu bringen, bevor Sie sie an lpr weiterreichen.

Von der »Intelligenz« des Filters hängt viel ab. Wenn eine Option durch lpr und die Filter hindurchgereicht, aber nie bearbeitet wird, landet sie möglicherweise am Drucker; entweder vor oder hinter der eigentlichen Druckdatei. Möglicherweise hat das keinen Einfluß. Manchmal wird ein Druckerbefehl absichtlich auf diese Weise an den Drucker geschickt. Üblicherweise führt eine solche Option aber zum Ausdruck weiterer Seiten, möglicherweise mit Zeichenmüll darauf. Normalerweise ist das aber harmlos. Wenn Sie so ein Verhalten beobachten, stellen Sie sicher, daß Sie das Problem nicht mit Ihren Umgebungsvariablen, falsch eingegebenen Befehlen oder nicht unterstützten Optionen verursachen. Wenn es nicht Ihr Fehler war, sollte der Systemadministrator das Problem zurückverfolgen, um Papier und Zeit zu sparen.

Manche Filter wenden die Umgebungsvariable PRINTER automatisch an, wenn sie gesetzt ist. Sie sollten wissen, daß die entsprechende Variable in einem »System V«-Drucksystem LPDEST heißt. Einige der Filter, die Sie installieren, erwarten oder akzeptieren möglicherweise auch diese Variable. Es kann auch sein, daß Sie in einem bunt gemischten Netzwerk arbeiten, in dem Sie auf einem System ein BSD- und auf einem anderen ein »System V«-Drucksystem vorfinden. Wenn Sie lieber auf Nummer Sicher gehen wollen, können Sie sowohl LPDEST als auch PRINTER in einer Ihrer Shell-Startdateien setzen.

Probleme bei der Benutzung eines Druckfilters können auch andere Benutzer in einem Mehrbenutzersystem betreffen. Melden Sie daher alle Schwierigkeiten an den Administrator des Drucksystems.

nenscript

Das Utility nenscript ist ein flexibler Filter, der gut aufbereitete Ausgaben für PostScript-Drucker, auch aus ASCII-Dateien, erzeugen kann. Es ist nicht eines der grundlegenden Linux-Utilities, aber trotzdem in vielen Linux-Distributionen enthalten. Außerdem kann es von den üblichen Linux-FTP-Servern bezogen werden. Obwohl Sie nenscript aufrufen können, um eine vorbereitete Datei an den Drucker zu schicken, wird es doch meistens in der /etc/printcap-Datei als Durchgangsfilter verwendet, der Text von der Standardeingabe entgegennimmt und auf der Standardausgabe ausgibt.

Angenommen, Sie wollen ein C-Programm ausdrucken und wünschen sich eine Zeilennumerierung sowie einen Ausdruck auf grüngestreiftem Endlospapier (also nicht gerade so ein Format, wie Sie es sich für die Grafiken vorstellen, die Sie gerade aus dem Internet heruntergeladen haben und auf Ihrem PostScript-Drucker ausdrucken wollen). Das Programm muß verarbeitet werden und Zeilennummern vor jede Zeile gestellt bekommen. Die Lösung besteht in der Anwendung eines Filters wie nenscript (wenn es denn installiert ist). Nachdem nenscript mit seiner Verarbeitung fertig ist, schickt es die Datei zwecks Spoolen und Drucken auf dem guten, alten Endlospapier-Nadeldrucker (der hier dino heißen soll) an lpr weiter:

nenscript -B -L66 -N -Pdino myprogram.c

Der Filter nenscript numeriert jede Zeile der übergebenen Datei, wenn Sie die Option -N verwenden. Die Option -B unterdrückt die üblicherweise auf jeder Seite ausgegebene Kopfzeile, und die Option -L66 formatiert die Datei für 66 Zeilen pro Seite. nenscript leitet nur die Option -Pdino an lpr weiter, der sie auswertet und die Ausgabe von nenscript in das Spool-Verzeichnis von dino zum Ausdruck weiterleitet.

Wenn nenscript von der Kommandozeile aus aufgerufen wird, gibt es seine Ausgabe automatisch an lpr weiter, wenn Sie nicht mit der Option -p angeben, daß Sie die Ausgabe lieber auf der Standardausgabe haben möchten. Sie müssen nicht explizit die Ausgabe von nenscript an lpr weiterleiten. Fu▀noten 3

Angenommen, Sie wollen heute viele Programm-Listings ausdrucken. Der Bequemlichkeit halber können Sie eine Umgebungsvariable für nenscript setzen, so daß Ihre Listings jedesmal wie gewünscht verarbeitet und gedruckt werden.

export NENSCRIPT=" -B -L66 -N -Pdino"

Jetzt brauchen Sie nur noch

nenscript myprogram.c

einzugeben, um Ihr Listing korrekt auszudrucken.

nenscript schickt seine Ausgabe an eine Datei, was oft nützlich ist, um PostScript-Dateien auf einem Linux-Rechner ohne PostScript-Drucker aufzubereiten. Um beispielsweise eine Textdatei so in PostScript zu konvertieren, daß sie in zwei Spalten und einem 6-Punkt-Courier-Zeichensatz auf DIN-A4-Seiten ausgedruckt wird, geben Sie ein:

nenscript -2 -fCourier6 -TA4 -pdocument.ps document.txt

Die Option -2 überschreibt den Default, Dateien in einer Spalte auszugeben, und die Option -fCourier6 überschreibt den Default, bei zweispaltiger Ausgabe in 7-Punkt-Courier-Schrift zu drucken. (Der Default für einspaltige Ausgabe ist Courier10; nenscript verwendet immer Courier, wenn es normalen Text in PostScript konvertiert.) Die Option -TA4 gibt das Standard-A4-Papierformat an. Wenn nenscript mit der Variable US_VERSION kompiliert worden ist, ist das Default-Papierformat 8,5 mal 11 Inch (wenn Sie nicht die Umgebungsvariable US_VERSION verwenden, können Sie das mit -TUS angeben). Die Option -p gibt an, daß die Ausgabe in die Datei document.ps umgeleitet werden soll. Der Dateiname ohne Option schließlich gibt die Eingabedatei an. Wenn kein Dateiname angegeben worden wäre, hätte nenscript die Standardeingabe verwendet.

Ein weiteres Beispiel: Um die Manpage von nenscript zu formatieren und als reinen Text auf einem PostScript-Drucker zu drucken, geben Sie

man nenscript | col -b | nenscript

ein. Der Befehl man sucht die Manpage und formatiert sie für die Textausgabe. col -b löscht die BACKSPACE-Anweisungen aus der Datei, so daß nur einfacher Text übrigbleibt, der an nenscript weitergeleitet wird. nenscript wiederum wandelt den Text in PostScript und fügt dabei noch einige »Verschönerungen« ein, wie Kopfzeilen, Fußzeilen, Seitennumerierung usw. Schließlich wird diese Datei an lpr weitergeleitet, der sie in das Spool-Verzeichnis stellt. Die Datei gelangt noch ein weiteres Mal durch den in der Printcap-Datei angegebenen Filter, der einfach nur ein »Dummy«-Filter sein könnte, der die Datei lediglich durchreicht. Es kann aber auch sein, daß dieser Filter noch weitere Änderungen vornimmt, zum Beispiel könnte er einen Seitenvorschub an das Ende der Druckdatei anhängen.

Wenn Sie die Option -Z bei nenscript angeben, versucht nenscript, übergebene PostScript-Dateien zu erkennen und diese unverändert durchzureichen.

Icon

Wenn eine PostScript-Datei an nenscript übergeben wird und für eine normale Textdatei gehalten wird (zum Beispiel, weil nenscript nicht mit der Option -Z aufgerufen wurde), wird nenscript den PostScript-Code einkapseln und an den Drucker schicken. Das kann dazu führen, daß der PostScript-Code wortwörtlich ausgedruckt wird. Selbst eine kleine PostScript-Datei kann auf diese Weise sehr viel Papier verschwenden.

Angenommen, der lpd-Dämon wendet selbst schon nenscript auf die Dateien an, die er zum Drucker schickt. Die Datei sollte trotzdem korrekt verarbeitet werden, aber eine zusätzliche Filterung könnte im zweiten Durchlauf dazu führen, daß nenscript den PostScript-Code einkapselt. Es wäre sicherer, die Umgebungsvariable NENSCRIPT zu setzen. Wenn der nenscript-Filter aufgrund eines Eintrags in /etc/printcap auf die Datei angewendet wird, verwendet er die Optionen, die Sie in Ihrer Umgebungsvariablen NENSCRIPT gesetzt haben. Diese Optionen werden aber durch Optionen, die lpr von der Kommandozeile oder einem anderen Programm übergeben bekommen hat, überschrieben.

Beachten Sie, daß Sie den Standarddrucker entweder in der Umgebungsvariable PRINTER oder als Argument -P in der Umgebungsvariable NENSCRIPT angeben können. Wenn Sie den zu verwendenden Drucker in NENSCRIPT angeben, wird dieser Drucker jedesmal verwendet, wenn nenscript eine Ihrer Dateien filtert. Wir empfehlen daher, daß Sie den Drucker in PRINTER statt in NENSCRIPT setzen, so daß Sie die Druckerspezifikation ändern können und die Datei trotzdem noch korrekt gefiltert wird.

 Fu▀noten 1
Ein Drucker, der mehrere Betriebsmodi, zum Beispiel zum Ausdrucken von Faxen und Briefen, hat, kann für jeden Modus einen eigenen Spooler haben.
 Fu▀noten 2
Lassen Sie sich nicht verwirren, wenn jemand diesen Ausdruck verwendet; der Ausdruck ist eigentlich falsch. Es gibt kein Utility namens lp im BSD-Drucksystem, aber durchaus eines im später entwickelten »System V«-Druckpaket. Trotzdem ist es möglich, daß Ihr BSD-Paket einen Befehl namens lp zum Drucken verwendet. Einige Systeme benutzen ein Shell-Skript (Filter) namens lp, um Optionen von lp in Optionen von lpr umzusetzen und diese an lpr weiterzureichen. Dies dient lediglich der Bequemlichkeit der Benutzer, die den »System V«-Befehl lp gewöhnt sind.
 Fu▀noten 3
Es kann sein, daß nenscript auch der Filter ist, der in der Printcap-Datei für Ihren Drucker angegeben wurde. Es schadet einer Datei nicht, wenn sie mehrmals durch einen vernünftig programmierten Filter geleitet wird. Ein Filter leitet eine Verarbeitungsinformation nur dann weiter, wenn er sie nicht selbst erfüllen kann. Wenn ein Filter eine Anweisung ausführt, verwirft er sie anschließend. Sie müssen sich keine Sorgen machen, daß Ihr Ausdruck auf einmal zwei Spalten mit Zeilennummern hat.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen | Kontaktieren Sie uns
International | Über O'Reilly | Tochterfirmen

© 2000, O'Reilly Verlag