Müssen auf CUPS-Clients Treiber lokal installiert sein?

10

Sollten Clients bei Verwendung von CUPS lokal Treiber installiert haben?

Beispiel: Angenommen, wir haben 1 Netzwerk-PC mit Linux, 1 Druckserver (oder CUPS, Samba-Druckserver).

Wenn der Linux-PC ein Dokument über den Druckserver drucken möchte, muss der Linux-PC über die Treiber für den Drucker verfügen, den er verwenden wird?

Oder verwendet es eine generische API?

bakytn
quelle
Ich kämpfe mit CANON LBP-Druckern. Ich habe alles versucht! Und sie können nicht vor Ort arbeiten. Aber ich brauche Linux-Computer, um mit ihnen drucken zu können. LBP 810 und LBP 1120.
Bakytn
Ich denke, Ihr Problem ist, dass der LBP810 (und vielleicht der 1120) Winprinters sind, mit all der Intelligenz auf dem Computer. IIRC Es wurden (zumindest) nie Linux-Treiber für den 810 produziert. In meiner Bearbeitung unten finden Sie einige Vorschläge.
ConcernedOfTunbridgeWells
Linux -> nein; Windows -> sollte aber nicht obligatorisch sein
MUY Belgien

Antworten:

10

Der Druckserver, auf dem CUPS ausgeführt wird, ist der einzige Computer, auf dem die Treiber erforderlich sind. Lesen Sie zum Beispiel über CUPS auf Wikipedia - im Abschnitt Übersicht wird dies ganz klar angegeben:

Mit CUPS können Druckerhersteller und Entwickler von Druckertreibern einfacher Treiber erstellen, die nativ auf dem Druckserver funktionieren. Die Verarbeitung erfolgt auf dem Server und ermöglicht so ein einfacheres netzwerkbasiertes Drucken als bei anderen Unix-Drucksystemen. Wenn Samba installiert ist, können Benutzer Drucker auf Windows-Remotecomputern ansprechen und generische PostScript-Treiber können zum Drucken über das Netzwerk verwendet werden.

Was wäre sonst der wahre Vorteil von CUPS?

rozcietrzewiacz
quelle
5

Wenn Sie Samba / CUPS als Druckserver für Windows-basierte Clients verwenden, verfügen die Clients normalerweise über Treiber für diesen Drucker, obwohl CUPS in einigen Fällen eine eigene Übersetzung durchführen kann. Beispielsweise ist es möglich, Ghostscript einzurichten und Postscript für die Anzeige auf einem Nicht-PS-Drucker zu rendern, obwohl die Windows-Clients einen PS-Treiber benötigen würden, der damit gut funktioniert.

Für Linux-Clients lautet die Antwort: Es ist kompliziert, aber nicht. Herkömmliches Unix / Linux verfügt nicht über eine native Standard-Druck- oder Rendering-API, die der GDI von Windows entspricht, obwohl Bibliotheken wie Kairo diese Funktionalität für Anwendungen bereitstellen können, die sie verwenden. Die meisten herkömmlichen Unix-Anwendungen drucken nur ASCII, um Postscript-Dateien nativ zu standardisieren oder zu generieren. Geräteunabhängige Rendering-Bibliotheken wie Kairo werden nur über ihren eigenen Treiber in Postscript gerendert, der auf dem Client mit der Bibliothek gebündelt wird.

Sie werden Postscript mit ziemlicher Sicherheit irgendwo im Workflow für ein CUPS- oder älteres lpr / lpd-Drucksystem finden. Normalerweise erzeugen die Clients eine ASCII- oder Postscript-Ausgabe. Die ASCII-Ausgabe wird über so etwas wie a2ps und Postscript konvertiert, die gerade durchlaufen wurden. Das Postscript wird an den Drucker oder eine auf Ghostscript basierende Rendering-Ebene weitergeleitet.

Es ist schon eine Weile her, dass ich ein Linux-basiertes Drucksubsystem eingerichtet habe, aber IIRC, die PS-Treiber, sind ziemlich allgemein und enthalten nur eine PPD-Datei für den Zieldrucker. Die Kunden müssen nicht unbedingt viel darüber wissen. Traditionell richten Sie Warteschlangen für das Drucken auf unterschiedliche Weise ein (z. B. Duplex, Nicht-Duplex oder Briefkopf), und sie werden zu separaten Druckzielen.

Wenn Sie Apps mit lokaler Druckersteuerung verwenden, z. B. Apps, die die GNOME-Print- API verwenden, oder Dateien direkt mit lpr -oOptionen drucken, kann die Druckfunktion mehr Kontrolle über das tatsächliche Druckerziel ausüben. Beispielsweise können bestimmte Fächer oder Duplexoptionen ausgewählt werden. Wenn Sie eine korrekte PPD-Datei für den auf dem CUPS-Server installierten Drucker haben, sollten diese Optionen vom Client aus funktionieren, ohne dass der Client zusätzliche Treibersoftware installieren muss.

EDIT: In Ihrem Fall könnte das Problem sein, dass der LBP810 ein Win-Drucker ist und nie Linux-Treiber dafür produziert wurden. Ihre beste Wette könnte sein, einen anderen Drucker zu kaufen, was sehr billig gemacht werden kann, wenn Sie es richtig angehen.

Gebrauchte Laserdrucker sind bei Ebay sehr günstig, und Sie können einen Laserjet 4100 oder ähnliches für etwa 100 USD je nach Standort erwerben . Alle HP-Laser im mittleren Bereich unterstützen Postscript oder PCL5 / 6 und funktionieren gut mit Linux und CUPS. Sie sollten keine Probleme haben, eines davon zum Laufen zu bringen, und gebrauchte sind so billig, dass Sie sie als Wegwerfartikel behandeln können.

ConcernedOfTunbridgeWells
quelle
Sie sagen, wenn eine PPD auf dem CUPS-Server installiert ist, benötigt der Client keine Treiber. Was ist mit Windows-Clients, für die beim Hinzufügen eines von CUPS freigegebenen Druckers ausdrücklich ein Treiber erforderlich ist?
CDuv