<para>W tym rozdziale znajdziesz kilka wskazówek dotyczących dalszych możliwości konfiguracji, które mogą być niedostępne dla systemu &CUPS; z interfejsu &GUI; programu &tdeprint;.</para>
<para>Dużo informacji o pracy systemu &CUPS; jest dostępnych z interfejsu sieciowego, który zawsze jest obsługiwany przez &CUPS;. Działa on z każdą wyszukiwarką (nawet tekstową). Na początek przejdź do <ulink url="http://localhost:631/">http://localhost:631/</ulink>. Tam znajdziesz łącze do aktualnie dostępnej dokumentacji &CUPS; w formatach <acronym>HTML</acronym> i <acronym>PDF</acronym>.</para>
<para>&CUPS; jest dostępny poprzez inne środki niż &tdeprint;: wiersz poleceń i wyszukiwarka to dwa bliźniacze interfejsy &CUPS;. Wiele narzędzi wiersza poleceń dokłada się do opcji kontroli, jakie masz, korzystając z systemu &CUPS;. Interfejs sieciowy to tylko jedna z dostępnych możliwości konfiguracji i sprawiwania kontroli. </para>
<para>Dotyczy to również programu &tdeprint;. W miarę rozwoju &CUPS;, wiele nowych możliwości będzie najpierw dostępnych z wiersza poleceń. Aby nadążać za zmianami, sprawdzaj najnowsze wersje strony dokumentacji systemowej dla &CUPS;.</para>
<para>W zależności od metody uaktualniania &CUPS;, plik konfiguracyjny mógł nie zostać zastąpiony nowym; tak więc demon &CUPS; może nie być poinformowanym przez stary plik konfiguracyjny o możliwości wykorzystania nowych właściwości.</para>
<para>Kompletna lista dostępnych plików i stron dokumentacji systemowej, powinna zawsze znajdować się w Podręczniku Administratora Programu &CUPS; (<ulink url="http://localhost:631/sam.html#FILES">http://localhost:631/sam.html#FILES</ulink>. W pasku adresu &konqueror-dopelniacz; wpisz <userinput>man:/lpadmin</userinput> i <userinput>man:/cupsd.conf</userinput>, aby znaleźć najważniejsze polecenia i pliki konfiguracyjne. Wiesz już o miłej właściwości &konqueror-dopelniacz;, jaką jest pokazywanie stron dokumentacji systemowej &UNIX;, prawda? Przeczytaj je. Znajdziesz tam więcej interesujących porad i łączy do innych stron dokumentacji systemowych.</para>
<title>Udostępnianie lub blokowanie dostępu do drukarki określonym użytkownikom</title>
<para>Instalując (lub modyfikując) drukarkę poprzez wiersz poleceń, możesz udostępnić, lub zakazać dostępu do tej drukarki określonym użytkownikom:</para>
<para>zezwoli na korzystanie z tej (wierzcie mi: bardzo ładnej i bardzo profesjonalnej) drukarki tylko trzem wspomnianym użytkownikom i - jednocześnie - odmówi tego prawa wszystkim innym. Jeśli inny użytkownik zechce drukować na DigiMaster przez ten serwer &CUPS;, otrzyma wiadomość o błędzie <errortype>client-error-not-possible</errortype>.</para>
<para>zablokuje możliwość korzystania z tej samej drukarki tym samy trzem wspomnianym użytkownikom, jednocześnie udostępniając ją wszystkim pozostałym. Jeśli <quote>zablokowany</quote> użytkownik zechce drukować na DigiMaster przez ten serwer &CUPS;, otrzyma wiadomość o błędzie <errortype>client-error-not-possible</errortype>.</para>
<para>Jednocześnie możesz użyć tylko jednej z tych opcji; obecnie niedostępna jest podobna opcja dotycząca grup. Będzie ona jednak dodana w przyszłości.</para>
<para>Czasami chcesz nałożyć limit dla konkretnych drukarek. Możesz określić górną granicę ilości stron, lub danych, jakie mogą być wydrukowane w konkretnym czasie przez konkretną drukarkę.</para>
<para>Limity mogą być określone przez opcję <option>-o</option> podczas instalacji drukarki, komendą <command>lpadmin</command>, lub później, dla już zainstalowanej drukarki. Poniżej znajdziesz kilka wskazówek, których nie znajdziesz w oficjalnej dokumentacji &CUPS;:</para>
<para>Limity są obliczane indywidualnie dla każdego użytkownika (tak więc pojedyncza seria limitów dotyczy wszystkich użytkowników konkretnej drukarki).</para>
<para>To oznacza: możesz ograniczyć każdego użytkownika do drukowania 20 stron dziennie na drogiej drukarce, ale nie możesz nałożyć ograniczenia na każdego użytkownika, za wyjątkiem <systemitem class="username">Kurt</systemitem> lub <systemitem class="username">root</systemitem>.</para>
<para>Masz do wykorzystania trzy opcje nakładania limitów: <option>job-k-limit</option>, <option>job-page-limit</option> i <option>job-quota-period</option>.</para>
<para><option>job-quota-period</option> określa przedział czasowy dla obliczania limitu (przedział jest określany w sekundach; tak więc dzień to 60x60x24=86.400, tydzień to 60x60x24x7=604,800, a miesiąc to 60x60x24x30=2.592.000 sekund.)</para>
<para>Domyślna wartość 0 dla <option>job-quota-period</option> określa, że limity dotyczą wszystkich zadań, które były drukowane przez użytkownika i które wciąż są rozpoznawane przez system.</para>
<para>Ta komenda określa limit rozmiaru pliku na 1 MB (w sumie) dla każdego użytkownika drukarki <systemitem class="resource">danka_infotec_4850</systemitem> w przeciągu tygodnia.</para>
<para>Ta komenda nakłada limit 100 stron (w sumie) na każdego użytkownika drukarki <systemitem class="resource">danka_infotec_4105</systemitem> w przeciągu tygodnia.</para>
<para>Ta komenda określa złożony limit 1 MB (w sumie) i 100 stron (w sumie) dla każdego użytkownika drukarki <systemitem class="resource">danka_infotec_P450</systemitem> w przeciągu tygodnia.</para>
<title>Instalacja drukarki typu <quote>raw</quote></title>
<para>Istnieją różne sposoby na zdefiniowanie drukarki typu <quote>raw</quote>. Jedną z wygodniejszych metod jest użycie komendy <command>lpadmin</command>. Jeśli nie skorzystasz z pliku &PPD; do obsługi tej drukarki, będzie ona urządzeniem typu raw:</para>
<para>Kolejki drukarek typu raw nie zmieniają pliku drukowania i nie przekształcają go w inny format pliku. Przydaje się to na przykład, kiedy drukujesz z systemu &Windows; via Samba przez serwer &CUPS; do drukarki <acronym>PCL</acronym>: w tym przypadku sterownik drukarki systemu &Windows; generuje gotowy format pliku drukowania dla drukarki docelowej i przepuszczanie go przez filtry &CUPS; wyrządziłoby tylko szkodę. W takich warunkach (jeśli chcesz upewnić się, że plik dotarł do drukarki <quote>nieprzefiltrowany</quote> przez &CUPS;) przydatne okazuje się polecenie <quote><command>lpadmin</command> bez &PPD;</quote>.</para>
<para>Użytkownik wysłał do systemu &CUPS; plik, którego serwer nie mógł przetworzyć. Taką wiadomość otrzymasz również, jeśli wysłałeś <quote>pusty</quote> plik.</para>
<para>Użytkownik próbował dostać się do nieistniejącego źródła na serwerze &CUPS;, na przykład przez próbę druku nieistniejącego pliku, lub takiego, do którego nie ma prawa dostępu.</para>
<para>&CUPS; dokonuje <quote>obliczania stron</quote> dzięki przepuszczaniu każdego zadania przez filtr <quote>pstops</quote>. Między innymi przelicza on też strony. Dane wyjściowe z tego filtra mogą być doprowadzone do innych filtrów (jak pstoraster --> rastertopcl), lub wysłane bezpośrednio do drukarki (jeśli jest to drukarka &PostScript;owa).</para>
<para>W każdym przypadku działa to dla drukarek sieciowych, równoległych, szeregowych i <acronym>USB</acronym> tak samo. Aby pstops działał, potrzebuje on <acronym>DSC</acronym> (Document Structuring Convention) zgodnego z &PostScript; (lub bliskiego odpowiednika) jako wejścia. Tak więc oblicza on strony podczas filtrowania na serwerze drukowania i zapisuje dane o każdej stronie (godzinę, użytkownika, ID zadania i nazwę, która drukarka, ile kopii jakich stron dokumentu, ile kilobajtów?) w pliku <filename>/var/log/cups/page_log</filename>.</para>
<para>Przy okazji: na mojej osobistej <quote>liście życzeń</quote> jest przerobienie <quote>Webalizera</quote> tak, aby czytał i analizował page_log i dawał podobny wynik. Ktoś chętny?</para>
<para><emphasis>Nie</emphasis> daje on jednak poprawnych wyników w następujących przypadkach:</para>
<para>Dlatego obliczanie stron w &CUPS; jest <quote>tylko</quote> przybliżone (w wielu przypadkach doskonałe lub co najmniej dobre, ale czasami niewystarczające). Jedyne wiarygodne obliczanie wydruku jest dokonywane przez wewnętrzny licznik drukarki. Niektóre drukarki mogą być zdalnie zapytane o tą informację przez <acronym>SNMP</acronym> (Simple Network Management Protocol). To znaczy, że w większej sieci z wieloma różnymi drukarkami <emphasis>nie ma</emphasis> żadnego narzędzia, które dokładnie i niezawodnie obliczałoby strony!</para>
<para>Zadania z systemu &Windows; prawie zawsze muszą być wysyłane jako <quote>raw</quote>. Dlaczego? Jeśli &CUPS; pracuje jako serwer drukowania dla klientów &Windows;, używając oryginalnych sterowników systemu &Windows; dla docelowego urządzenia drukującego, gwarantuje to poprawne formatowanie zadania; dlatego serwer nie powinien nic zmieniać i drukować w trybie <quote>raw</quote>. Dlatego też nie dochodzi do filtrowania danych (nie jest to nawet możliwe, ponieważ dane wejściowe nie są &PostScript;owe, jak oczekuje pstops), czyli nie ma miejsca liczenie stron, prócz domyślnego <quote>1</quote>.</para>
<para>Zobacz stronę dokumentacji systemowej dla komendy <command>lpoptions</command>. Możesz przestudiować uaktywnione pole systemu &CUPS; pod kątem każdej opcji dla dostępnych drukarek. Nie musisz mieć lokalnie zainstalowanej drukarki. Dopóki drukarka jest dostępna lokalnie (przez opcję <quote>wyszukiwania drukarki</quote> systemu &CUPS;), będzie ona również pracowała jako sieciowa.</para>
<para>Aby zapytać o opcje drukarki, wpisanie <userinput><command>lpoptions</command> <option>-p</option> <parameter>HitachiDDP70MicroPress</parameter> <option>-l</option></userinput> poda długą listę wszystkich dostępnych opcji, odczytanych z pliku &PPD; dla danej drukarki Hitachi (w moim przypadku zainstalowanej na serwerze sieciowym transmeta). Serwer sieciowy <systemitem class="systemname">Transmeta</systemitem> i jego demon &CUPS;, podobnie jak demon &CUPS; na komputerze lokalnym, musi być uruchomiony, aby operacja zakończyła się sukcesem.</para>
<para>Wiesz, że <quote>legalnym</quote> działaniem producentów drukarek &PostScript;owych jest określanie własnych, wewnętrznych nazw i procedur nawet dla standardowych opcji &PostScript;owych. Dopóki sterownik jest w stanie uzyskać opcje od &PPD; i przekazać je w zrozumiały sposób użytkownikowi, wszystko jest w porządku. Ale co <emphasis>Ty</emphasis> zrobisz, jeśli chcesz użyć jakiejś mało znanej opcji drukarki w wierszu poleceń? Jak znajdziesz jej dokładną składnię?</para>
<para>Zobaczmy to na przykładzie. Spójrzmy na drukarkę Hitachi's DDP70 i na to, jak wdraża drukowanie obustronne. Jak byś powiedział, jak drukować dwustronnie? duplex czy Duplex? A może jeszcze inaczej?.</para>
<para>Użyj komendy <command>lphelp</command>, która może być zainstalowana lokalnie w systemie. Nie ma jeszcze strony dokumentacji systemowej dla <command>lphelp</command>.</para>
<para>Ta komenda podaje listę dostępnych opcji dla danej drukarki. Wykaz jest ładnie sformatowany, wyjaśnia każdą dostępną opcję i jak jej używać. Możesz od razu zapytać o opcje różnych drukarek:</para>
<para>Nazwy drukarek używanych w systemie &CUPS; powinny rozpoczynać się literą i mogą zawierać do 128 liter lub liczb. Używanie myślników może powodować problemy. Jak już jesteśmy przy nazwach: nazwy drukarek w &CUPS; nie uwzględniają wielkości liter. Tak więc drukarka nazwana <systemitem class="resource">Best_of_Danka</systemitem> będzie tą samą drukarka co <systemitem class="resource">best_of_danka</systemitem>, lub <systemitem class="resource">BEST_OF_DANKA</systemitem>. (Takie są wymagania &IPP;, z którymi &CUPS; jest całkowicie zgodny).</para>
<para>Dlaczego otrzymuję wiadomość <errortype>Unable to connect to SAMBA host: Success</errortype> od drukarki współdzielonej w systemie &Windows;, z którą łączę się poprzez Sambę?</para>
<para>Czy masz prawidłowe ustawienia na komputerze sieciowym z systemem &Windows;? Czy masz udostępnioną drukarkę współdzieloną w systemie &Windows;?</para>
<para>Moje pliki dla drukarki <systemitem class="resource">lp</systemitem> czasem tajemniczo znikają, a dwa dni później otrzymuję wiadomość, że zostały wydrukowane na drukarce 3 piętra poniżej mojego biura. O co chodzi?</para>
<para>Wierz mi, jest bardzo mało prawdopodobne, że Twoja drukarka jest jedyną o nazwie <systemitem class="resource">lp</systemitem>. Być może &CUPS; zabawia się z Tobą. Jeśli masz aktywne ustawienie <quote>ImplicitClasses On</quote>, &CUPS; próbuje upchnąć wszystkie drukarki, które widzi w sieci do <quote>klasy</quote> nazw lp. Wszystkie zadania przeznaczone dla lp są wysyłane do tej klasy i drukuje je pierwsze dostępne urządzenie.</para>
<para>Zastosuj się do rady: wybieraj niepowtarzalną nazwę dla każdej drukarki sieciowej! (Pamiętaj, że drukarka na Twoim porcie równoległym dla reszty świata jest również drukarką sieciową, jeśli nie zadbasz o odpowiednie ustawienia).</para>