Dies ist eine AlteSeite aus unserem UseModWiki bei Sourceforge.
Bitte überarbeite die Seite, passe die Formatierung für das JSPWiki an und entferne diesen Text.
Vielen Dank!
= Drucken mit CUPS = == Was ist CUPS? == CUPS (Common Unix Printing System) ist ein neues Drucksystem, das sich aller Voraussicht nach in Zukunft im Linux-Bereich durchsetzen wird. Im Vergleich zu den alten BSD bzw. Sys V - Lösungen stellt es sich wesentlich moderner und leistungsfähiger dar. CUPS benutzt das IPP-Protokoll, das (so wie es aussieht) zu einem neuen, plattformübergreifenden Standard für Drucken im Netzwerk wird. IPP basiert auf HTTP und ist daher leicht zu implementieren. CUPS ist komplett über eine Weboberfläche konfigurierbar. == Installation == Wie bei mir üblich bezieht sich das hier gesagte auf die Debian-Distribution (Sarge). Zu Beginn habe ich die nötigen Pakete installiert: apt-get install cupsys cupsys-client foomatic-filters-ppds cupsys-bsd * cupsys Der eigentliche CUPS-Server. Er läuft im Hintergrund und wartet auf einen Client, der ihm Druckaufträge zuschiebt und druckt diese dann aus. Außerdem verwaltet er auch die Weboberfläche zur Konfiguration etc. * foomatic-filters-ppds Dieses Paket enthält Druckerkonfigurationen für viele verschiedene Modelle. Ich dachte, daß es keine schlechte Idee sein kann, dieses erstmal mitzuinstallieren. * cupsys-client Dieses Paket enthält SysV-Client-Programme. Man bekommt also die normalen Druckbefehle, die man gewöhnt ist, wenn man vorher ein SysV-Drucksystem hatte, also z.B. mit "lp" Dateien gedruckt hat. * cupsys-bsd Dieses Paket enthält BSD-Client-Programme. Man bekommt also die normalen Druckbefehle, die man gewöhnt ist, wenn man vorher ein BSD-Drucksystem hatte, also z.B. mit "lpr" Dateien gedruckt hat. Außerdem enthält es einen lpd-Server, der als Daemon gestartet wird und so tut, als sei er ein normaler lpd-Server. Er nimmt Druckaufträge wie üblich an und reicht diese dann an den CUPS-Server weiter. So können Rechner im Netzwerk, die nur auf lpd-Systeme drucken können, ohne Probleme eingebunden werden. Wenn man einen Drucker hat, der nicht direkt eine Seitenbeschreibungssprache (wie z.B. Postscript) spricht, muss man noch die Pakete ''gs'' und ''gsfonts'' für Ghostscript installieren. == Spezielle Einstellungen == Einige Dinge können in '''/etc/cups/cupsd.conf''' eingestellt werden. Die Datei ist schön übersichtlich und man sollte sich dort zurechtfinden. Nach Änderungen nicht vergessen, mit '''/etc/init.d/cupsys restart''' die neue Konfiguration einzulesen. === Administration von anderen Rechnern aus === Defaultmäßig läßt CUPS Zugriffe auf das Administrationsmodul nur von localhost aus zu. Um das zu ändern, muss man andere Hosts oder Netzwerke ganz am Ende der Datei in der Rubrik ''<Location /admin>'' z.B. mit '''Allow From 192.168.5.47''' eintragen. Entsprechend dem, was man so machen will kann das auch noch in anderen Location-Teilen nötig sein. == Und loslegen! == Jetzt nimmt man seinen Browser und browst nach "http://localhost:631". Und Schwuppdiwupp erklärt sich der Rest fast von ganz alleine! Wer schonmal ein BSD-Drucksystem "von Hand" installiert hat, wird in Entzückens-Schreie ausbrechen. :-) == Probleme == Ein kleines Problem hatte ich bei der Anlage meines ersten Druckers. Als ich über die Weboberfläche den Drucker einrichten wollte, wurde mir in der Auswahlliste der Devices nicht der Parallelport angezeigt. Nachdem ich den Drucker dann über die Kommandozeile mit '''lpadmin -p test1 -E -v parallel:/dev/lp0 -m deskjet.ppd''' (egal, ob der Treiber stimmt, kann man wieder ändern) angelegt habe, tat's auf einmal auch die Anlage per Webformular. Ich nehme an, daß der Drucker erst einmal angesprochen sein muss, damit CUPS die Schnittstelle bemerkt. Vielleicht reicht ja auch ein '''echo bla >/dev/lp0''' hierzu aus...? :''Das Problem ist bei mir nicht aufgetreten.'' PeterHormanns ::"Soweit ich weiss, müssen beim Starten des cupsd die entsprechenden Module (lp/parport/etc.) geladen sein." Ein zweites Problem trat auf einem Rechner auf, auf dem auch HylFax lief. Beim Hochfahren von CUPS hat es das ''serial''-Backend geladen und ist dabei hängengeblieben, d.h. cupsd und serial stehen in der Prozessliste, aber es tut sich nichts. Ich denke, das liegt daran, dass das Backend versucht, nach Druckern zu scannen, aber nicht auf die Schnittstelle zugreifen darf, weil HylaFax da schon draufsitzt. In so einem Fall kann man am einfachsten das Backend löschen. == USB-Drucker == Die nette Software http://usbview.sf.net zeigt alle angeschlossenen USB-Geräte an. apt-get install usbview Das Modul '''printer''' muss geladen sein, damit der Drucker auch angesprochen werden kann. Andernfalls zeigt usbview das Gerät rot an und nicht schwarz. == File-Backend == In früheren Versionen gab es ein sogenantes File-Backend. Damit konnte man Druckjobs in eine Datei umleiten. Dieses bietet leider eine Scheunentorgrosse Sicherheitslücke und ist deshalb normalerweise abgeschaltet. Es kann mit der Option http://cups.org/sam.html#FileDevice eingeschaltet werden. Aus einem unerfindlichen Grund kann man damit jedoch keine raw-Daten speichern, sondern nur die durch den Druckertreiber erzeugten, obwohl ich gerade diese in meinem Fall haben wollte. :-( Also habe ich ein EigenesCupsBackend geschrieben. == Wie finde ich den richtigen Treiber? == Durch Installation des CPUS-O-MATIC-Paketes ist bereits eine sehr grosse Anzahl an Druckern direkt auswählbar. Ansonsten kann man in seinem Druckerhandbuch nach Emulationen suchen. Mein '''Brother HL-P 2000''' hat eine "HP Laserjet II"-Emulation. Der entsprechende Treiber funktionierte nicht so ganz perfekt aber nach zwei Stunden herumprobieren und ca. 80 bedruckten Seiten Papier kam ich darauf, daß der Laserjet 4-Treiber funktioniert, wenn man ihn auf 300 dpi stellt. :-) apt-get install foomatic-bin foomatic-data hpijs zless /usr/share/doc/foomatic-bin/USAGE.gz foomatic-configure -O | less foomatic-configure -s cups -n DeskJet -c file:/dev/usb/lp0 -p 133664 -d cdj880 -o PageSize=A4 == Zugriff von Windows-Rechnern == Neuere Windows-Versionen sollen direkt per IPP auf den CUPS-Server zugreifen können (habe ich keine Erfahrungen mit). Um Windows 95/98 zum laufen zu bekommen, empfiehlt sich der Weg über Samba: SambaUndCUPS. Neuerdings soll es auch IPP für Windows 98 geben. Näheres unter: http://wiki.bsdforen.de/index.php/Drucken_mit_Windows Für Samba müssen die folgenden Einträge geändert werden /etc/samba/smb.conf (Debian) printing = cups printcap name = cups Ich würde aber zu IPP-Druck raten. 1.) Start/Drucker und Faxgeräte/Drucker hinzufügen 2.) weiter 3.) Netzwerkdrucker 4.) Verbinden mit einem Drucker im Internet oder Heim-/Firmennetzwerk 5.) URL: eingeben http://<HostnameoderIPAdresse>:631/printers/<Druckername> 6.) Druckertreiber auswählen 7.) Testseite drucken == Dokumentation == Ausser der Online-Doku und dem unten angegebenen Link zur CUPS-Homepage waren für mich folgende Doku-Dateien sehr hilfreich: /usr/doc/cupsys/README.Debian.gz == Links == * http://www.cups.org * http://www.linuxprinting.org