Einstellungen zum Ausdruck mit CUPS

Supportdatenbank (jsmeix_print-cups-options)
Bezieht sich auf

SuSE Linux: Versionen ab 7.2

Symptom

Sie administrieren ein CUPS-Drucksystem und verlieren den Überblick über die verschiedenen Einstellungen für die Warteschlangen.

Beispiele:

Analog gilt das auch für die Einstellung der Default-Warteschlange:

Hier ist aber zusätzlich zu den unten genannten Dateien noch die Umgebungsvariable PRINTER massgeblich.
Ist diese Umgebungsvariable auf einen Wert ungleich lp gesetzt, so legt das mit höchster Priorität die Default-Warteschlange fest. Ist PRINTER auf lp gesetzt, so wird das von CUPS ignoriert. Das ist wohl deshalb so, weil bei traditionellen Drucksystemen in /etc/profile (bzw. in /etc/SuSEconfig/profile) die Umgebungsvariable PRINTER normalerweise auf lp gesetzt wird und da das höchste Priorität hätte, könnte mit keiner der bei CUPS üblichen Methoden eine andere Default-Warteschlange eingestellt werden.

Ausserdem ist es nicht möglich, die Default-Warteschlange, die auf dem CUPS-Server eingestellt ist, auf die Client-Rechner zu übertragen denn es könnten sonst mehrere CUPS-Server mehrere Default-Warteschlangen an die Client-Rechner broadcasten. Daher muss jeder Client-Rechner seine eigene Einstellung der Default-Warteschlange haben.

Ist keine Warteschlange als Default-Warteschlange festgelegt, so wird per Default die alphabetisch erste Warteschlange genommen.

Ursache

Es ist kein Fehler, sondern ein zentrales Feature von CUPS:

Lösung

Die Lösung ist, zu wissen, wo überall Einstellungen gespeichert sein können und wann welche Einstellungen wirksam werden.

Ab SuSE Linux 8.1 finden Sie die grundlegenden Informationen dazu im Administrationshadbuch im Kapitel "Druckerbetrieb" im Abschnitt "Kommandozeilentools für das CUPS-Drucksystem", Unterabschnitt "Für lokale Warteschlangen" und dort unter "Einstellung der Warteschlangen".

Beispiel:

Zur Verdeutlichung hier ein völlig korrektes, aber im laufe der Zeit immer undurchschaubarer werdendes Beispiel.
In dem Beispiel werden nur Kommandozeilenbefehle verwendet, um die Darstellung präzise und knapp halten zu können. Es macht aber keinen Unterschied, wenn alternativ graphische Tools wie Kprinter und XPP oder das CUPS-Web-Frontend verwendet werden.

Ausgangszustand:

Nun werden die Einstellungen in der folgenden Reihenfolge verändert:

  1. Ändert "root" auf "sonne" mit dem Befehl
    lpadmin -p mono -o Resolution=150dpi
    den Default-Wert für die Auflösung in der PPD-Datei /etc/cups/ppd/mono.ppd auf 150 dpi,
    *DefaultColors: Gray
    *Colors Gray ...
    *Colors Color ...
    ...
    *DefaultInkCartridge: Black
    *InkCartridge Black
    *InkCartridge Color
    ...
    *DefaultResolution: 150dpi
    *Resolution 150dpi ...
    *Resolution 300dpi ...
    *Resolution 600dpi ...
    
    so liefert die Warteschlange "mono" für alle Benutzer auf allen Rechnern Graustufendruck in 150 dpi Auflösung.

  2. Legt "root" auf "sonne" mit dem Befehl
    lpoptions -p mono -o Resolution=300dpi
    den vorgegebenen Wert für die Auflösung nur für den Rechner "sonne" in dessen Datei /etc/cups/lpoptions auf 300 dpi fest,
    Dest mono Resolution=300dpi
    
    so liefert die Warteschlange "mono" für alle Benutzer auf "sonne" Graustufendruck in 300 dpi Auflösung, aber für alle Benutzer auf "erde" und "mond" weiterhin Graustufendruck in 150 dpi Auflösung.

  3. Legt "root" auf "erde" mit dem Befehl
    lpoptions -p mono -o Resolution=600dpi
    den vorgegebenen Wert für die Auflösung nur für den Rechner "erde" in dessen Datei /etc/cups/lpoptions auf 600 dpi fest,
    Dest mono Resolution=600dpi
    
    so liefert die Warteschlange "mono" für alle Benutzer auf "erde" Graustufendruck in 600 dpi Auflösung, aber für alle Benutzer auf "sonne" weiterhin Graustufendruck in 300 dpi Auflösung und für alle Benutzer auf "mond" weiterhin Graustufendruck in 150 dpi Auflösung.

  4. Ändert der normale Benutzer "tux" auf "erde" mit dem Befehl
    lpoptions -p mono -o Resolution=300dpi
    den Wert für die Auflösung, so wird das nur für den Benutzer "tux" in dessen Home-Verzeichnis in der Datei ~/.lpoptions gespeichert:
    Dest mono Resolution=300dpi
    
    Somit liefert die Warteschlange "mono" für den Benutzer "tux" auf "erde" Graustufendruck in 300 dpi Auflösung, aber für alle anderen Benutzer auf "erde" weiterhin Graustufendruck in 600 dpi Auflösung. Die Einstellungen auf "sonne" und "mond" bleiben unverändert.

  5. Ändert der Benutzer "geeko" auf "erde" mit dem Befehl
    lpoptions -p mono -o Colors=Color
    seine Einstellungen für die Warteschlange "mono", so wird das nur für den Benutzer "geeko" in dessen Home-Verzeichnis in der Datei ~/.lpoptions gespeichert:
    Dest mono Colors=Color
    
    Die Warteschlange "mono" ist nun für "geeko" auf "erde" sinnlos eingestellt, denn nun werden in sich widersprüchliche Werte Colors=Color und InkCartridge=Black verwendet.

  6. Ändert "geeko" auf "erde" mit dem Befehl
    lpoptions -p color -o Resolution=600dpi
    seine Einstellungen für die Warteschlange "color", so wird das nur in dessen ~/.lpoptions-Datei gespeichert:
    Dest color Resolution=600dpi
    Dest mono Colors=Color
    
    Die Warteschlange "color" ist nun für "geeko" auf "erde" falsch eingestellt, denn nun wird der Wert Resolution=600dpi verwendet, der wie oben angenommen, nicht für den Drucker funktioniert, so dass nun die Warteschlange "color" nicht mehr für "geeko" auf "erde" funktioniert.

  7. Ändert "geeko" auf "erde" mit dem Befehl
    lpoptions -p color -o Resolution=1200dpi -o Foo=Bar
    seine Einstellungen für die Warteschlange "color", so wird das nur in dessen ~/.lpoptions-Datei gespeichert:
    Dest color Resolution=1200dpi Foo=Bar
    Dest mono Colors=Color
    
    Es ist zwar möglich, Werte wie z.B. Resolution=1200dpi und Optionen wie z.B. Foo=Bar zu setzen, obwohl diese nicht in der PPD-Datei vorgesehen sind, aber dann wird beim Ausdruck der Default-Wert aus der PPD-Datei (Resolution=300dpi) verwendet bzw. die Option wird ganz ignoriert (Foo=Bar), so dass nun die Warteschlange "color" wieder für "geeko" auf "erde" funktioniert, obwohl eigentlich sinnlose Werte eingestellt wurden.

  8. Löscht "root" auf "sonne" die Warteschlange "mono" mit
    lpadmin -x mono
    so wird dadurch keine der Eintragungen in den oben genannten lpoptions-Dateien gelöscht, sondern die ungültig gewordenen Eintragungen bleiben unverändert bestehen.

  9. Legt "root" auf "sonne" die Warteschlange "mono" erneut an, aber nun wird eine andere PPD-Datei als vorher verwendet, etwa
    *DefaultColours: Gray
    *Colours Gray ...
    *Colours Color ...
    ...
    *DefaultResolution: 300x300dpi
    *Resolution 300x300dpi ...
    *Resolution 600x600dpi ...
    
    so ist keine der früheren Eintragung in den lpoptions-Dateien für die neue Warteschlange "mono" gültig, denn entweder stimmt der Optionsname nicht mehr überein (Colours statt Colors) und die Option wird ganz ignoriert, oder der Optionswert stimmt nicht mehr überein (300x300dpi und 600x600dpi statt 150dpi, 300dpi und 600dpi) und dann wird der Default-Wert aus der PPD-Datei verwendet.

Allgemeine Regeln, nach der die Einstellungen festgelegt werden:

Mit dem Befehl
lpoptions -p "Warteschlange" -l
werden die möglichen Einstellungen angezeigt. Dabei sind die Werte, die bei einem Druckauftrag gemäss obiger Regeln verwendet werden, durch einen vorangestellten * gekennzeichnet.

So könnte bei Punkt 7. in obigem Beispiel der Benutzer "geeko" auf "erde" mit dem Befehl
lpoptions -p color -l
feststellen, welche Einstellungen für seine Druckaufträge für die Warteschlange "color" verwendet werden und dass das nicht zu den Einstellungen in seiner ~/.lpoptions-Datei passt, denn die Ausgabe wäre

Colors: Gray *Color
InkCartridge: Black *Color
Resolution: 150dpi *300dpi 600dpi

Vorschläge, um leichter den Überblick zu behalten:


Siehe auch:
o Drucker einrichten ab SuSE Linux 8.1
o Einstellungen zum Ausdruck von ASCII-Texten mit CUPS

Stichwörter: DRUCKEN, DRUCKER, CUPS, EINSTELLUNGEN, OPTIONEN

Kategorien: Fragen und Antworten , Dokumentation , Drucker

Feedback willkommen: Send Mail to jsmeix@suse.de (Geben Sie bitte folgendes Stichwort an: SDB-jsmeix_print-cups-options)
SDB-jsmeix_print-cups-options, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 11. Nov 2002
SuSE Linux AG - Zuletzt generiert: 21. Jul 2003 von jsmeix (sdb_gen 1.40.0)