Wozu dient das CUPS-Kommando disable?
Anhalten von Warteschlangen, so dass sie keine Aufträge mehr akzeptieren (aber existierende Aufträge weiterhin an Drucker schicken)
Anhalten von Warteschlangen, so dass sie keine Aufträge mehr an Drucker weiterreichen (aber weiterhin neue Aufträge akzeptieren und für später aufstauen)
Anhalten von Warteschlangen, so dass sie weder neue Aufträge akzeptieren noch existierende Aufträge an Drucker weiterschicken
Komplettes Löschen von Warteschlangen
LPI-Lernziel Drucker und Druckvorgänge verwalten (108.4)
Nicht angemeldet
Lösung?
MiniMe (Gast) · 3. Februar 2010, 12:03
Die Lösung würde mich sehr interessieren, die manpage schweigt sich diesbezüglich nämlich aus. Das gilt übrigens auch für ähnliche Befehle wie enable/accept/reject. Im offiziellen Manual (http://www.cups.org/doc-1.1/sum.html) werden diese Befehle übrigens gar nicht erwähnt...
Lösung?
Anselm Lingnau (eingetragen) · 3. Februar 2010, 12:16
Also in der aktuellen CUPS-Dokumentation (1.1 ist uralt, wir sind inzwischen bei 1.4!) sind die Kommandos durchaus erwähnt, aber man muss ggf. ein bisschen suchen.
Das Problem ist, dass die Bash ebenfalls die Kommandos »enable« und »disable« definiert. Um Verwirrung zu vermeiden, benutzen viele Distributionen heutzutage die Namen »cupsenable« und »cupsdisable« für die CUPS-Kommandos.
Lösung?
MiniMe (Gast) · 3. Februar 2010, 12:30
Das "cups" vor den Befehlsnamen hatte ich aus reiner Schreibfaulheit weggelassen ;) In der aktuellen Dokumentation werden auch nur die Man-Pages abgedruckt, die sich hart an Grenze zur Nutzlosigkeit bewegen...
Es wäre schön, wenn Sie entweder die Lösung oder einen Linkt beisteuern könnten. Bisher hab ich zu allen Fragen irgendwann die Antwort gefunden, aber CUPS ist echt ne harte Nuss! Da fühlt man sich schon etwas veräppelt, wenn man auf der CUPS-Homepage lesen darf:
"Documentation is a "must" for software as complex as a printing system."
Oh je...
Lösung?
Anselm Lingnau (eingetragen) · 3. Februar 2010, 13:07
Also ein bisschen Forschergeist sollte man ja doch aufweisen ... wie wäre es mit einem kleinen Experiment? (Tipp für alle Experimente rund um CUPS: Einen »Drucker« einrichten, der im wesentlichen auf einem Aufruf des Programms »cat« mit Ausgabeumlenkung in eine Datei beruht, das spart Papier :^))
Für die Akten: »accept« und »reject« kümmern sich darum, ob eine CUPS-Warteschlange weitere Jobs annimmt. »enable« und »disable« bestimmen, ob die Warteschlange Jobs, die schon in der Schlange stehen, an den (oder die) Drucker weiterreicht. (Das steht so auch in den Manpages.)
Lösung?
MiniMe (Gast) · 3. Februar 2010, 14:38
Der Tipp mit dem cat als Drucker ist gut. Jetzt muss ich nur noch herausfinden wie das geht... Die richtige Anwort ist dann also 2, danke für die Aufklärung!
Von mir gibts auch noch was für die Akten. Dies ist die Ausgabe von "man cupsenable" (identisch auf 3 untersch. System):
"cupsenable starts the named printers or classes. cupsdisable stops the named printers or classes."
??? Schätze ich muss meine Kristallkugel in die Werkstatt bringen, denn nach diesen "Erklärungen" bin ich kein bisschen schlauer als vorher...
Lösung?
Anselm Lingnau (eingetragen) · 3. Februar 2010, 15:20
Ich denke, die Sache steht und fällt mit einem grundlegenden Verständnis von CUPS. Die Idee hinter CUPS ist, dass Benutzer (und deren Programme, angefangen mit Sachen wie lp(1) und lpr(1)) nicht direkt mit Druckern interagieren, sondern nur mit Warteschlangen (die englische Dokumentation nennt sie queues oder auch destinations, also -- von Benutzern adressierbare -- »Druckziele«). Die Warteschlangen ihrerseits kümmern sich um allfällige Formatumwandlungen und ähnliches, bevor sie die Druckaufträge an tatsächliche Drucker weiterleiten, die auf verschiedenen Wegen direkt an den betreffenden Computer angeschlossen oder über das Netz erreichbar sein können. (»Klassen« sind mehrere Drucker, die aus Durchsatz- oder Redundanzgründen aus derselben Warteschlange gefüttert werden.)
Im Lichte dieser Erklärung wird verständlich, dass, wenn die Anleitung »cupsenable startet die benannten Drucker oder Klassen« sagt, der Schritt von der Warteschlange zum Drucker gemeint sein muss. Entsprechend heißt es in der Anleitung für »cupsaccept« auch »cupsaccept instructs the printing system to accept print jobs to the specified destinations.« Wobei »destination«, wie gesagt, CUPS-Jargon für das ist, was wir bisher »Warteschlange« genannt haben.
Man kann sich das ganze auch so vorstellen, dass »accept« und »reject« darüber entscheiden, ob das CUPS-System als ganzes einen Druckauftrag akzeptiert (»accept«) oder zurückweist (»reject«). Wenn der Auftrag erst mal von CUPS angenommen wurde, dann entscheidet über dessen Weiterbearbeitung, ob der passende Drucker eingeschaltet (»enable«) oder ausgeschaltet (»disable«) ist.
Es ist nicht falsch, sich die CUPS-Dokumentation (was es halt gibt, sie ist an ein paar Stellen ganz gut und an anderen ziemlich dünn) etwas genauer anzuschauen. Besonders empfehlen würde ich Overview of CUPS und CUPS Design Description.
"veräppelt" ...
bernd (Gast) · 28. Oktober 2010, 15:38
... der war gut!
BS-UNIX lpr vs. CUPS
Anonym (Gast) · 4. November 2010, 16:20
Viel Verwirrung scheint meiner Meinung daher zu kommen, dass man bei Recherchen im Netz unterschiedliche Informationen finden. Je nachdem was dort jeweils betrachtet wird.
Hinzukommt, das nach meinen Recherchen es unter BSD-Unix einfacher und klarer war, da das hier besprochene dort auf drei Befehlskombinationen aufgeteilt war, und es unter CUPS nur noch zwei gibt.
BSD lpr:
CUPS: