Drucken unter UNIX
im Rechnerpool des FB3

Dieser Text beschreibt die Benutzung der öffentlichen Drucker im zentralen UNIX-Rechnerpool am Fachbereich 3. Die meisten Informationen und Hinweise gelten aber auch für die anderen (dezentralen) Drucker in den Arbeitsgruppen und Projekten des Fachbereichs.

Öffentliche Drucker im Rechnerpool

Im zentralen Bereich des Rechnerpools im FB3 (Gebäude MZH, 0. Ebene) stehen zwei schwarz-weiß Laserdrucker vom Typ HP LaserJet 4300DTN und ein Farb-Laserdrucker des Typs HP Color LaserJet 4600DN. Diese Drucker können von den Benutzern des FB3-Netzes von allen Rechnern in den Praktikumsräumen aus verwendet werden. Die Drucker werden über die Namen ``lw0'', ``lw2'' und ``lw3'' angesprochen (mehr über das Auswählen eines Druckers später).

Die Drucker können auch von Windows-Rechnern im Fachbereich aus über das Protokoll SMB angesprochen werden.

PostScript-Dateien versus Textdateien

Die Drucker ``lw0'' bis ``lw3'' sind PostScript-Drucker und können deshalb nur Dateien in der Seitenbeschreibunssprache PostScript drucken. Andere Dateien (insbesondere Textdateien, wie zum Beispiel Programmlistings) müssen daher nach PostScript übersetzt werden. Dies kann im wesentlich auf zwei Arten geschehen:

Um zu erkennen, ob eine an den Drucker geschickte Datei schon als PostScript vorliegt oder noch umgewandelt werden muß, analysiert das Druckersystem die erste Zeile jeder Datei. Falls die erste Zeile mit der Sequenz

    %!
beginnt, wird die Datei als PostScript-Datei angesehen und direkt an den Drucker weitergeleitet (typische PostScript-Dateien beginnen übrigens in der Regel mit der Sequenz ``%!PS-Adobe-3.0''). Falls eine Datei nicht mit den beiden Zeichen ``%!'' beginnt, wird die Datei (falls möglich) nach PostSript umgewandelt. Die automatische Umwandlung nach PostScript wird unterstützt für Textdateien sowie eine Reihe anderer Dateiformate.

Probleme mit ungewöhnlichen PostScript-Dateien

Gelegentlich beginnen PostScript-Dateien nicht unmittelbar mit der Sequenz ``%!'', insbesondere auf PCs generierte Dateien. Dies führt dazu, daß der PostScript-Code als Text aufgefaßt und vom Druckersystem erneut nach PostScript konvertiert wird. Das Ergebnis ist, daß der ursprüngliche PostScript-Inhalt der Datei nicht vom Drucker interpretiert sondern ähnlich wie ein Programmlisting ausgedruckt wird.

Um diese Papierverschwendung zu vermeiden, empfiehlt es sich, im Zweifelsfall vorher die jeweils erste Zeile von zu druckenden PostScript-Dateien zu überprüfen.

Mehr zu PostScript

Ein manuelles oder automatisches Konvertieren von Textdateien nach PostScript ist oft gar nicht erforderlich, da alle modernen Textsysteme bereits PostScript erzeugen. Auch Anwendungen wie Emacs oder Web-Browser können E-Mails, News-Artikel, Web-Seiten und ähnliches im PostScript-Format erzeugen.

Zum Anzeigen von PostScript-Dateien auf dem Bildschirm (im Window-System) gibt es in UNIX unter anderem das Kommando ``gv''. Zum Bearbeiten von PostScript-Dateien vor dem Ausdrucken stehen unter anderem die Kommandos ``pstops'' und ``psselect'' zur Verfügung; hiermit können zum Beispiel einzelne Seiten aus einem größeren Dokument zum Drucken entnommen werden.

Auswählen eines Druckers

Drucker werden in UNIX über ihre Namen angesprochen, also z.B. ``lw0''. Dabei gibt es drei Möglichkeiten, einen Drucker auszuwählen:

Erstens: Alle UNIX-Kommandos zum Ansprechen von Druckern haben eine Option ``-Pdruckername'', also zum Beispiel

    -Plw2

Zweitens: Wird die Option -P weggelassen, wird der Wert der Environment-Variablen ``PRINTER'' als Druckername genommen (falls vorhanden). Diese Variable wird typischerweise im ".bash_profile" gesetzt (um einen Default-Drucker permanent festzulegen), oder auch manuell während der Login-Sitzung, zum Beispiel durch Aufruf von

    export PRINTER=lw2

Drittens: Falls weder -P angegeben noch PRINTER gesetzt ist, wird ein von den Systemadministratoren ausgewählter Default-Drucker genommen, in diesem Fall ``lw0''.

Drucken mit dem Kommando ``lpr''

Ein Aufruf des UNIX-Kommandos ``lpr'' ist die einfachste Möglichkeit, eine Datei zu drucken. Das Kommando akzeptiert ein oder mehrere Dateien als Argumente; falls keine Datei angegeben wird, liest ``lpr'' wie in UNIX üblich die Standard-Eingabe (also z.B. aus einer Pipe):

    lpr file1.ps file1.ps

    psselect -p1-3 file.ps | lpr -Plw2

Achtung: Das Kommando ``a2ps'' zum manuellen Konvertieren von Text nach PostScript leitet seine Ausgabe automatisch an ``lpr'' weiter (falls nicht anders angegeben).

Papiersparendes Drucken

Zum Papiersparen gibt es neben dem Vermeiden von unnötigen Ausdrucken zwei Möglichkeiten: doppelseitiges Drucken und das (verkleinerte) Drucken mehrerer logischer Seiten auf eine physische Seite. Alle Drucker sind mit einer Duplex-Einheit ausgestattet und unterstützen daher doppelseitiges Drucken (dies ist die Grundeinstellung). Verkleinertes Drucken ist auf allen PostScript-Druckern möglich.

Um diese Funktionen zu nutzen, bietet ``lpr'' eine Reihe von Optionen.

lpr -PDrucker 
    -o landscape                        # Querformat
    -o sides=one-sided                  # einseitig
    -o sides=two-sided-long-edge        # duplex aufrecht
    -o sides=two-sided-short-edge       # duplex quer

    -o number-up=2                      # 2 Seiten auf eine (quer)
    -o number-up=4                      # 4 Seiten auf eine (aufrecht)

Beispiele:

Doppelseitiges Drucken aufrecht:

     lpr -o sides=two-sided-long-edge datei.ps 
Einseitiges Drucken im Querformat:
     lpr -o sides=one-sided -o landscape

Dauerhafte Festlegung der Druckoptionen:

     lpoptions -d Drucker     # Festlegen des Defaultdruckers
     lpoptions -o media=A4 -o landscape=false -o sides=two-sided-long-edge
``lpoptions'' speichert dauerhaft die festgelegten Einträge in der Datei ``$(HOME)/.lpoptions'' mit dem folgenden Inhalt:
     Default Drucker media=A4 landscape=false sides=two-sided-long-edge

Weitere Drucker können wie folgt hinzugefügt werden:

     lpoptions -p Drucker -o ... -o ...

Die Drucker-Queue

Um die gleichzeitige Benutzung eines Druckers von mehreren Rechnern und durch mehrere Benutzer zu ermöglichen, schickt ``lpr'' die zu druckenden Dateien nicht direkt zum jeweiligen Drucker, sondern hängt sie zunächst an eine Wartenschlange (Printer-Queue) an. Jeder Drucker hat seine eigene Queue mit Druckaufträgen (Printer-Jobs). Ein auf dem Server-Rechner laufender Printer-Dämon entfernt dann die Jobs der Reihe nach aus der Queue und schickt sie zum Drucker.

Anzeigen der Drucker-Queue

Mit dem UNIX-Kommando ``lpq'' kann der Inhalt einer Drucker-Queue angezeigt werden. ``lpq'' listet die Drucker-Jobs in der Reihenfolge des Eintreffens auf, jeweils mit dem Dateinamen, dem Eigentümer, der Größe, einer eindeutigen Jobnummer, sowie weiteren Angaben. Aufrufbeispiel:

    lpq -Plw2

Killen eines Druckauftrags

Mit dem Kommando ``lprm'' können Druckaufträge von ihrem Eigentümer aus der Drucker-Queue entfernt werden. Falls ein Auftrag gerade zum Drucker geschickt wird (aktiver Job), wird der Druckvorgang abgebrochen, allerdings werden eventuell noch einige Seiten fertiggedruckt, die schon im Drucker gepuffert sind.

Die einfachste Möglichkeit zum Killen von Druckaufträgen ist ein Aufruf von ``lprm'' mit den jeweiligen Jobnummern:

    lprm 15

    lprm -Plw2 27 28 29
Die Jobnummer kann durch einen Aufruf von ``lpq'' ermittelt werden. Weitere Möglichkeiten zum Auswählen von Druckaufträgen mit ``lprm'' sind in der Manual-Page des Kommandos beschrieben.

Die Druckseiten-Limitierung

Wegen der knappen Haushaltsmittel für Papier und Drucker-Verbrauchsmaterial und als Anreiz zum sparsamen Drucken ist die Anzahl der Druckseiten pro Benutzer limitiert: Jedem Benutzer steht pro Semester zur Zeit ein Kontingent (Druck-Quota) von jeweils 300 Blatt zur Verfügung (Stand Ende 2003). Diese Limitierung gilt für die Drucker im zentralen Rechnerpool (und zwar für alle Drucker zusammen).

Das aktuell gültige Limit, die schon verbrauchten Seiten sowie der verbleibende Rest können mit dem Kommando ``pacc'' angezeigt werden.

Da das Drucken farbiger Seiten einen deutlich höheren Kostenaufwand verursacht als das Drucken in Schwarz-Weiß, werden für jede Seite, die auf dem Farb-Laserdrucker (``lw3'') ausgedruckt wird, 4 Seiten vom Kontingent abgezogen (Stand Juli 2004). In anderen Worten: Das Drucken auf diesem Drucker ist viermal so ,,teuer`` wie die Benutzung eines Schwarz-Weiß-Druckers.

Wird ein Druckauftrag mit ``lprm'' abgebrochen, werden nur die bis dahin tatsächlich gedruckten Seiten berechnet. Beim Entfernen eines noch nicht bearbeiteten Auftrags aus der Printer-Queue werden keine Seiten berechnet.

Wer einen erhöhten Bedarf an Druckseiten hat, kann die Limitierung auf (formlosen) schriftlichen Antrag eines Hochschullehrers durch die zentralen Techniker hochsetzen lassen. Diplomarbeiten, Ausdrucke für projektbezogene Arbeiten und ähnliches sollten auf den Druckern der betreuenden Arbeitsgruppen und der Projekte gedruckt werden (falls vorhanden).

Probleme mit großen Druckjobs

Beim Drucken sehr großer Jobs kann es auf einzelnen Rechner zu einem Überlauf des Spool-Verzeichnisses kommen (Meldung ``file system full''; der Job wird nicht oder nicht korrekt gedruckt). In diesem Fall bitte den Technikern Bescheid sagen!

Die beste Lösung ist, auf das Drucken sehr großer Jobs wenn möglich zu verzichten; so wird Papier gespart, und das persönliche Druckseiten-Konto wird geschont.

Andere Maßnahmen:

Beim Drucken großer Dateien sollte die lpr-Option ``-s'' benutzt werden. In diesem Fall arbeitet ``lpr'' mit einem symbolischen Link auf das zu druckende File, anstatt es in das Spool-Verzeichnis zu kopieren (das File darf dann aber erst nach erfolgtem Ausdruck gelöscht oder geändert werden).

Beim Drucken großer Datenmengen aus einer Anwendung (z.B. WWW-Browser) kann der Umweg über eine Datei sinnvoll sein, die dann mit ``lpr -s'' zum Drucker geschickt werden kann.

Bedienung der Drucker

Bitte greift bei Papierstaus, bei leerem Papierzufuhrfach und bei anderen Störungen der Drucker nicht auf eigene Faust ein (z.B. durch Ausschalten oder Öffnen der Drucker), sondern sagt den technischen Mitarbeitern Bescheid. Wer in Zukunft gerne selbst Papier nachlegen und einfache Störungen beseitigen möchte, kann sich die Bedienung der Drucker erklären lassen.

Autor: Oliver Laumann <net@informatik.uni-bremen.de>
$Id: drucken.html,v 1.25 2008/04/21 10:34:34 net Exp net $