Wer einen Drucker an seinem Linux Server hängen hat und diesen auch für Windows-Clients im Netz nutzen will braucht SAMBA. Richtig? – Falsch!
Viel eleganter ist es den Drucker über das IP-Protokoll anzusprechen (IPP – Internet Printing Protocoll nicht zu verwechseln mit IP – Internet Protocoll ;)
Die Freigabe über SAMBA ist sogar umständlicher und bietet auch weniger Funktionalität als das modernere IPP. So hatte ich zum Beispiel lange das Problem, dass in der Windows-Druckerwarteschlange als Status nur “Zugriff verweigert!” angezeigt wurde anstatt Informationen über den Verbleib meiner Druckaufträge. So machte ich mich also auf die Suche nach einer anderen Lösung und fand IPP – damit funktioniert die Ansicht des Druckmanagers nämlich.
Da CUPS das Drucken über IPP schon von Haus auf unterstützt und auch anbietet, werde ich mich hier fürs erste mal auf die Einrichtung eines IPP – Druckers unter Windows beschränken. Dies war auch für mich die größte Hürde ;)
Vorbemerkungen
Einiges nur eben vorneweg:
- Diese Lösung benötigt _kein_ SAMBA, um den CUPS Drucker unter Windows einzubinden.
- Meines Wissens wird IPP von Windows ab Windows 2000 nativ unterstützt. Für frühere Versionen gibt es evtl. Lösungen zum nachrüsten.
- CUPS gibt in der Standardkonfiguraton die Drucker per IPP frei, allerdings muss man ggf. den Zugriff durch die Windows Clients in der /etc/cups/cupsd.conf freigeben (dazu an anderer Stelle mehr, wird dann hier verlinkt)
Drucker unter Windows einrichten
Erster Schritt:
Unter Start->Einstellungen->Drucker und Faxgeräte links den Punkt “neuen Drucker hinzufügen” auswählen.Zeiter Schritt:
In dem sich öffnenden Assistenten die Option “Netzwerkdrucker hinzufügen” auswählen und auf “weiter” klicken.Dritter Schritt:
Hier wird’s etwas interessanter ;)Zunächst den Punkt “Verbindung mit einem Drucker im Internet herstellen” auswählen und dann unter “URL” den Drucker exakt nach folgendem Schema eingeben:
http://{IP_des_CUPS_Servers}:631/printers/{Druckername}
In meinem Fall sieht das dann so aus:http://192.168.0.1:631/printers/hpLetzter Schritt:
Wenn am Ende alles geklappt hat sollte es dann wie auf dem Bild aussehen.Der Drucker sollte mit korrektem Status und eventuellen Druckaufträgen in der Warteschlange angezeigt werden. Allerdings beschränken sich diese Daten momentan lediglich aufs Auslesen. Das senden von Steuerungsbefehlen, wie Abbrechen von Druckaufträgen oder Anhalten/Starten des Druckers bereitet häufig Probleme. Aber dazu später mehr.
Anmerkungen
Leider funktioniert bei die Kommunikation zwischen Windows und dem CUPS Server nicht reibungslos. So behindern Rechte- und Authentifikationsprobleme vielfach die Ausführung von Steuerfunktionen, wie dem Abbrechen von Druckaufträgen.
Edit: Das Problem mit dem automatischen deativieren der Druckerwarteschlange sobald man den Drucker ausschaltet habe ich mit einem Skript gelöst, dass die Warteschlange abhängig vom Drucker automatisch aktiviert bzw. deaktiviert.





Dankö :)
Das Problem mit dem automatischen deakitivieren der Druckerwarteschlange kann auch über den Parameter “ErrorPolicy” (s. CUPS Doku) in der printers.conf mit dem Eintrag
ErrorPolicy retry-job
geregelt werden.
5 years i used windows, than i changed to mac.. i love it!!
Hallo Florian,
super, vielen Dank für den Tip. An dem Thema doktere ich schon eine Weile herum, mit Deiner Anleitung hat das sofort geklappt.
Drucken von Windows zu CUPS auf die beschriebene Weise hat den Nachteil, dass das nicht global für jeden User eingerichtet ist. Für einen Admin in einem Unternehmen ist das keine befriedigende Lösung. Wir machen das etwas anders:
1. Windows-Komponenten LPR und LPD nachinstallieren (Systemsteuerung -> Software -> Komponenten hinzufügen/entfernen -> Weitere Datei- und Druckdienste)
2. Druckertreiber installieren, dabei LPR-Protokoll auswählen:
Server: Servername oder IP
Port: Name der Druckwarteschlange
3. Ggf. in den Eigenschaften des Druckers auf der Registerkarte “Anschlüsse” den bidirektionalen Druckmodus deaktivieren.
4. Falls gewünscht Druckerberechtigungen anpassen über Register “Sicherheit”.
5. Drucken und glücklich sein. :-)
Ich habe ein SUSE-Linux 11.0 PC mit CUPS Drucker. Die CUPS Name ist
sc65_66s
Der Drucker ist eingeschaltet und verbunden mit dem SUSE-Linux PC. Betriebsbereit!
Die IP Adresse des PC ist
192.168.0.189
Wenn ich genau diese Procedur folge von einem Windows XP PC mit
http://192.168.0.189:631/printers/sc65_66s
kriege ich die Fehlermeldung
“Druckerverbindung kann nicht hergestellt werden. Entweder der eingegebene Druckername ist ungültig, oder der angegebene Drucker ist nicht mit dem Server verbunden.”
Der eingegebene Druckername ist aber richtig und der Drucker ist mit dem Server verbunden!
Ist LINUX CUPS und Windows XP doch nicht kompatibel?
Korrektur E-mail vorige Antwort!