SuSE Linux: Versionen ab 7.2
Beispiele:
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.
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".
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:
Da beide Warteschlangen für denselben Drucker verwendet werden, wird für beide Warteschlangen dieselbe PPD-Datei als Basis verwendet, aber die Default-Werte sind pro Warteschlange passend voreingestellt. Beispielsweise YaST2 erzeugt verschiedene Konfigurationen meist auf diese Art - vergl. den SDB-Artikel "Drucker einrichten ab SuSE Linux 8.1" (http://sdb.suse.de/de/sdb/html/jsmeix_print-einrichten-81.html).
In den zu den einzelnen Warteschlangen gehörenden PPD-Dateien
/etc/cups/ppd/mono.ppd
und /etc/cups/ppd/color.ppd
gbt es daher beispielsweise folgende Einstellmöglichkeiten und Default-Werte:
*DefaultColors: Gray *Colors Gray ... *Colors Color ... ... *DefaultInkCartridge: Black *InkCartridge Black ... *InkCartridge Color ... ... *DefaultResolution: 600dpi *Resolution 150dpi ... *Resolution 300dpi ... *Resolution 600dpi ...und
*DefaultColors: Color *Colors Gray ... *Colors Color ... ... *DefaultInkCartridge: Color *InkCartridge Black ... *InkCartridge Color ... ... *DefaultResolution: 300dpi *Resolution 150dpi ... *Resolution 300dpi ... *Resolution 600dpi ...Es ist sinnvoll, für denselben Drucker mehrere Warteschlangen mit passenden Voreinstellungen zu haben, denn:
Colors=Gray
und InkCartridge=Black
Colors=Color
und InkCartridge=Color
150dpi
,
300dpi
und 600dpi
.
150dpi
und 300dpi
.
Nun werden die Einstellungen in der folgenden Reihenfolge verändert:
lpadmin -p mono -o Resolution=150dpi
/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.
lpoptions -p mono -o Resolution=300dpi
/etc/cups/lpoptions
auf 300 dpi fest,
Dest mono Resolution=300dpiso 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.
lpoptions -p mono -o Resolution=600dpi
/etc/cups/lpoptions
auf 600 dpi fest,
Dest mono Resolution=600dpiso 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.
lpoptions -p mono -o Resolution=300dpi
~/.lpoptions
gespeichert:
Dest mono Resolution=300dpiSomit 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.
lpoptions -p mono -o Colors=Color
~/.lpoptions
gespeichert:
Dest mono Colors=ColorDie 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.
lpoptions -p color -o Resolution=600dpi
~/.lpoptions
-Datei gespeichert:
Dest color Resolution=600dpi Dest mono Colors=ColorDie 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.
lpoptions -p color -o Resolution=1200dpi -o Foo=Bar
~/.lpoptions
-Datei gespeichert:
Dest color Resolution=1200dpi Foo=Bar Dest mono Colors=ColorEs 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.
lpadmin -x mono
lpoptions
-Dateien gelöscht, sondern die ungültig
gewordenen Eintragungen bleiben unverändert bestehen.
*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.
~/.lpoptions
-Datei), so wird diese
Einstellung für den Druckauftrag verwendet.
/etc/cups/lpoptions
-Datei
vorhanden ist, werden nur diejenigen Optionen von dort dem
Druckauftrag hinzugefügt, wenn sie nicht bereits im vorigen Schritt
durch den Benutzer festgelegt wurden.
lpoptions -p "Warteschlange" -l
*
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
/etc/cups/lpoptions
-Dateien verwenden.
lpoptions
-Befehl
verwenden, sondern auf dem CUPS-Server den lpadmin
-Befehl.
/etc/cups/ppd/mono.ppd
und /etc/cups/ppd/color.ppd
manuell wie folgt anpassen - siehe dazu den SDB-Artikel
"Was ist ein ASCII-Editor?" (http://sdb.suse.de/de/sdb/html/thallma_ascii_editor.html):
*DefaultColors: Gray *Colors Gray ... ... *DefaultInkCartridge: Black *InkCartridge Black ... ... *DefaultResolution: 600dpi *Resolution 150dpi ... *Resolution 300dpi ... *Resolution 600dpi ...und
*DefaultColors: Color *Colors Color ... ... *DefaultInkCartridge: Color *InkCartridge Color ... ... *DefaultResolution: 300dpi *Resolution 150dpi ... *Resolution 300dpi ...Normalerweise sollten unvereinbare Wertekombinationen in der PPD-Datei mittels "Constraints" ausgeschlossen sein, aber das ist noch nicht allgemein sichergestellt.
rccups reload
~/.lpoptions
-Dateien der Benutzer ungültig geworden sind.
Das ist insbesondere dann der Fall, wenn Warteschlangen komplett
gelöscht wurden oder wenn für eine bestehende Warteschlange eine
andere PPD-Dateien verwendet wird - vergl. oben die Punkte 8. und 9.
lpoptions -x "Warteschlange"
lpoptions -x mono
~/.lpoptions
-Dateien
entfernen und danach die persönlichen Einstellungen für die jeweilige
Warteschlange neu vornehmen.lpoptions -x
nicht.
Entweder man ignoriert den ungültig gewordenen Eintrag, oder löscht ihn
manuell aus der ~/.lpoptions
-Datei. Siehe dazu den SDB-Artikel
"Was ist ein ASCII-Editor?" (http://sdb.suse.de/de/sdb/html/thallma_ascii_editor.html).
rm ~/.lpoptions
SDB-jsmeix_print-cups-options
)