Linux als Printserver mit Samba 3

Drucken mit Windows-Treibern: Vorarbeiten

Obwohl CUPS recht leistungsfähig ist und inzwischen nahezu 700 Drucker direkt unterstützt, kann es vorkommen, dass Druckaufträge über den generischen Postscript-Treiber nicht richtig auf Papier gebracht werden. In diesem Fall ist es ratsam, für den betroffenen Drucker den spezifischen Windows-Treiber zu verwenden. Dieser lässt sich leicht mit Hilfe des Wizards "Drucker hinzufügen" von Windows NT, 2000 oder XP auf dem Samba-Server installieren - wenn auch in einer nicht ganz logischen Art und Weise. Um das zu demonstrieren, richten Sie zunächst per lpadmin einen neuen Druckereintrag - zum Beispiel für den am USB-Port angeschlossenen HP Deskjet - ein:

lpadmin -p drvtest -E -P /usr/share/cups/model/HP/Deskjet_940C-cdj970.ppd.gz
lpadmin -p drvtest -v usb:/dev/usb/lp0

Wichtig ist, dass Sie diesem Drucker keinen herunterladbaren Treiber zuordnen, also das Hilfsprogramm cupsaddsmb nicht ausführen. Da nun Windows-spezifische Treiber installiert werden, müssen Sie zusätzlich CUPS darauf vorbereiten, dass es nun nicht mehr nur Postscript-Daten, sondern zusätzlich bereits für den jeweiligen Drucker aufbereitete Rohdaten verarbeiten können soll. Dazu ist jeweils eine Änderung in den beiden Dateien /etc/cups/mime.convs sowie /etc/cups/mime.types notwendig. Ziemlich am Ende dieser Dateien findet sich eine auskommentierte Zeile, die Sie durch Entfernen des Kommentarzeichens aktivieren:

#Diese Zeile aktivieren, damit CUPS auch Rohdaten verarbeitet
application/octet-stream application/vnd.cups-raw 0 -

Jetzt müssen Sie noch CUPS per /etc/init.d/cups restart und Samba per /etc/init.d/smb restart neu starten, damit diese den neuen Drucker und die aktualisierten Einstellungen erkennen.