108.4 Drucken Copyright ( ) 2007 by Roland Boenninger. This work is licensed under the Creative Commons Attribution- Noncommercial-Share Alike 2.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.0/de/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.
108.4 Drucken Quellen: http://www.lpi.org http://www.linux-praxis.de Dean, Jeffrey: LPI Linux Certification (LPI Level1), O'Reilly
108.4 Drucken lpd (line printer daemon - BerkeleyLPD) Anwendung druckt, z.b. lpr Spoolverzeichnis /var/spool/lpd/... lpd Mit PS-Tools (Filter) ins PS- Format bringen: apsfilter, a2ps, enscript, mpage Definition der Druckerwarteschlangen in /etc/printcap PS-fähiger Drucker Ghostscript: Umwanden in druckerspezifische Sprache (Bsp: PCL oder ESC/P) Drucker
Drucker verwalten Verwaltung von Druckern und Druckerwarteschlangen Funktionsprinzip der Warteschlange Durch das Senden eines Druckauftrags werden zwei Dateien in ein Spool-Verzeichnis unterhalb von /var/spool/... gelegt. Entweder lpd oder cupsd als Druckerdaemonen. Bei Verwendung von cupsd: In /var/spool/cups/ z.b. die beiden Dateien c00071 und d00071-001. Bei Verwendung von lpd: In /var/spool/lpd/printer z.b. die beiden Dateien cf00071 und df00071 c (cf) = control, d (df) = data, Zahl = Jobnummer Im Control-File werden Steuerinformationen abgelegt, wie z.b. Job- Priorität, Erstellungszeit und die Zieladresse des Netzdruckers. Das eigentliche Drucken und Abarbeiten der Warteschlange wird vom daemon-prozess erledigt, z.b. lpd, der die Drucker, welche in /etc/printcap definiert sind, ansteuert.
Drucker verwalten lpq...zeigt Inhalt und Status von Druckerwarteschlangen an. Syntax: lpq [Optionen] Optionen: -P Ziel Zieldrucker -a alle Warteschlangen -l long (ausführlichere Anzeige) -U username Jobs eines bestimmten Users anzeigen +interval Intervallische Anzeige in Sekunden Beispiele: lpq -P laserjet6 +5 Druckaufträge für laserjet6 alle 5 Sekunden anzeigen.
Drucker verwalten lprm...druck-jobs aus einer Warteschlange löschen. Syntax: lprm [Optionen] [Job-ID] Job-ID: Zahl(en) durch Leerzeichen voneinander getrennt, oder - alle Jobs. Die Job-IDs werden zuvor mit lpq ermittelt. Optionen: -P Ziel Zieldrucker Beispiele: lprm 6 7 lprm -P laserjet6 - Lösche die Jobs Nr. 6 und 7 von der Standard- Druckerwarteschlange Lösche alle Jobs von laserjet6
Drucker verwalten lpc (Berkeley printing system)...drucker steuern (line printer control program) Syntax: lpc [ Befehl [ Parameter ]] lpc steuert alle Drucker, die in /etc/printcap angegeben sind: Drucker aktivieren oder deaktivieren Warteschlange eines Druckers aktivieren oder deaktivieren Reihenfolge der Druckjobs ändern Status der Drucker, ihrer Warteschlangen und ihrer Daemonen erfragen
Drucker verwalten lpc (Berkeley printing system) Syntax: lpc [ Befehl [ Parameter ]] Befehle (Auszug): stop {all Drucker} restart, start, abort, status entweder für alle oder für einen Drucker Hält den Druckerdaemon an, nachdem der aktuelle Auftrag abgearbeitet wurde --> sinngemäß down {all Drucker} [Nachricht] Schaltet die Warteschlange ab und schreibt die angegebene Nachricht in die Status-Datei des Druckers (oder aller Drucker). Die Statusmeldung wird dann den Usern angezeigt, die einen Druckauftrag abgeben wollen. clean {all Drucker} Alle Temporärdateien, Daten- oder Control-Dateien von Aufträgen, die nicht ausgeführt werden konnten, werden gelöscht. topq Drucker JobIDs Verschiebt die JobIDs in der angegebenen Reihenfolge an den Anfang der Warteschlange.
Drucker verwalten lpc (Berkeley printing system) Syntax: lpc [ Befehl [ Parameter ]] Beispiele: lpc restart laserjet6 lpc topq 231 248 Verschiebt Job 231an den Anfang der Queue, Job 248 an den zweiten Platz.
Drucker verwalten lpc (cups-version) Syntax: lpc [ Befehl [ Parameter ]] Befehle: exit oder quit Beendet den interaktiven Modus help [befehl] Hilfe? [befehl] Kurzhilfe status [queue] Status eines oder mehrerer Drucker/Warteschlangen Bei CUPS existieren zum Starten/Stoppen von Druckerwarteschlangen cupsenable und cupsdisable (siehe man- Pages). lpadmin (nur cups) zum Einrichten und Verwalten von CUPS-Druckern über die Konsole.
Dateien drucken lpr...schickt Druckaufträge los. Genauer gesagt: Legt den Auftrag in das zum Drucker gehörende Spoolverzeichnis, lpd sorgt für den Druck. Syntax: lpr [Optionen] Optionen: -P name Druckername -#zahl Druckt zahl mal -H server[:port] Drucke auf entfernten lpd-drucker Beispiele: lpr -P lp2 -#4 datei lpr datei cat datei lpr Druckt auf lp2 vier mal Druckt einmal auf den Standarddrucker Die Standardeingabe wird gedruckt
Dateien drucken lp...schickt Druckaufträge los. Genauer gesagt: Legt den Auftrag in das zum Drucker gehörende Spoolverzeichnis, lpd sorgt für den Druck. Syntax: lp [Optionen] Optionen: -d name Druckername bei lp -n zahl Druckt zahl mal -h hostname[:port] Drucke auf entfernten lpd-drucker Beispiele: lp -d lp2 -n 4 datei Druckt auf lp2 vier mal
Dateien drucken Postscript erzeugen Postscript ist quasi die Standardschnittstelle für das Drucken. Konvertierungs- bzw. Filterprogramme: a2ps: cat /etc/passwd a2ps -1 -o ausdatei -1...-9 Vordefinierte Ausgabeformate (Hoch-/Querformat, Seiten pro Blatt) enscript Funktionalität wie a2ps, kann aber auch HTML und RTF ausgeben mpage wie oben. Kann außerdem schon existierende PS-Dateien inkl. etwaiger Bilder verkleinern und so mehrere Seiten auf ein Blatt bringen.
Install+Konfig /etc/printcap (1) Beispiel 1: lp hplaser PS;r=600x600;q=medium;c=gray;p=a4;m=auto:\ :sd=/var/spool/lpd/lp:\ :lf=/var/spool/lpd/lp/log:\ :af=/var/spool/lpd/lp/acct:\ :if=/etc/apsfilter/basedir/bin/apsfilter:\ :lp=/dev/lp0:\ :sh:\ :mx#0: sd af if lf lp mx#zahl sh Spool-Directory Account-Datei für diesen Drucker Input-Filter, den dieser Drucker benutzen soll. Logdatei für Fehlermeldungen. Name der Gerätedatei Max Blöcke (0 = keine Beschränkung) Es wird keine Titelseite gedruckt. (suppress header)
Install+Konfig /etc/printcap (2) Beispiel 2: # This file was automatically generated by cupsd(8) from the # /etc/cups/printers.conf file. All changes to this file # will be lost. LaserJet6L HP LaserJet 6L:rm=rokiste.rostix.de:rp=LaserJet6L: farbe Canon_PIXMA_iP4200:rm=rokiste.rostix.de:rp=farbe: rm rp remote machine Druckername auf der remote machine. Für jeden Drucker gibt es einen Eintrag, auch für Netzwerkdrucker
Install+Konfig Remote-lpd-Drucker nutzen...in /etc/printcap: remote:\ :sd=/var/spool/lpd/remotelp:\ :rm=rokiste.rostix.de:\ :rp=laserjet6l:\ :sh:mx#0:\ :if=/usr/local/bin/apsfilter:
Install+Konfig Samba-Drucker nutzen...über die Angabe eines Filters in /etc/printcap remote hplj4p:\ :lp=/dev/null:\ :sd=/var/spool/lpd/ljet4:\ :sh:mx#0:\ :if=/usr/bin/smbprint: #!/bin/sh logfile=/var/log/smb-print.log /bin/date >> $logfile /etc/magicfilter/ljet4l-filter \ /usr/sbin/smbclient //server/drucker \ -W workgroup \ -U "username%passwort" \ -c "translate; print -" >>$logfile Der Filter ist in Wirklichkeit ein Shellskript, welches die Möglichkeiten von smbclient nutzt.
Install+Konfig CUPS (common unix printig system) Anwendung druckt, z.b. lpr Spoolverzeichnis /var/spool/cups/ CUPSD Datentyp bestimmen (/etc/cups/mime.types) und Konvertierungsprogramm ermitteln (/etc/cups/mime.conv) PPD-Dateien in /etc/cups/ppd/ (Postscript Printer Description) von Drucker- Herstellerfirma oder www => Druckermerkmale, die Anwendungsprogrammen mitgeteilt werden können (Bsp. Duplexdruck)
Install+Konfig CUPS (common unix printig system) Mit PS-Tools ins PS-Format bringen: pdftops, texttops, imagetops CUPSD steuert alle Vorgänge Mit pstops in Cupsspezifisches PS-Format bringen (Bsp. Anzahl der Seiten, mehrere Seiten auf einem Blatt) Ghostscript: Umwanden in druckerspezifische Sprache (Bsp: PCL oder ESC/P) PS-fähiger Drucker Drucker
Install+Konfig CUPS (common unix printig system) Konfigurationsdateien: /etc/cups/cupsd.conf: Regelt Zugriffsrechte auf den Daemon und dessen Konfiguration. Portnummer 631 lässt sich hier verändern. Browsing nach anderen im Netz auffindbaren Cups-Servern und deren Druckern ein- oder ausschalten. /etc/cups/printers.conf: <DefaultPrinter LaserJet6L> Info HP LaserJet 6L DeviceURI lpd://192.168.0.99/port1... </Printer> <Printer farbe> Info Canon_PIXMA_iP4200 Location DeviceURI http://192.168.0.2:631/printers /farbe... </Printer>
Drucken Übungen Machen Sie die Übungen in 108.4 Drucken Übungen1