Moin Moin!
Hellihello
in der AG haben wir den dortigen Brother-Drucker (nicht postscriptauglich) man an einen Linuxrechner angeschlossen und mit echo "asdf^L" >dev>lp0 bestückt.
Ich würde erstmal anhand der Typenbezeichnung und ggf. Modellbezeichnung herausfinden, welche Druckersprachen der Drucker versteht, und dann "geeignet" mit dem Drucker kommunizieren. Typischerweise ESC/P2 (Epson Standard Code for Printers version 2, hat nichts mit ASCII 27 zu tun), Epson FX80/FX85, PCL5, PCL6 oder eben Postscript.
Wie könnte man der Sache näher kommen? Hilft es, unter Windows einen Ausdruck an diesen Durcker in eine Datei umzuleiten und diese Datei dann vom Linux/FreeBSD an den Drucker zu schicken (soweit haben wirs nicht mehr geschafft, weil wir da beim Testen im Win den flaschen Drucker ausgewählt hatten (;-)).
Das könnte in der Tat funktionieren. "Print to file" bzw. "In Datei umleiten", dann die Datei *BINÄR* auf das Unix-System bringen (FTP, SSH, Samba, ...), und schließlich cat printjob > /dev/lp0 oder /dev/usblp0.
Wahrscheinlich ist es aber einfacher, schlicht CUPS und alle abhängigen Pakete zu installieren und via http://localhost:631/ einen neuen Drucker einzurichten.
Auf den Windows-Kisten richtet man dann einen Netzwerkdrucker mit der URL(!!!) http://linuxkiste.lokales.netz:631/printers/DruckerNameWieInCUPSEingegeben ein. Treiber müssen lokal auf dem Windows installiert werden, wenn Windows keinen Treiber mitbringt, muß man die Treiber von CD/Floppy installieren. Manche Druckertreiber-Setups sind geringfügig blöd (um nicht zu sagen von Marketing-Idioten kaputt diktiert) und lassen sich nur installieren, wenn sie den Drucker direkt am Rechner finden. Anschließend kann man dann aber in aller Regel einfach den Drucker wieder abklemmen, genau das gleiche Drucker-Modell als Netzwerk-Drucker einrichten, und den zuerst eingerichteten Drucker an LPT1 bzw. USB löschen.
Bei mir im Büro hängen ein HP LJ 6L Laserdrucker und ein HP OfficeJet d 615 Faxscantintenpissermonster an einem Linux-Server, ersterer über den Parallelport, letzerer an einem USB-Anschluß. Beide lassen sich wie oben beschrieben problemlos von Windows-Kisten aus via CUPS ansprechen, das Linux auf meinem Arbeitsrechner holt sich die kompletten Informationen direkt via CUPS vom Server, da muß ich gar nichts weiter konfigurieren. Und -- dickes Lob an HP für die Treiber -- ich kann problemlos und schnell per SANE vom OfficeJet scannen. Über den saned müßte das auch von Windows-Kisten mit einer sane-TWAIN-Bridge funktionieren.
Wenn irgendwo ein halbwegs aktuelles Samba in einer Windows-Domain läuft, idealerweise als Domain Controller, kann es die CUPS-Drucker auch direkt an Windows-Kisten weiterreichen, mit etwas Geduld kann man so sogar die Druckertreiber SAMT EINSTELLUNGEN automatisch an die Windows-Kisten verteilen lassen, sobald ein User sich den Drucker vom Samba-Server "holt". Dazu muß der Benutzer (dank Domain-Mitgliedschaft) nicht einmal sonderlich viele Rechte haben. Ohne Domain-Mitgliedschaft muß man einmal abnicken, dass man möglicherweise böse Software von einem möglicherweise nicht vertrauenswürdigen Server installiert.
CUPS und Postscript lösen das Problem naturgemäß etwas anderes, idealerweise füttern alle Clients CUPS mit Postscript, und CUPS entscheidet anhand des Auftrags, der einsatzbereiten Drucker, Auftraggeber oder sonstiger Kriterien, wo der Druckjob schließlich landet, und wie er zwischendurch behandelt wird. Mit CUPS (und dank tatkräftiger Unterstützung von Ghostscript und anderen Helfern) kann man auch auf Druckern in Postscript drucken, die nicht einmal im Ansatz Postscript verstehen.
Und es ist nicht notwendig, irgendwelche Software quasi heimlich und ohne Rückfrage von einem priviligierten Server zu installieren und mit Systemprivilegien laufen zu lassen.
MacOS X benutzt übrigens auch CUPS als Standard-Spooler, Apple hat CUPS schlicht komplett von Easy Software Products gekauft und entwickelt es weiter. Daher haben aktuelle Macs naturgemäß keine Probleme mit einem Linux/CUPS-(Print)server.
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".