.\"
.\" cupsd.conf man page for CUPS.
.\"
.\" Copyright © 2020-2023 by OpenPrinting.
.\" Copyright © 2007-2019 by Apple Inc.
.\" Copyright © 1997-2006 by Easy Software Products.
.\"
.\" Licensed under Apache License v2.0. See the file "LICENSE" for more
.\" information.
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH cupsd.conf 5 CUPS 2021\-10\-01 OpenPrinting
.SH NAME
cupsd.conf \- Server\-Konfigurationsdatei für CUPS
.SH BESCHREIBUNG
Die Datei \fIcupsd.conf\fP konfiguriert den CUPS\-Auftragsplaner
\fBcupsd\fP(8). Sie befindet sich normalerweise im Verzeichnis
\fI/etc/cups\fP. Jede Zeile in der Datei kann eine Konfigurationsdirektive,
eine leere Zeile oder ein Kommentar sein. Konfigurationsdirektiven bestehen
typischerweise aus einem Namen und keinem oder mehren, durch Leerraum
getrennten Werten. Die Groß\- und Kleinschreibung der Namen und Werte der
Konfigurationsdirektiven ist nicht relevant. Kommentarzeilen beginnen mit
dem Zeichen »#«.
.SS "OBERSTE DIREKTIVEN"
.\"#AccessLogLevel
Die nachfolgenden obersten Direktiven werden von \fBcupsd\fP(8) verstanden:
.TP 5
\fBAccessLogLevel config\fP
.TP 5
\fBAccessLogLevel actions\fP
.TP 5
\fBAccessLogLevel all\fP
.\"#AutoPurgeJobs
Legt die Protokollierstufe für die Datei AccessLog fest. Die Stufe »config«
protokolliert, wenn Drucker und Klassen hinzugefügt, gelöscht oder verändert
werden und wenn auf Konfigurationsdateien zugegriffen oder diese geändert
werden. Die Stufe »actions« protokolliert, wenn Druckaufträge hinzugefügt,
gehalten, freigegeben, verändert oder abgebrochen werden oder einer der
Bedingungen für »config« zutrifft. Die Stufe »all« protokolliert alle
Anfragen. Die Vorgabestufe ist »actions«.
.TP 5
\fBAutoPurgeJobs Yes\fP
.TP 5
\fBAutoPurgeJobs No\fP
.br
.\"#BrowseDNSSDSubTypes
Legt fest, ob die Verlaufsdaten des Auftrags automatisch bereinigt
(gelöscht) werden sollen, wenn sie nicht mehr für Quotas benötigt
werden. Die Vorgabe ist »No«.
.TP 5
\fBBrowseDNSSDSubTypes\fP\fI_Untertyp[,…]\fP
.\"#BrowseLocalProtocols
Legt eine Liste von Bonjour\-Untertypen fest, die für jeden gemeinsam
benutzten Drucker bekanntgemacht werden soll. Beispielsweise informiert
»BrowseDNSSDSubTypes _cups,_print« die Netzwerk\-Clients, dass sowohl das
gemeinsame Benutzen mit CUPS als auch »IPP Everywhere« unterstützt
werden. Die Vorgabe ist »_cups«, was für das gemeinsame Benutzen von
Druckern unter Systemen notwendig ist.
.TP 5
\fBBrowseLocalProtocols all\fP
.TP 5
\fBBrowseLocalProtocols dnssd\fP
.TP 5
\fBBrowseLocalProtocols none\fP
.\"#BrowseWebIF
Spezifziert, welches Protokoll für die lokale Druckerfreigabe verwandt
wird. Die Vorgabe ist »dnssd« auf Systemen, die Bonjour unterstützen und
andernfalls »none«.
.TP 5
\fBBrowseWebIF Yes\fP
.TP 5
\fBBrowseWebIF No\fP
.br
.\"#Browsing
Legt fest, ob die CUPS\-Web\-Schnittstelle bekanntgemacht wird. Die Vorgabe
ist »No«.
.TP 5
\fBBrowsing Yes\fP
.TP 5
\fBBrowsing No\fP
.br
.\"#DefaultAuthType
Legt fest, ob freigegebene Drucker bekanntgemacht werden. Die Vorgabe ist
»No«.
.TP 5
\fBDefaultAuthType Basic\fP
.br
.\"#DefaultEncryption
Legt den standardmäßig zu verwendenden Authentifizierungstyp fest. Die
Vorgabe ist »Basic«.
.TP 5
\fBDefaultEncryption Never\fP
.TP 5
\fBDefaultEncryption IfRequested\fP
.TP 5
\fBDefaultEncryption Required\fP
.\"#DefaultLanguage
Gibt an, ob Verschlüsselung für authentifizierte Anfragen benutzt werden
soll. Die Vorgabe ist »Required«.
.TP 5
\fBDefaultLanguage \fP\fIStandorteinstellung\fP
.\"#DefaultPaperSize
Legt die Standardsprache, die für Text und Webinhalte verwandt werden soll,
fest. Die Vorgabe ist »en«.
.TP 5
\fBDefaultPaperSize Auto\fP
.TP 5
\fBDefaultPaperSize None\fP
.TP 5
\fBDefaultPaperSize \fP\fIGrößenname\fP
.\"#DefaultPolicy
Gibt die Standardpapiergröße für neue Druckerwarteschlangen an. »Auto«
benutzt eine standortabhängige Vorgabe, während »None« angibt, dass keine
Papiergröße vorgegeben ist. Bestimmte Größennamen sind typischerweise
»Letter« oder »A4«. Die Vorgabe ist »Auto«. Hinweis: Die
Standard\-Papiergröße muss ein Größenname aus der PPD\-Datei sein und kein
PWG\-selbstbeschriebener Mediengrößenname.
.TP 5
\fBDefaultPolicy \fP\fIRichtlinienname\fP
.\"#DefaultShared
Legt die zu verwendende Standardzugriffsrichtlinie fest. Die
Standardzugriffsrichtlinie ist »default«.
.TP 5
\fBDefaultShared Yes\fP
.TP 5
\fBDefaultShared No\fP
.\"#DirtyCleanInterval
Legt fest, ob lokale Drucker standardmäßig freigegeben sind. Die Vorgabe ist
»Yes«.
.TP 5
\fBDirtyCleanInterval \fP\fISekunden\fP
.\"#DNSSDHostName
Gibt die Verzögerungszeit für die Aktualisierung von Konfigurations\- und
Statusdateien an. Ein Wert von 0 veranlasst, dass die Aktualisierung so
schnell wie möglich erfolgt, typischerweise innerhalb von wenigen
Millisekunden. Die Vorgabe ist »30«.
.TP 5
\fBDNSSDHostName\fP\fIRechnername.example.com\fP
.\"#ErrorPolicy
Legt den vollqualifizierten Rechnernamen des Servers fest, der für die
gemeinsame Benutzung mit Bonjour verwandt wird. Die Vorgabe ist
typischerweise der ».local«\-Rechnername des Servers.
.TP 5
\fBErrorPolicy abort\-job\fP
Legt fest, dass ein fehlgeschlagener Druckauftrag abgebrochen (verworfen)
werden soll, es sei denn, es wurde anders für den Drucker festgelegt.
.TP 5
\fBErrorPolicy retry\-current\-job\fP
Legt fest, dass ein fehlgeschlagener Druckauftrag sofort neu versucht werden
soll, es sei denn, es wurde anders für den Drucker festgelegt.
.TP 5
\fBErrorPolicy retry\-job\fP
Legt fest, dass ein fehlgeschlagener Druckauftrag zu einem späteren
Zeitpunkt neu versucht werden soll, es sei denn, es wurde anders für den
Drucker festgelegt.
.TP 5
\fBErrorPolicy stop\-printer\fP
.\"#FilterLimit
Legt fest, dass ein fehlgeschlagener Druckauftrag den Drucker stoppen soll,
außer etwas anderes wurde für den Drucker festgelegt. Die Fehler\-Richtlinie
»stop\-printer« ist die Vorgabe.
.TP 5
\fBFilterLimit \fP\fIBeschränkung\fP
.\"#FilterNice
Legt die maximale Belastung gleichzeitig ausgeführter Filter fest. Damit
können Platten\-, Arbeitsspeicher\- und CPU\-Ressourcenprobleme minimiert
werden. Eine Beschränkung von 0 deaktiviert die Beschränkung von
Filtern. Ein durchschnittlicher Ausdruck auf einem Nicht\-PostScript\-Drucker
benötigt eine Filter\-Beschränkung von ungefähr 200. Ein PostScript\-Drucker
benötigt ungefähr die Hälfte (100) davon. Wird die Beschränkung unterhalb
dieser Schwellen gesetzt, wird der Auftragsplaner effektiv darauf
eingeschränkt, immer nur einen einzelnen Auftrag gleichzeitig zu
drucken. Die Vorgabe ist »0«.
.TP 5
\fBFilterNice \fP\fINice\-Wert\fP
Legt die Planungspriorität (\fBnice\fP(8)\-Wert) von Filtern, die laufen, um
einen Druckauftrag auszudrucken, fest. Die »nice«\-Werte liegen im Bereich
von 0 (der höchsten Priorität) bis zu 19, der niedrigsten Priorität. Die
Vorgabe ist 0.
.TP 5
.\"#HostNameLookups
\fBHostNameLookups On\fP
.TP 5
\fBHostNameLookups Off\fP
.TP 5
\fBHostNameLookups Double\fP
.\"#IdleExitTimeout
Legt fest, ob Rückwärtsauflösung bei sich verbindenden Clients durchgeführt
werden soll. Die Einstellung »Double« veranlasst \fBcupsd\fP(8) zu prüfen, ob
der über die Adresse aufgelöste Rechnername zu einer der dafür
zurückgegebenen Adressen passt. Das Nachschlagen mit »Double« verhindert
außerdem, dass sich Clients mit nicht registrierten Adressen mit Ihrem
Server verbinden. Die Voreinstellung ist »Off«, um potenzielle Probleme mit
der Systemleistung durch das Nachschlagen von Rechnernamen zu
vermeiden. Setzen Sie diese Option nur auf »On« oder »Double«, wenn dies
unbedingt erforderlich ist.
.TP 5
\fBIdleExitTimeout \fP\fISekunden\fP
.\"#JobKillDelay
Legt die Wartedauer fest, bevor aufgrund von Inaktivität abgeschaltet
wird. Die Vorgabe ist »60« Sekunden. Beachten Sie: Dies trifft nur zu, wenn
\fBcupsd\fP(8) auf Anforderung (z.B. mit \fB\-l\fP) läuft.
.TP 5
\fBJobKillDelay \fP\fISekunden\fP
.\"#JobRetryInterval
Legt die Anzahl von Sekunden zum Warten, bevor die Filter und Backends
beendet werden, die mit einem abgebrochenen oder angehaltenen Druckauftrag
verbunden sind, fest. Die Vorgabe ist »30«.
.TP 5
\fBJobRetryInterval \fP\fISekunden\fP
.\"#JobRetryLimit
Legt das Intervall in Sekunden, in dem der Auftrag erneut versucht wird,
fest. Dies wird typischerweise für Fax\-Warteschlangen verwandt, kann aber
auch mit normalen Druckwarteschlangen verwendet werden, deren
Fehlerrichtlinie »retry\-job« oder »retry\-current\-job« ist. Die Vorgabe ist
»30«.
.TP 5
\fBJobRetryLimit \fP\fIAnzahl\fP
.\"#KeepAlive
Legt die Anzahl der Wiederholungen für Aufträge fest. Dies wird
typischerweise für Fax\-Warteschlangen verwandt, kann aber auch mit normalen
Druckwarteschlangen verwendet werden, deren Fehlerrichtlinie »retry\-job«
oder »retry\-current\-job« ist. Die Vorgabe ist »5«.
.TP 5
\fBKeepAlive Yes\fP
.TP 5
\fBKeepAlive No\fP
.\"#LimitIPP
Legt fest, ob HTTP\-keep\-alive\-Verbindungen unterstützt werden. Die Vorgabe
ist »Yes«.
.TP 5
\fB \fP… \fB\fP
.\"#Limit
Legt die IPP\-Vorgänge, die innerhalb eines Richtlinienabschnitts begrenzt
werden, fest. IPP\-Vorgangsnamen sind weiter unten im Abschnitt
»IPP\-VORGANGSNAMEN« beschrieben.
.TP 5
\fB \fP… \fB\fP
.\"#LimitExcept
.TP 5
\fB \fP… \fB\fP
.\"#LimitRequestBody
Legt die HTTP\-Methoden, die innerhalb eines »Location«\-Abschnittes begrenzt
werden, fest. HTTP\-Methodennamen sind weiter unten im Abschnitt
»HTTP\-METHODENNAMEN« aufgeführt.
.TP 5
\fBLimitRequestBody \fP\fIGröße\fP
.\"#Listen
Legt die maximale Größe von Druckdateien, IPP\-Anfragen und
HTML\-Formulardaten fest. Die Vorgabe ist »0«, womit die Überprüfung
deaktiviert wird.
.TP 5
\fBListen \fP\fIIPv4\-Adresse\fP\fB:\fP\fIPort\fP
.TP 5
\fBListen [\fP\fIIPv6\-Adresse\fP\fB]:\fP\fIPort\fP
.TP 5
\fBListen *:\fP\fIPort\fP
.TP 5
\fBListen \fP\fI/Pfad/zu/Domain/Socket\fP
.\"#Location
Wartet auf den angegebenen Adressen und Ports oder Domain\-Socketpfaden auf
Anfragen. Mehrere »Listen«\-Direktiven können angegeben werden, um auf
mehreren Adressen auf Anfragen zu warten. Die Direktive »Listen« ist ähnlich
zu der Direktive »Port«, erlaubt es Ihnen aber, den Zugriff auf bestimmte
Schnittstellen oder Netze zu beschränken. Hinweis: Mit »\fIPort\fP« und »Port
\fIPort\fP« wird effektiv an allen IP\-Adressen auf Anfragen gewartet, daher
können Sie dies nicht mit »Listen«\-Direktiven für explizite IPv4\- oder
IPv6\-Adressen auf dem gleichen Port kombinieren.
.TP 5
\fB \fP… \fB\fP
.\"#LogDebugHistory
Legt die Zugriffssteuerung für den benannten Ort fest. Pfade werden weiter
unten im Abschnitt »ORTSPFADE« beschrieben.
.TP 5
\fBLogDebugHistory \fP\fIAnzahl\fP
.\"#LogLevel
Legt die Anzahl der Fehlersuchnachrichten, die zum Protokollieren
zurückgehalten werden, wenn ein Fehler in einem Druckauftrag auftritt,
fest. Fehlersuchnachrichten werden unabhängig von der LogLevel\-Einstellung
protokolliert.
.TP 5
\fBLogLevel \fPnone
.TP 5
\fBLogLevel \fPemerg
.TP 5
\fBLogLevel \fPalert
.TP 5
\fBLogLevel \fPcrit
.TP 5
\fBLogLevel \fPerror
.TP 5
\fBLogLevel \fPwarn
.TP 5
\fBLogLevel \fPnotice
.TP 5
\fBLogLevel \fPinfo
.TP 5
\fBLogLevel \fPdebug
.TP 5
\fBLogLevel \fPdebug2
.\"#LogTimeFormat
Legt die Protokollierstufe in der Datei ErrorLog fest. Der Wert »none«
beendet alle Protokollierung, während »debug2« alles protokolliert. Die
Vorgabe ist »warn«.
.TP 5
\fBLogTimeFormat \fPstandard
.TP 5
\fBLogTimeFormat \fPusecs
.\"#MaxClients
Legt das Format von Datum und Uhrzeit in den Protokolldateien fest. Der Wert
»standard« ist die Vorgabe und protokolliert in ganzen Sekunden, während
»usecs« in Mikrosekunden protokolliert.
.TP 5
\fBMaxClients \fP\fIAnzahl\fP
.\"#MaxClientPerHost
Legt die maximale Anzahl an gleichzeitigen Clients, die vom Auftragsplaner
erlaubt werden, fest. Die Vorgabe ist »100«.
.TP 5
\fBMaxClientsPerHost \fP\fIAnzahl\fP
.\"#MaxCopies
Legt die maximale Anzahl an gleichzeitigen Clients, die von einer einzigen
Adresse erlaubt sind, fest. Die Vorgabe ist der Wert MaxClients.
.TP 5
\fBMaxCopies \fP\fIAnzahl\fP
.\"#MaxHoldTime
Legt die maximale Anzahl an Kopien, die ein Benutzer bei jedem Auftrag
drucken kann, fest. Die Vorgabe ist »9999«.
.TP 5
\fBMaxHoldTime \fP\fISekunden\fP
.\"#MaxJobs
Legt die maximale Zeit, die ein Auftrag für »unbestimmte« Zeit angehalten
bleiben darf, bevor er abgebrochen wird, fest. Die Vorgabe ist »0«, womit
gehaltene Aufträge abgebrochen werden.
.TP 5
\fBMaxJobs \fP\fIAnzahl\fP
.\"#MaxJobsPerPrinter
Legt die maximale Anzahl an gleichzeitigen Aufträgen, die erlaubt sind,
fest. Setzen Sie dies auf »0«, um eine unbegrenzte Anzahl an Aufträgen zu
erlauben. Die Vorgabe ist »500«.
.TP 5
\fBMaxJobsPerPrinter \fP\fIAnzahl\fP
.\"#MaxJobsPerUser
Legt die maximale Anzahl an Aufträgen, die gleichzeitig pro Drucker erlaubt
sind, fest. Die Vorgabe ist »0«, womit bis zu MaxJobs Aufträge pro Drucker
erlaubt sind.
.TP 5
\fBMaxJobsPerUser \fP\fIAnzahl\fP
.\"#MaxJobTime
Legt die maximale Anzahl an Aufträgen, die gleichzeitig pro Benutzer erlaubt
sind, fest. Die Vorgabe ist »0«, womit bis zu MaxJobs Aufträge pro Benutzer
erlaubt sind.
.TP 5
\fBMaxJobTime \fP\fISekunden\fP
.\"#MaxLogSize
legt die maximale Zeit, die ein Auftrag zum Drucken verbrauchen darf, bevor
er abgebrochen wird, fest. Falls auf 0 gesetzt, werden keine »hängenden«
(stuck) Aufträge abgebrochen. Die Vorgabe ist 10800 Sekunden (3 Stunden).
.TP 5
\fBMaxLogSize \fP\fIGröße\fP
.\"#MaxSubscriptions
Legt die maximale Größe der Protokolldateien, bevor sie rotiert werden,
fest. Der Wert »0« deaktiviert die Rotation der Protokolldateien. Die
Vorgabe ist »1048576« (1 MB).
.TP 5
\fBMaxSubscriptions \fP\fIAnzahl\fP
.\"#MaxSubscriptionsPerJob
Legt die maximale Anzahl an Ereignisabonnementen, die gleichzeitig erlaubt
sind, fest. Setzen Sie dies auf »0«, um eine unbegrenzte Anzahl an
Abonnements zu erlauben. Die Vorgabe ist »100«.
.TP 5
\fBMaxSubscriptionsPerJob \fP\fIAnzahl\fP
.\"#MaxSubscriptionsPerPrinter
Legt die maximale Anzahl an Ereignisabonnementen, die gleichzeitig pro
Auftrag erlaubt sind, fest. Die Vorgabe ist »0«, womit bis zu
MaxSubscriptions Abonnements pro Auftrag erlaubt sind.
.TP 5
\fBMaxSubscriptionsPerPrinter \fP\fIAnzahl\fP
.\"#MaxSubscriptionsPerUser
Legt die maximale Anzahl an Ereignisabonnementen, die gleichzeitig pro
Drucker erlaubt sind, fest. Die Vorgabe ist »0«, womit bis zu
MaxSubscriptions Abonnements pro Drucker erlaubt sind.
.TP 5
\fBMaxSubscriptionsPerUser \fP\fIAnzahl\fP
.\"#MultipleOperationTimeout
Legt die maximale Anzahl an Ereignisabonnementen, die gleichzeitig pro
Benutzer erlaubt sind, fest. Die Vorgabe ist »0«, womit bis zu
MaxSubscriptions Abonnements pro Benutzer erlaubt sind.
.TP 5
\fBMultipleOperationTimeout \fP\fISekunden\fP
.\"#Policy
Legt die maximal erlaubte Zeit zwischen Dateien in einem Druckauftrag aus
mehreren Dateien fest. Die Vorgabe ist »900« (15 Minuten).
.TP 5
\fB \fP… \fB\fP
.\"#Port
Legt die Zugriffskontrolle für die genannte Richtlinie fest.
.TP 5
\fBPort \fP\fINummer\fP
.\"#PreserveJobFiles
Wartet auf der angegebenen Portnummer auf Verbindungen.
.TP 5
\fBPreserveJobFiles Yes\fP
.TP 5
\fBPreserveJobFiles No\fP
.TP 5
\fBPreserveJobFiles \fP\fISekunden\fP
.\"#PreserveJobHistory
Legt fest, ob Auftragsdateien (Dokumente) erhalten bleiben, nachdem ein
Auftrag gedruckt wurde. Falls ein numerischer Wert angegeben wird, werden
die Auftragsdateien für die angegebene Anzahl an Sekunden nach dem Druck
erhalten. Die Vorgabe ist »86400« (einen Tag erhalten).
.TP 5
\fBPreserveJobHistory Yes\fP
.TP 5
\fBPreserveJobHistory No\fP
.TP 5
\fBPreserveJobHistory \fP\fISekunden\fP
.\"#ReadyPaperSizes
Legt fest, ob die Auftragschronik nach dem Druck behalten wird. Falls ein
numerischer Wert angegeben ist, wird die Auftragschronik für die angegebene
Anzahl von Sekunden nach dem Druck behalten. Falls »Yes« wird die
Auftragschronik behalten, bis die Begrenzung MaxJobs erreicht ist. Die
Vorgabe ist »Yes«.
.TP 5
\fBReadyPaperSizes \fP\fIGrößenname[,…]\fP
.\"#ReloadTimeout
Legt eine Liste möglicher Papiergrößen fest, die als »bereit« (geladen)
berichtet werden. Die tatsächliche Liste wird nur die Größen enthalten, die
der Drucker unterstützt. Die Vorgabe ist »Letter,Legal,Tabloid,4x6,Env10«,
wenn die Standardpapiergröße »Letter« ist und »A3,A4,A5,A6,EnvDL«
andernfalls. Hinweis: Papiergrößen müssen die Größennamen aus der PPD\-Datei
sein und keine PWG\-selbstbeschreibende Mediengrößennamen.
.TP 5
\fBReloadTimeout \fP\fISekunden\fP
.\"#ServerAdmin
Legt die Zeitspanne, während der auf die Beendigung von Aufträgen gewartet
werden soll, bevor der Auftragsplaner (Scheduler) neu gestartet wird,
fest. Die Vorgabe ist »30«.
.TP 5
\fBServerAdmin \fP\fIE\-Mail\-Adresse\fP
.\"#ServerAlias
Legt die E\-Mail\-Adresse des Server\-Administrators fest. Die Vorgabe ist
»root@ServerName«.
.TP 5
\fBServerAlias \fP\fIRechnername \fP[ … \fIRechnername \fP]
.TP 5
\fBServerAlias *\fP
.\"#ServerName
Die Direktive ServerAlias wird für die Überprüfung von HTTP\-Host\-Kopfzeilen
bei der Verbindungsaufnahme von Clients zum Auftragsplaner über externe
Schnittstellen verwandt. Wenn Sie den besonderen Name »*« verwenden, kann
Ihr System für Browser\-basierte DNS\-Rebinding\-Angriffe verwundbar werden,
selbst wenn die Zugriffe über eine Firewall erfolgen. Falls die automatische
Erkennung von alternativen Namen nicht funktioniert, empfehlen wir, jeden
alternativen Namen mit der Direktive ServerAlias aufzuführen, statt »*« zu
verwenden.
.TP 5
\fBServerName \fP\fIRechnername\fP
.\"#ServerTokens
Legt den vollqualifizierten Rechnernamen des Servers fest. Die Vorgabe ist
der Wert, der von dem Befehl \fBhostname\fP(1) berichtet wird.
.TP 5
\fBServerTokens None\fP
.TP 5
\fBServerTokens ProductOnly\fP
.TP 5
\fBServerTokens Major\fP
.TP 5
\fBServerTokens Minor\fP
.TP 5
\fBServerTokens Minimal\fP
.TP 5
\fBServerTokens OS\fP
.TP 5
\fBServerTokens Full\fP
.\"#SSLListen
Legt fest, welche Informationen in die Server\-Kopfzeilen von HTTP\-Antworten
aufgenommen werden. »None« deaktiviert die Server\-Kopfzeilen. »ProductOnly«
meldet »CUPS«. »Major« berichtet »CUPS/major IPP/2«. »Minor« berichtet
»CUPS/major.minor IPP/2.1«. »Minimal« berichtet »CUPS/CUPS/major.minor.patch
IPP/2.1«. »OS« berichtet »CUPS/major.minor.path (osname osversion)
IPP/2.1«. »Full« berichtet »CUPS/major.minor.path (osname osversion;
architecture) IPP/2.1«. Die Vorgabe ist »Minimal«.
.TP 5
\fBSSLListen \fP\fIIPv4\-Adresse\fP\fB:\fP\fIPort\fP
.TP 5
\fBSSLListen [\fP\fIIPv6\-Adresse\fP\fB]:\fP\fIPort\fP
.TP 5
\fBSSLListen *:\fP\fIPort\fP
.\"#SSLOptions
Wartet auf der angegebenen Adresse und dem Port auf verschlüsselte
Verbindungen.
.TP 5
.TP 5
\fBSSLOptions \fP[\fIAllowDH\fP] [\fIAllowRC4\fP] [\fIAllowSSL3\fP] [\fIDenyCBC\fP] [\fIDenyTLS1.0\fP] [\fIMaxTLS1.0\fP] [\fIMaxTLS1.1\fP] [\fIMaxTLS1.2\fP] [\fIMaxTLS1.3\fP] [\fIMinTLS1.0\fP] [\fIMinTLS1.1\fP] [\fIMinTLS1.2\fP] [\fIMinTLS1.3\fP]
.TP 5
\fBSSLOptions None\fP
.\"#SSLPort
Setzt die Verschlüsselungsoptionen (nur in
/etc/cups/client.conf). Standardmäßig unterstützt CUPS nur Verschlüsselung
mit TLS v1.0 oder höher mit bekannt sicheren Algorithmen. Wenn
\fIAllow\fP\-Optionen verwandt werden, wird die Sicherheit reduziert. Wenn
\fIDeny\fP\-Optionen verwandt werden, wird die Sicherheit verbessert. Die Option
\fIAllowDH\fP aktiviert Algorithmen, die den einfachen
Diffie\-Hellman\-Schlüsselaustausch verwenden (für Systeme, die GNU TLS
verwenden, wird dies nicht unterstützt). Die Option \fIAllowRC4\fP aktiviert
die 128\-Bit\-RC4\-Algorithmen, die für einige ältere Clients benötigt
werden. Die Option \fIAllowSSL3\fP aktiviert SSL v3.0, das für einige ältere
Clients benötigt wird, die TLS v1.0 nicht unterstützen. Die Option
\fIDenyCBC\fP deaktiviert alle CBC\-Algorithmen. Die Option \fIDenyTLS1.0\fP
deaktiviert die TLS\-v1.0\-Unterstützung \- damit wird die minimale
Protokollversion auf TLS v1.1 gesetzt. Die Option \fIMinTLS\fP setzt die
minimal zu unterstützende TLS\-Version. Derzeit unterstützen nicht alle
Betriebssysteme TLS 1.3.
.TP 5
\fBSSLPort \fP\fIPort\fP
.\"#StrictConformance
Wartet auf dem angegebenen Port auf verschlüsselte Verbindungen.
.TP 5
\fBStrictConformance Yes\fP
.TP 5
\fBStrictConformance No\fP
.\"#Timeout
Legt fest, ob der Auftragsplaner von den Clients verlangt, dass sie streng
den IPP\-Spezifikationen folgen. Die Vorgabe ist »No«.
.TP 5
\fBTimeout \fP\fISekunden\fP
.\"#WebInterface
Legt die HTTP\-Zeitüberschreitung fest. Die Vorgabe ist »900« (15 Minuten).
.TP 5
\fBWebInterface yes\fP
.TP 5
\fBWebInterface no\fP
Legt fest, ob die Webschnittstelle freigegeben ist. Die Vorgabe ist »No«.
.SS HTTP\-METHODENNAMEN
Die folgenden HTTP\-Methoden werden von \fBcupsd\fP(8) unterstützt:
.TP 5
GET
Wird von einem Client zum Herunterladen von Icons und anderen
Druckressourcen und zum Zugriff auf die CUPS\-Webschnittstelle verwandt.
.TP 5
HEAD
Wird von einem Client verwandt, um den Typ, die Größe und das Änderungsdatum
von Ressourcen zu erhalten.
.TP 5
OPTIONEN
Wird vom Client verwandt, um eine sichere (SSL/TLS)\-Verbindung zu
etablieren.
.TP 5
POST
Wird von einem Client zum Einreichen von IPP\-Anfragen und HTML\-Formularen
aus der CUPS\-Webschnittstelle verwandt.
.TP 5
PUT
Wird von einem Client zum Hochladen von Konfigurationsdateien verwandt.
.SS IPP\-VORGANGSNAMEN
Die folgenden IPP\-Vorgänge werden von \fBcupsd\fP(8) unterstützt:
.TP 5
CUPS\-Accept\-Jobs
Erlaubt es einem Drucker, neue Aufträge zu akzeptieren.
.TP 5
CUPS\-Add\-Modify\-Class
Fügt eine Druckerklasse hinzu oder ändert sie.
.TP 5
CUPS\-Add\-Modify\-Printer
Fügt einen Drucker hinzu oder ändert ihn.
.TP 5
CUPS\-Authenticate\-Job
Gibt einen Auftrag frei, der für Authentifizierung gehalten ist.
.TP 5
CUPS\-Delete\-Class
Löscht eine Druckerklasse.
.TP 5
CUPS\-Delete\-Printer
Löscht einen Drucker.
.TP 5
CUPS\-Get\-Classes
Ermittelt eine Liste von Druckerklassen.
.TP 5
CUPS\-Get\-Default
Ermittelt die Servervorgabe für den Drucker oder die Druckerklasse.
.TP 5
CUPS\-Get\-Devices
Ermittelt eine Liste von derzeit verfügbaren Geräten.
.TP 5
CUPS\-Get\-Document
Ermittelt eine Dokumentendatei für einen Auftrag.
.TP 5
CUPS\-Get\-PPD
Ermittelt eine PPD\-Datei.
.TP 5
CUPS\-Get\-PPDs
Ermittelt eine Liste von installierten PPD\-Dateien.
.TP 5
CUPS\-Get\-Printers
Ermittelt eine Liste von Druckern.
.TP 5
CUPS\-Move\-Job
Verschiebt einen Auftrag.
.TP 5
CUPS\-Reject\-Jobs
Verhindert, dass ein Drucker neue Aufträge akzeptiert.
.TP 5
CUPS\-Set\-Default
Setzt die Server\-Vorgabe für einen Drucker oder eine Druckerklasse.
.TP 5
Cancel\-Job
Bricht einen Auftrag ab.
.TP 5
Cancel\-Jobs
Bricht einen oder mehrere Aufträge ab.
.TP 5
Cancel\-My\-Jobs
Bricht einen oder mehrere von einem Benutzer erstellte Aufträge ab.
.TP 5
Cancel\-Subscription
Beendet ein Abonnement.
.TP 5
Close\-Job
Schließt einen Auftrag, der auf weitere Dokumente wartet.
.TP 5
Create\-Job
Erstellt einen neuen Auftrag ohne Dokumente.
.TP 5
Create\-Job\-Subscriptions
Erstellt ein Abonnement für Auftragsereignisse.
.TP 5
Create\-Printer\-Subscriptions
Erstellt ein Abonnement für Druckerereignisse.
.TP 5
Get\-Job\-Attributes
Ermittelt Informationen über einen Auftrag.
.TP 5
Get\-Jobs
Ermittelt eine Liste von Aufträgen.
.TP 5
Get\-Notifications
Ermittelt eine Liste von Ereignisbenachrichtigungen für ein Abonnement.
.TP 5
Get\-Printer\-Attributes
Ermittelt Informationen über einen Drucker oder eine Druckerklasse.
.TP 5
Get\-Subscription\-Attributes
Ermittelt Informationen über ein Abonnement.
.TP 5
Get\-Subscriptions
Ermittelt eine Liste von Abonnements.
.TP 5
Hold\-Job
Hält einen Auftrag vom Druck zurück.
.TP 5
Hold\-New\-Jobs
Hält alle neuen Aufträge vom Druck zurück.
.TP 5
Pause\-Printer
Beendet die Verarbeitung von Aufträgen von einem Drucker oder einer
Druckerklasse.
.TP 5
Pause\-Printer\-After\-Current\-Job
Beendet die Verarbeitung von Aufträgen durch einen Drucker oder eine
Druckerklasse, nachdem der aktuelle Auftrag beendet wurde.
.TP 5
Print\-Job
Erstellt einen neuen Auftrag mit einem einzelnen Dokument.
.TP 5
Purge\-Jobs
Bricht einen oder mehrere Aufträge ab und löscht die Auftragschronik.
.TP 5
Release\-Held\-New\-Jobs
Erlaubt, vorher angehaltenen Aufträgen zu drucken.
.TP 5
Release\-Job
Erlaubt einem Auftrag, zu drucken.
.TP 5
Renew\-Subscription
Erneuert ein Abonnement.
.TP 5
Restart\-Job
Druckt falls möglich einen Auftrag erneut.
.TP 5
Send\-Document
Fügt ein Dokument zu einem Auftrag hinzu.
.TP 5
Set\-Job\-Attributes
Ändert Auftragsinformationen.
.TP 5
Set\-Printer\-Attributes
Ändert Drucker\- oder Druckerklasseninformationen.
.TP 5
Validate\-Job
Validiert Optionen für einen neuen Auftrag.
.SS ORTSPFADE
Die folgenden Pfade werden bei der Konfiguration von \fBcupsd\fP(8) häufig
verwandt:
.TP 5
/
Der Pfad für alle »get«\-Vorgänge (get\-printers, get\-jobs, usw.)
.TP 5
/admin
Der Pfad für alle Administrationsvorgänge (add\-printer, delete\-printer,
start\-printer, usw.)
.TP 5
/admin/conf
Der Pfad, um auf die CUPS\-Konfigurationsdateien (cupsd.conf, client.conf,
usw.) zuzugreifen
.TP 5
/admin/log
Der Pfad, um auf die CUPS\-Protokolldateien (access_log, error_log, page_log)
zuzugreifen
.TP 5
/classes
Der Pfad für alle Druckerklassen
.TP 5
/classes/name
Die Ressourcen für die benannte Druckerklasse
.TP 5
/jobs
Der Pfad für alle Aufträge (hold\-job, release\-job, usw.)
.TP 5
/jobs/id
Der Pfad für den angegebenen Auftrag
.TP 5
/printers
Der Pfad für alle Drucker
.TP 5
/printers/name
Der Pfad für den benannten Drucker
.TP 5
/printers/name.png
Der Icon\-Dateipfad für den benannten Drucker
.TP 5
/printers/name.ppd
Der PPD\-Dateipfad für den benannten Drucker
.SS "DIREKTIVEN, DIE INNERHALB VON ORTS\- UND EINSCHRÄNKUNGSABSCHNITTEN GÜLTIG SIND"
Die folgenden Direktiven können innerhalb von Orts\- und
Einschränkungsabschnitten in der Datei \fBcupsd.conf\fP eingetragen werden:
.TP 5
\fBAllow all\fP
.TP 5
\fBAllow none\fP
.TP 5
\fBAllow \fP\fIRechner.domain.com\fP
.TP 5
\fBAllow *.\fP\fIdomain.com\fP
.TP 5
\fBAllow \fP\fIIPv4\-Adresse\fP
.TP 5
\fBAllow \fP\fIIPv4\-Adresse\fP\fB/\fP\fINetzmaske\fP
.TP 5
\fBAllow \fP\fIIPv4\-Adresse\fP\fB/\fP\fImm\fP
.TP 5
\fBAllow [\fP\fIIPv6\-Adresse\fP\fB]\fP
.TP 5
\fBAllow [\fP\fIIPv6\-Adresse\fP\fB]/\fP\fImm\fP
.TP 5
\fBAllow @IF(\fP\fIName\fP\fB)\fP
.TP 5
\fBAllow @LOCAL\fP
Erlaubt Zugriff von benannten Rechnern, Domains, Adressen oder
Schnittstellen. Die Form @IF(name) verwendet die für die benannte
Schnittstelle derzeit konfigurierten Unternetze. Die Form @LOCAL verwendet
für alle Schnittstellen, die nicht Punkt\-zu\-Punkt sind, die derzeit
konfigurierten Unternetze, beispielsweise werden die Schnittstellen Ethernet
und Wi\-Fi verwandt, aber DSL und VPN nicht. Die »Order«\-Direktive steuert,
ob »Allow«\-Zeilen vor oder nach »Deny«\-Zeilen ausgewertet werden.
.TP 5
\fBAuthType None\fP
.TP 5
\fBAuthType Basic\fP
.TP 5
\fBAuthType Default\fP
Legt die Art der benötigten Authentifizierung fest. Der Wert »Default«
entspricht dem Wert »DefaultAuthType«.
.TP 5
\fBDeny all\fP
.TP 5
\fBDeny none\fP
.TP 5
\fBDeny \fP\fIRechner.domain.com\fP
.TP 5
\fBDeny *.\fP\fIdomain.com\fP
.TP 5
\fBDeny \fP\fIIPv4\-Adresse\fP
.TP 5
\fBDeny \fP\fIIPv4\-Adresse\fP\fB/\fP\fINetzmaske\fP
.TP 5
\fBDeny \fP\fIIPv4\-Adresse\fP\fB/\fP\fImm\fP
.TP 5
\fBDeny [\fP\fIIPv6\-Adresse\fP\fB]\fP
.TP 5
\fBDeny [\fP\fIIPv6\-Adresse\fP\fB]/\fP\fImm\fP
.TP 5
\fBDeny @IF(\fP\fIName\fP\fB)\fP
.TP 5
\fBDeny @LOCAL\fP
Verbietet Zugriff von benannten Rechnern, Domains, Adressen oder
Schnittstellen. Die Form @IF(name) verwendet die für die benannte
Schnittstelle derzeit konfigurierten Unternetze. Die Form @LOCAL verwendet
für alle Schnittstellen, die nicht Punkt\-zu\-Punkt sind, die derzeit
konfigurierten Unternetze, beispielsweise werden die Schnittstellen Ethernet
und Wi\-Fi verwandt, aber DSL und VPN nicht. Die »Order«\-Direktive steuert,
ob »Allow«\-Zeilen vor oder nach »Deny«\-Zeilen ausgewertet werden.
.TP 5
\fBEncryption IfRequested\fP
.TP 5
\fBEncryption Never\fP
.TP 5
\fBEncryption Required\fP
Legt die Verschlüsselungsstufe, die für einen bestimmten Ort benötigt wird,
fest. Der Vorgabewert ist »IfRequested«.
.TP 5
\fBOrder allow,deny\fP
Legt fest, dass der Zugriff standardmäßig verweigert wird. »Allow«\-Zeilen
werden dann nach »Deny«\-Zeilen verarbeitet, um zu bestimmen, ob ein Client
auf eine bestimmte Ressource zugreifen darf.
.TP 5
\fBOrder deny,allow\fP
Legt fest, dass der Zugriff standardmäßig erlaubt wird. »Deny«\-Zeilen werden
dann nach »Allow«\-Zeilen verarbeitet, um zu bestimmen, ob ein Client auf
eine bestimmte Ressource zugreifen darf.
.TP 5
\fBRequire group \fP\fIGruppenname \fP[ \fIGruppenname \fP… ]
Legt fest, dass ein authentifizierter Benutzer ein Mitglied einer der
benannten Gruppen sein muss.
.TP 5
\fBRequire user {\fP\fIBenutzername\fP|\fB@\fP\fIGruppenname\fP} …
Legt fest, dass ein authentifizierter Benutzer auf eine der benannten
Benutzer passen oder ein Mitglied einer der benannten Gruppen sein muss. Der
Gruppenname »@SYSTEM« entspricht der in der Direktive SystemGroup in der
Datei \fBcups\-files.conf\fP(5) definierten Liste von Gruppen. Der Gruppenname
»@OWNER« entspricht dem Eigentümer der Ressource, beispielsweise der Person,
die den Auftrag eingereicht hat. Hinweis: Der Benutzer »root« wird nicht
besonders behandelt und ihm müssen die Privilegien wie bei jedem anderen
Benutzerkonto übertragen werden.
.TP 5
\fBRequire valid\-user\fP
Legt fest, dass jeder authentifizierte Benutzer akzeptiert wird.
.TP 5
\fBSatisfy all\fP
Legt fest, dass alle »Allow«\-, »AuthType«\-, »Deny«\-, »Order«\- und
»Require«\-Bedingungen erfüllt sein müssen, damit der Zugriff erlaubt wird.
.TP 5
\fBSatisfy any\fP
Legt fest, dass jeder Client auf eine Ressource zugreifen darf, falls
entweder die Authentifizierungs\- (AuthType/Require) oder die Adress\-
(Allow/Deny/Order) Bedingung erfüllt ist. Beispielsweise kann dies dazu
verwandt werden, Authentifizierung nur bei Zugriff aus der Ferne zu
verlangen.
.SS "DIREKTIVEN, DIE INNERHALB VON POLICY\-ABSCHNITTEN GÜLTIG SIND"
Die folgenden Direktiven dürfen innerhalb von Policy\-Abschnitten in der
Datei \fBcupsd.conf\fP gesetzt werden.
.TP 5
\fBJobPrivateAccess all\fP
.TP 5
\fBJobPrivateAccess default\fP
.TP 5
\fBJobPrivateAccess \fP{\fIBenutzer\fP|\fB@\fP\fIGruppe\fP|\fB@ACL\fP|\fB@OWNER\fP|\fB@SYSTEM\fP} …
Legt eine Zugriffsliste für die privaten Werte eines Auftrags fest. Die
»Standard«\- (default) Zugriffsliste ist »@OWNER @SYSTEM«. »@ACL« passt auf
die Werte requesting\-user\-name\-allowed oder requesting\-user\-name\-denied des
Druckers. »@OWNER« passt auf den Eigentümer des Auftrags. »@SYSTEM« passt
auf die in der Direktive SystemGroup in der Datei \fBcups\-files.conf\fP(5)
aufgeführten Gruppen.
.TP 5
\fBJobPrivateValues all\fP
.TP 5
\fBJobPrivateValues default\fP
.TP 5
\fBJobPrivateValues none\fP
.TP 5
\fBJobPrivateValues \fP\fIAttributename \fP[ … \fIAttributname \fP]
Legt die Liste der Auftragswerte, die privat werden sollen, fest. Die
»Standard«\- (default) Werte sind »job\-name«, »job\-originating\-host\-name«,
»job\-originating\-user\-name« und »phone«.
.TP 5
\fBSubscriptionPrivateAccess all\fP
.TP 5
\fBSubscriptionPrivateAccess default\fP
.TP 5
\fBSubscriptionPrivateAccess \fP{\fIBenutzer\fP|\fB@\fP\fIGruppe\fP|\fB@ACL\fP|\fB@OWNER\fP|\fB@SYSTEM\fP} …
Legt eine Zugriffsliste für die privaten Werte eines Abonnements fest. Die
»Standard«\- (default) Zugriffsliste ist »@OWNER @SYSTEM«. »@ACL« passt auf
die Werte requesting\-user\-name\-allowed oder requesting\-user\-name\-denied des
Druckers. »@OWNER« passt auf den Eigentümer des Auftrags. »@SYSTEM« passt
auf die in der Direktive SystemGroup in der Datei \fBcups\-files.conf\fP(5)
aufgeführten Gruppen.
.TP 5
\fBSubscriptionPrivateValues all\fP
.TP 5
\fBSubscriptionPrivateValues default\fP
.TP 5
\fBSubscriptionPrivateValues none\fP
.TP 5
\fBSubscriptionPrivateValues \fP\fIAttributname \fP[ … \fIAttributname \fP]
Legt die Liste der Abonnementswerte, die privat werden sollen, fest. Die
»Standard«\- (default) Werte sind »notify\-events«, »notify\-pull\-method«,
»notify\-recipient\-uri«, »notify\-subscriber\-user\-name« und
»notify\-user\-data«.
.SS "VERALTETE DIREKTIVEN"
\fIDie nachfolgenden Direktiven sind veraltet und werden in einer zukünftigen Veröffentlichung von CUPS entfernt werden\fP:
.TP 5
\fBAuthType Negotiate\fP
.\"#Classification
Legt fest, dass Kerberos\-Authentifizierung benötigt wird.
.TP 5
\fBClassification \fP\fIDeckblatt\fP
.br
.\"#ClassifyOverride
Legt die Sicherheitsklassifizierung des Servers fest. Jeder gültige
Deckblattname kann verwandt werden, darunter »classified«, »confidential«,
»secret«, »topsecret« und »unclassified«. Der Deckblattname kann auch
entfallen, um die sicheren Druckfunktionen zu deaktivieren. Standardmäßig
gibt es kein Einstufungsdeckblatt.
.TP 5
\fBClassifyOverride Yes\fP
.TP 5
\fBClassifyOverride No\fP
.br
Legt fest, ob es Benutzern erlaubt werden soll, die Einstufung (Titelseite)
individueller Druckaufträge mit der Option »job\-sheets« zu ändern. Die
Vorgabe ist »No«.
.TP 5
\fBDefaultAuthType Negotiate\fP
.\"#GSSServiceName
Legt fest, dass standardmäßig Kerberos\-Authentifizierung benötigt wird.
.TP 5
\fBGSSServiceName \fP\fIName\fP
.\"#PageLogFormat
Legt den Dienstenamen, wenn Kerberos\-Authentifizierung eingesetzt wird,
fest. Der Vorgabedienstname ist »http«.
.TP 5
\fBPageLogFormat \fP\fIFormatzeichenkette\fP
Legt das Format der PageLog\-Zeilen fest. Sequenzen beginnen mit einem
Prozentzeichen (%) und werden durch die entsprechende Information ersetzt,
während alle anderen Zeichen unverändert kopiert werden. Die folgenden
Prozentsequenzen werden erkannt:
.nf
"%%" fügt ein einzelnes Prozentzeichen ein.
"%{name}" fügt den Wert des angegebenen IPP\-Attributs ein.
"%C" fügt die Anzahl der Kopien für die aktuelle Seite ein.
"%P" fügt die aktuelle Seitenzahl ein.
"%T" fügt das aktuelle Datum und die aktuelle Zeit im »common log format« ein.
"%j" fügt die Auftrags\-ID ein.
"%p" fügt den Druckernamen ein.
"%u" fügt den Benutzernamen ein.
.fi
Die Vorgabe ist die leere Zeichenkette, womit das Protokollieren der Seiten
deaktiviert wird. Die Zeichenkette »%p %u %j %T %P %C %{job\-billing}
%{job\-originating\-host\-name} %{job\-name} %{media} %{sides}« erstellt ein
Seitenprotokoll mit den Standardeinträgen. Verwenden Sie
»%{job\-impressions\-completed}«, um die Anzahl der gedruckten Seiten
(Blattseiten) oder »%{job\-media\-sheets\-completed}«, um die Anzahl der
gedruckten Blätter einzufügen.
.SH HINWEISE
Datei\-, Verzeichnis\- und Benutzerkonfigurationsdirektiven, die früher in der
Datei \fBcupsd.conf\fP erlaubt wurden, werden jetzt stattdessen in der Datei
\fBcups\-files.conf\fP(5) gespeichert, um bestimmte Arten von Angriffen zur
Rechteerweiterung zu vermeiden.
.PP
Nachdem Änderungen an der Datei \fBcupsd.conf\fP vorgenommen wurden, MUSS der
Auftragsplaner manuell neu gestartet werden. Unter Linux erfolgt dies
typischerweise mit dem Befehl \fBsystemctl\fP(8), während unter MacOS der
Befehl \fBlaunchctl\fP(8) verwandt wird.
.PP
Der Makro\-Name @LOCAL kann verwirrend sein, da ein System, das \fBcupsd\fP
ausführt, oft zu einer anderen Gruppe von Unternetzen gehört als seine
Clients.
.SH KONFORMITÄT
Das Dateiformat der \fBcupsd.conf\fP basiert auf dem
Apache\-HTTP\-Server\-Konfigurationsdateiformat.
.SH BEISPIELE
Alles protokollieren, mit einer maximalen Protokolldateigröße von 32
Megabytes:
.nf
AccessLogLevel all
LogLevel debug2
MaxLogSize 32m
.fi
Authentifizierung für Zugriffe außerhalb des 10er\-Netzes verlangen:
.nf
Order allow,deny
Allow from 10./8
AuthType Basic
Require valid\-user
Satisfy any
.fi
.SH "SIEHE AUCH"
\fBclasses.conf\fP(5), \fBcups\-files.conf\fP(5), \fBcupsd\fP(8), \fBmime.convs\fP(5),
\fBmime.types\fP(5), \fBprinters.conf\fP(5), \fBsubscriptions.conf\fP(5),
CUPS\-Online\-Hilfe (http://localhost:631/help)
.SH COPYRIGHT
Copyright \[co] 2020\-2023 by OpenPrinting.