<para>Dieses Kapitel gibt Ihnen einige Hinweise zu weiteren Konfigurationsmöglichkeiten von &CUPS;,die möglicherweise nicht über das &tdeprint; &GUI; verfügbar.</para>
<para>Eine Menge Informationen finden sich in der Web-Schnittstelle, die von &CUPS; immer unterstützt wird. Diese funktioniert mit jedem Browser (sogar mit textbasierten). Gehen sie zum Start einfach auf <ulink url="http://localhost:631/">http://localhost:631/</ulink>. Dort finden sie einen Link, zur lokal verfügbaren &CUPS;-Dokumentation im <acronym>HTML</acronym>- und <acronym>PDF</acronym>-Format.</para>
<para>Sie können &CUPS; nicht nur über &tdeprint; steuern. Die Kommandozeile und der Browser sind zwei &CUPS;-Schnittstellen, die direkt unterstützt werden. Mit den vielen Kommandozeilenprogrammen haben sie die umfangreichste Kontrolle über &CUPS;. Die Web-Schnittstelle zeigt nur einen Teil der zur Verfügung stehenden Möglichkeiten zur Steuerung und Einstellung. </para>
<para>Dies gilt auch für &tdeprint;. Generell stehen mit der weiteren Entwicklung von &CUPS; die neusten Funktionen immer erst über die Kommandozeile zur Verfügung. Schauen Sie sich nach der Installation einer neuen &CUPS;-Version die Handbuchseiten an, um über die neusten Funktionen auf dem Laufenden zu bleiben.</para>
<para>Je nachdem, welche Aktualisierungsmethode sie für &CUPS; verwenden, kann es vorkommen, dass Ihre Konfigurationsdatei bei der Aktualisierung nicht durch eine neue ersetzt wird. Deshalb kann es passieren, dass der neue, erweiterte &CUPS;-Dämon von der alten Konfiguationsdatei nichts über die neu eingebauten Fähigkeiten erfährt.</para>
<para>Eine komplette Liste der verfügbaren Dateien und Handbücher sollte immer in im &CUPS;-Handbuch für den Software Administrator unter (<ulink url="http://localhost:631/sam.html#FILES">http://localhost:631/sam.html#FILES</ulink> zu finden sein. Geben Sie in der Adresszeile von &konqueror; folgende &URL; ein, um mehr über die wichtigsten Befehle und Konfigurationsdateien herausfinden:<userinput>man:/lpadmin</userinput> und <userinput>man:/cupsd.conf</userinput> . Kennen Sie bereits &konqueror;s Fähigkeit traditionelle &UNIX;-Manpages anzuzeigen? Lesen Sie dies. Dort finden Sie interessante Hinweise und Verknüpfungen zu weiteren Mappages und Dokumentationen.</para>
<title>Bestimmten Benutzern den Zugang zu Druckern erlauben oder verbieten</title>
<para>Wenn sie einen Drucker mit Hilfe der Befehlszeile installieren oder ändern,können sie bestimmten Benutzern dabei den Zugang zum Drucker erlauben oder verbieten:</para>
<para>Dies wird den Zugriff zu dem Drucker nur den drei erwähnten Benutzern erlauben und zur gleichen Zeit allen anderen den Zugriff verbieten. Wenn ein anderer Benutzer etwas über den &CUPS; Server auf dem DigiMaster ausdrucken will, wird er eine Fehlermeldung mit der Zeile <errortype>client-error-not-possible</errortype> bekommen.</para>
<para>Wird den drei erwähnten Benutzern den Zugriff auf den Drucker verbieten und zur gleichen Zeit allen anderen Benutzern den Zugriff gewähren. Wenn der gesperrte Benutzer über den &CUPS; Server auf den DigiMaster zugreifen will, wird er eine Fehlermeldung mit der Zeile <errortype>client-error-not-possible</errortype> erhalten.</para>
<para>Nur eine der beiden Einstellungen kann gleichzeitig genutzt werden. Zur Zeit gibt es keine Unterstützung, die eine ähnliche Einstellung auf Gruppenbasis ermöglichen würde. Dies wird aber in der Zukunft eingebaut werden. </para>
<para>Manchmal könnte es sein, dass die Beschränkungen für bestimmte Drucker festlegen möchten. Mit den Beschränkungen haben sie die Möglichkeit Limits für die Zahl der Seiten oder die Datenmenge, die in einer bestimmten Zeit gedruckt werden darf festzulegen.</para>
<para>Beschränkungen können mit der <option>-o</option> Einstellung festgelegt werden, wenn sie einen Drucker mit dem Befehl <command>lpadmin</command> einrichten. Natürlich können sie dies auch nachträglich für einen schon eingerichteten Drucker einstellen. Nun folgen einige Richtlinien, die zum Zeitpunkt der Verfassung dieser Dokumentation in der offiziellen &CUPS; Dokumentation fehlen.</para>
<para>Die Beschränkungen werden für jeden Benutzer individuell berechnet. Eine einfache Beschränkung gilt deshalb für alle Benutzer des Druckers.</para>
<para>Das heißt, dass sie die Benutzung bei einem teuren Drucker auf 20 Seiten pro Tag und Benutzer beschränken können. Sie können allerdings nicht eine Beschränkung für jeden Benutzer außer <systemitem class="username">Kurt</systemitem> oder <systemitem class="username">root</systemitem> angeben.</para>
<para>Es gibt beim Einrichten eines neuen Druckers <option>job-k-limit</option>, <option>job-page-limit</option>, und <option>job-quota-period</option> Einstellungen.</para>
<para><option>job-quota-period</option> gibt ein Zeitintervall für die Berechnung der Beschränkung an.(Das Intervall wird in Sekunden berechnet, ein Tag entspricht also 60x60x24=86.400, eine Woche 60x60x24x7=604,800, und ein Monat 60x60x24x30=2.592.000 Sekunden.)</para>
<para>Um eine Beschränkung wirksam zu machen muss mindestens ein Zeitintervall <emphasis>und</emphasis> eine Auftragsbeschränkung als nicht-null definiert sein.</para>
<para>Die Voreinstellung von 0 für <option>job-quota-period</option> gibt an, dass die Beschränkungen für alle Aufträge gelten, die von Benutzern ausgeführt werden, die dem System bekannt sind.</para>
<para>Dies legt die Größe der Datei auf 1 MB für jeden Benutzer auf dem Drucker <systemitem class="resource">danka_infotec_4850</systemitem> während einer Woche fest.</para>
<para>Hiermit wird für jeden Benutzer des Druckers <systemitem class="resource">danca_infotec</systemitem> eine Beschränkung maximal auf 100 Seiten pro Woche festgelegt.</para>
<para>Dies legt eine kombinierte Beschränkung von 1 MB und 100 Seiten für den Drucker <systemitem class="resource">danka_infotec_P450</systemitem> während einer Woche fest.Die Beschränkung, die als erstes erreicht wird, tritt in Kraft.</para>
<para>Wenn ein Benutzer eine Beschränkung erreicht, erhält er eine<errortype>client-error-not-possible</errortype> Meldung, wenn er drucken will.</para>
<para>Es gibt mehrere Möglichkeiten um eine Rohdatendrucker einzurichten. Ein bequemer Weg ist die Benutzung des <command>lpadmin</command> Befehls. Geben sie einfach keine &PPD; Datei an und schon wird ihr Drucker zum Rohdatendrucker.</para>
<para>Rohdatendrucker verändern die Druckdatei nicht und versuchen nicht die Datei in ein anderes Format umzuwandeln. Dies brauchen sie beispielsweise, wenn die von einer &Windows; Arbeitsstation über Samba und einen &CUPS; Server auf einem <acronym>PCL</acronym> Drucker drucken wollen. In diesem Fall würde der Treiber des &Windows; Systems eine fertige Druckdatei erzeugen und der &CUPS; Filter würde diese Datei dann nur beschädigen. Unter bestimmten Umständen, wenn sie sicher sein wollen, dass die Datei ungefiltert von &CUPS; an den Drucker übergeben wird, ist der <command>lpadmin</command> Befehl ohne &PPD; sehr nützlich.</para>
<para>Der Benutzer sendete an &CUPS; eine Datei, die der Server nicht verarbeiten konnte. Sie bekommen diese Meldung, wenn sie eine leere Datei senden.</para>
<para>Der Benutzer darf entweder auf einem bestimmten Drucker nicht drucken oder er hat seine Beschränkung erreicht (entweder datenmengenbasiert oder nach Anzahl der Seiten).</para>
<para>Der Benutzer hat versucht, auf eine nicht existierende Ressource auf dem &CUPS;-Server zuzugreifen. Es wurde versucht eine nicht vorhandene Datei zu drucken oder der Benutzer besitzt keine Zugriffsrechte für die betreffende Datei.</para>
<para>Damit Sie Ihre fertigen Aufträge über die Web-Schnittstelle erneut starten können,müssen Sie in der Datei <filename>/etc/cups/cupsd.conf</filename> die Einstellung <userinput>PreserveJobFiles True</userinput> eintragen.</para>
<para>&CUPS; erledigt das Zählen der Seiten, indem fast jeder Auftrag an denFilter <quote>pstops</quote> übergeben wird. Dieser übernimmt neben anderen Dingen das Zählen der Seiten. Die Ausgabe dieses Filters kann wieder an andere Filter übergeben (&zb; <quote>pstoraster -->rastertopcl</quote>) oder direkt an den Drucker geschickt werden, wenn es ein &PostScript; Drucker ist.</para>
<para>Dies funktioniert für mit allen Netzwerk-, Parallelen-, Seriellen-, und <acronym>USB</acronym>-Druckern. Es wird allerdings eine <acronym>DSC</acronym> (Document Structuring Convention), die &PostScript; kompatibel ist als Input benötigt. Durch dieses Prinzip werden also die Seiten während des Filterns vom Druckserver berechnet. Danach finden sie Informationen über jede einzelne Seite (Zeit, Benutzer, Auftragsnummer, Name, Anzahl der Kopien, Datenmenge) unter <filename>/var/log/cups/page_log</filename>.</para>
<para>Übrigens: Auf meiner persönlichen <quote>Wunschliste</quote> steht eine Anpassung des <quote>Webalizers</quote>, damit er die Datei page_log liest und auswertet und einen ähnlichen Output erzeugt. Ist jemand daran interessiert diese Anpassung vorzunehmen?</para>
<para>Die Seitenzählung liefert jedoch in den folgenden Fällen <emphasis>nicht</emphasis> den richtigen Wert:</para>
<para>Der Drucker hat eine Störung und löscht deswegen den Auftrag. (dies ist schon öfters vorgekommen) oder er löscht den Auftrag wegen Problemen mit dem Datenformat.</para>
<para>Deswegen ist das Zählsystem von &CUPS; <quote>nur</quote> eine Schätzung, die aber in vielen Fällen sehr gut oder zumindest befriedigend ist. In manchen Fällen kann die Schätzung allerdings auch sehr schlecht sein. Die einzige wirklich zuverlässige Zählweise ist die des internen Zählers im Drucker. Bei einigen, aber längst nicht allen Druckern kann diese Information über <acronym>SNMP</acronym> (Simple Network Management Protocol) abgefragt werden. In größeren Netzwerken mit vielen verschiedenen Druckern gibt es letztendlich einfach kein zuverlässiges und genaues Zählwerkzeug.</para>
<para>&Windows;-Arbeitsstationen müssen Aufträge fast immer als Rohdaten gesendet werden. Warum? Wenn &CUPS; als Druckserver für &Windows; Arbeitsstationen eingesetzt wird, sollte die Arbeitsstation den Druckertreiber des &Windows;-Systems verwenden. Dieser Treiber garantiert die richtige Formatierung für den Drucker und deshalb soll der Server die Datei nicht mehr ändern und als Rohdatendatei drucken. Es wird kein Filter gestartet, da die Datei nicht im &PostScript; Format vorliegt, pstops dies aber voraussetzt. Folglich wird auch immer nur eine Seite gezählt.</para>
<para>Schauen sie sich das Handbuch zum <command>lpoptions</command> Befehl an.Sie können damit über einen &CUPS; Rechner jede Einstellung der verfügbaren Drucker auslesen. Der Drucker muss nicht lokal angeschlossen sein. Solange der Drucker lokal verfügbar ist, kann auch auf Drucker von anderen Rechnern zugegriffen werden.</para>
<para>Um Informationen über einen Drucker zu erhalten können sie beispielsweise <userinput><command>lpoptions</command> <option>-p</option> <parameter>HitachiDDP70MicroPress</parameter> <option>-l</option></userinput> eingeben. Sie erhalten dann eine lange Liste von Einstellungen, die aus der &PPD; Datei des Hitachi Druckers auf dem Server <systemitem class="systemname">transmeta</systemitem> ausgelesen werden. Natürlich muss sowohl auf<systemitem class="systemname">transmeta</systemitem> als auch auf ihrem eigenen Rechner &CUPS; aktiv sein.</para>
<para>Für &PostScript; Drucker ist es zulässig, dass die Hersteller eigene interne Namen und Prozeduren definieren. Dies gilt sogar für Standardeinstellungen von &PostScript;. Solange der Benutzer die Einstellungen von der &PPD; empfangen und verstehen kann ist dieses Verfahren in Ordnung. Was aber machen <emphasis>sie</emphasis>, wenn sie einige dieser speziellen Einstellungen von der Befehlszeile aus benutzen wollen? Wie finden sie den exakten Syntax?</para>
<para>Nehmen wir ein Beispiel. Wir betrachten den DDP70 Drucker von Hitachi und schauen nach, wie dieser beidseitiges Drucken implementiert. Wie geben sie dem Drucker Anweisungen, dass er beidseitig drucken soll? Duplex oder duplex? Oder doch ein ganz anderer Befehl?</para>
<para>Hinter dem Schrägstrich sehen die die Übersetzung der Einstellung, die in einer &GUI; oder Webschnittstelle angezeigt werden soll (<quote>Duplex</quote>);</para>
<para>Benutzen Sie den Befehl <command>lphelp</command>, der auf ihrem lokalen System installiert sein könnte. Bis jetzt gibt es allerdings noch keine Handbuchseite für <command>lphelp</command>.</para>
<para>Dies listet die verfügbaren Einstellungen für den genannten Drucker auf. Die Ausgabe ist formatiert und erklärt jede Einstellung und wie die Einstellungen benutzt werden. Sie können die Einstellungen von verschiedenen Druckern auch gemeinsam abfragen: </para>
<para>Die Druckernamen in &CUPS; sollten mit einem Buchstaben anfangen und können bis zu 128 Buchstaben, Nummern und Unterstriche enthalten. Das Benutzen von Gedankenstrichen kann zu Problemen führen. Die Drucker in &CUPS; unterscheiden nicht zwischen Groß- und Kleinschreibung. Die Namen <systemitem class="resource">Best_of_Danka</systemitem>, <systemitem class="resource">best_of_danka</systemitem>, <systemitem class="resource">BEST_OF_DANKA</systemitem> beziehen sich alle auf denselben Drucker. Dieses Verhalten ist von &IPP; vorgegeben, an dessen Standard &CUPS; sich vollkommen hält.</para>
<para>Warum bekomme ich die Meldung <errortype>Unable to connect to SAMBA host: Success</errortype>wenn ich auf einem &Windows; Rechner mittels Samba drucken will?</para>
<para>Meine Dateien für den Drucker <systemitem class="resource">lp</systemitem> verschwinden merkwürdigerweise manchmal, und nach drei Tagen wird mir dann mitgeteilt, dass die Dateien auf einem Drucker drei Etagen unter meinem Büro gedruckt wurden. Was geht da vor?</para>
<para>Es ist sehr unwahrscheinlich, dass ihr Drucker in einem großen Netzwerk der einzige mit dem Namen <systemitem class="resource">lp</systemitem> ist. Vielleicht trickst &CUPS; sie aus. Wenn sie die Einstellung <quote>ImplicitClasses On</quote> aktiviert haben, versucht &CUPS; alle Drucker in eine gemeinsame <quote>Klasse</quote> mit dem Namen lp zu gruppieren. Alle Aufträge für lp werden dann an den ersten verfügbaren Drucker der Klasse geschickt.</para>
<para>Benutzen sie bitte immer einen eindeutigen Namen für ihren Netzwerkdrucker! Bedenken sie, dass der Drucker am parallelen Anschluss auch zum Netzwerkdrucker wird, wenn sie nicht aufpassen.</para>