Das Common Unix Printing System (CUPS) ist ein freies Drucksystem, ein Daemon, der das Drucken unter den verschiedenen unixoiden Betriebssystemen erm?glicht. CUPS besteht aus einer Client-Server-Architektur; das hei?t, das Programm ist in einen Druck-Client und einen Druck-Server aufgeteilt: Der Druck-Client schickt die Druckauftr?ge (z.B. lpr, gnome-print, kde-print), der Druck-Server (cupsd) erledigt das Drucken, oder schickt es zu einem weiteren Druckserver. Es wird das Internet Printing Protocol (IPP) verwendet (Port 631).
siehe auch: CUPS-Dokumentation
Welche Drucker Ihrem Rechner bekannt sind, erfahren Sie mit dem Befehl lpstat (line printer status). Das hei?t aber noch lange nicht, dass Sie auf all diese Drucker auch zugreifen k?nnen...
phy314:~> lpstat -p
printer rcipprphy3 now printing rcipprphy3-4.? enabled since Do 17 Okt
printer rzdrumwelt80g is idle.? enabled since Mo 14 Okt
[...]
Die Druckkostenabrechnung erfolgt über die iPrint-Server des Rechenzentrums. Ausdrucken aus Applikationen wie z.B. aus einem Browser heraus ist selbsterl?uternd. Der Drucker im Linux-CIP-Pool Physik hei?t rcipprphy3. Normalerweise sollte dieser Drucker auch als sog. Defaultdrucker eingetragen sein; die Eingabe des expliziten Druckernamens erübrigt sich dann bei allen folgenden Befehlen. Schauen wir mal, ob z.Z. ein Defaultdrucker existiert:
phy314:~> lpstat -d system default destination: rcipprphy3
rz500:~> lpstat -d kein System-Standardzielort
Der Befehl lp (line printer) druckt Dateien (in der Regel PostScript-Dateien).
phy314:~> lp datei.ps # Defaultdrucker
phy314:~> lp -d rzdrumwelt80g datei.ps # beliebiger Drucker
Der Befehl lpq (line printer query) informiert über Druckjobs.
phy314:~> lpq?????????????????????????? # Defaultdrucker
rcipprphy3 ist bereit keine Eintr?ge
phy314:~> lpq -P rzdrumwelt80g?????????? # beliebiger Drucker
rzdrumwelt80g ist bereit
Rank??? Owner??? Job???? File(s)??????? Total Size
active? wuf04055 237???? test17.ps????? 756320 bytes
Mit dem Befehl cancel k?nnen Sie eigene Druckauftr?ge l?schen.
phy314:~> lp -d rzdrumwelt80g unsinn.ps
request id is rzdrumwelt80g-244 (1 file(s))
phy314:~> lpq -P rzdrumwelt80g
Rank??? Owner??? Job???? File(s)??????? Total Size
active? wuf04055 244???? test17.ps????? 756320 bytes
phy314:~> cancel rzdrumwelt80g-244
?
ASCII-Texte (z.B. den Quellcode Ihres Programms, das Sie gerade schreiben) k?nnen Sie mittels a2ps auf einem PostScript-Drucker ausdrucken. Wenn Sie mit dem Parameter -o eine Ausgabedatei angeben, wird das erzeugte PostScript stattdessen in der angegebenen Datei gespeichert.
phy314:~> a2ps -Ppf -R -1 demo.php # drucken
phy314:~> a2ps -Ppf -R -1 -o demo.ps demo.php # speichern
Problem: a2ps kennt nicht die aktuelle Zeichenkodierung UTF 8, nur die alte ISO 8859-1. Unser aktuelles Unix-System benutzt aber schon UTF 8. Umlaute werden daher durch a2ps zerst?rt:
a2ps texte.fw
Ger?te wie z.B. DIN A0 - Plotter und auch gr??ere Drucker bedürfen regelm??iger Pflege
iconv --to-code=ISO-8859-1 --from-code=UTF-8 texte.fw | a2ps
Ger?te wie z.B.? DIN A0 - Plotter und auch gr??ere Drucker bedürfen regelm??iger Pflege
Sie haben hier die sog. Pipe ? | ? gesehen: der Output eines Befehls (hier iconv zum Konvertieren von Text) wird als Input eines anderen (hier a2ps) genutzt.
ls -l > testfile?
# Listung des aktuellen Directories nach testfile
ls -l / >> testfile??????????? # Anh?ngen an das File
sort < inputfile????????????? # Lese aus einer Datei
cat inputfile | sort??????????? # Die Pipe '|' sendet die Ausgabe des?
? ? ? ? ? ? ? ? ? ? ? ? ? # ersten Programmes direkt an das zweite;
????????????????????????? # sort inputfile geht aber auch!
cat inputfile | tee ./outputfile? # tee schreibt die Eingabe sowohl auf
????????????????????????? # die Konsole als
? ? ? ? ? ? ? ? ? ? ?? ?? # auch in eine Datei
????????????????????? ? ? #(nützlich beim Debuggen von Scripten)
Administriert wird CUPS mit einem Browser über: http://localhost:631 百利宫_百利宫娱乐平台¥官网es Interface ist auf allen Linux-Distributionen gleich, ebenso auf Mac OS X. Daneben gibt es noch Desktop-integrierte Administrationsprogramme oder das Editieren der Konfigurationsdateien.
Konfiguration eines Druckers:
/etc/cups/cupsd.conf | Zentrale Konfiguration des Cupsservers |
/etc/cups/printers.conf | Hier stehen die installierten Drucker mit Optionen |
/etc/cups/ppd/ | Druckerbeschreibung mit standard Druckereinstellungen |
/var/log/cups/access_log | Log Dateien |
/usr/lib/cups/backend/ | Cups-Backend Dateien (z.B. socket oder iprint) |
/usr/lib/cups/filter/ | Cups-Filter (z.B. pdftops oder texttops ) |
verfügbare iPrint-Drucker an der Uni-Regensburg und iPrint-Client.
Bei der Installation des iPrint-Client ein zus?tzliches Backend in den lokalen CUPS-Server installiert. Das lokale Cups wird weiterhin verwendet, nur für die "iPrint-Drucker" wird ein anderes Backend für den Transport zum iPrint-Server? verwendet. Daneben wird beim Login ein kleiner Process (iprint-listener) gestartet, der die Passwort-Abfrage erledigt (siehe Architektur).
Warum iPrint Client: im Prinzip wird das iprint-Backend nicht zwingend ben?tigt, jedoch hat das Altenative ipp-Backend fogende Nachteile: