docs.kde.org
Rozwiązywanie problemów dotyczących CUPS i KDEPrint
Poprzedni
Następny

Rozwiązywanie problemów dotyczących CUPS i KDEPrint

Ta część Podręcznika KDEPrint będzie odpowiedzią na problemy użytkowników. To tylko skromny początek.

Wiadomość o błędzie

1. Co znaczy client-error-bad-request?
2. A client-error-not-possible?
3. Co z client-error-not-found?
1.

Co znaczy client-error-bad-request?

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ś „pusty” plik.

2.

A client-error-not-possible?

Użytkownik albo nie ma prawa dostępu do określonej drukarki, albo wykorzystał już swój limit (oparty na rozmiarze pliku lub ilości stron)

3.

Co z client-error-not-found?

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.

Pytania i odpowiedzi

1. Dlaczego nie mogę zrestartować zadań?
2. Jak mogę pozbyć się długiej listy zakończonych zadań w interfejsie sieciowym?
3. Jak działa obliczanie stron?
4. Dlaczego obliczanie stron nie działa pod klientem Windows?
5. Jak mogę znaleźć listę dostępnych opcji dla danej drukarki, lub pliku PPD?
6. Jak mam czytać wykaz otrzymany przez komendę lpoptions?
7. Jak mogę otrzymać ładnie sformatowany wykaz dostępnych opcji dla danej drukarki, lub PPD?
1.

Dlaczego nie mogę zrestartować zadań?

Aby móc zrestartować „ukończone” zadania z interfejsu sieciowego, potrzebujesz odpowiednich ustawień w pliku /etc/cups/cupsd.conf: ustaw PreserveJobFiles True.

2.

Jak mogę pozbyć się długiej listy zakończonych zadań w interfejsie sieciowym?

Do zrobienia

3.

Jak działa obliczanie stron?

CUPS dokonuje „obliczania stron” dzięki przepuszczaniu każdego zadania przez filtr „pstops”. 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).

W każdym przypadku działa to dla drukarek sieciowych, równoległych, szeregowych i USB tak samo. Aby pstops działał, potrzebuje on DSC (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 /var/log/cups/page_log.

Przy okazji: na mojej osobistej „liście życzeń” jest przerobienie „Webalizera” tak, aby czytał i analizował page_log i dawał podobny wynik. Ktoś chętny?

Nie daje on jednak poprawnych wyników w następujących przypadkach:

  • Drukarka się zacina i być może dlatego odrzuca zadanie (przypadek z życia; albo może odrzuca zadanie z powodu problemu z formatem danych)

  • Zadania drukowane jako „raw” zawsze są liczone jako jedna strona (i być może wielokrotne kopie).

Dlatego obliczanie stron w CUPS jest „tylko” 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 SNMP (Simple Network Management Protocol). To znaczy, że w większej sieci z wieloma różnymi drukarkami nie ma żadnego narzędzia, które dokładnie i niezawodnie obliczałoby strony!

4.

Dlaczego obliczanie stron nie działa pod klientem Windows®?

Zadania z systemu Windows® prawie zawsze muszą być wysyłane jako „raw”. 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 „raw”. 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 „1”.

5.

Jak mogę znaleźć listę dostępnych opcji dla danej drukarki, lub pliku PPD?

Zobacz stronę dokumentacji systemowej dla komendy lpoptions. 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ę „wyszukiwania drukarki” systemu CUPS), będzie ona również pracowała jako sieciowa.

Aby zapytać o opcje drukarki, wpisanie lpoptions -p HitachiDDP70MicroPress -l 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 Transmeta i jego demon CUPS, podobnie jak demon CUPS na komputerze lokalnym, musi być uruchomiony, aby operacja zakończyła się sukcesem.

6.

Jak mam czytać wykaz otrzymany przez komendę lpoptions?

Wiesz, że „legalnym” 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 Ty zrobisz, jeśli chcesz użyć jakiejś mało znanej opcji drukarki w wierszu poleceń? Jak znajdziesz jej dokładną składnię?

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?.

lpoptions -h transmeta -p Hitachi_DDP70_ClusterPrintingSystem -l | grep uplex

To prowadzi do wyniku

TR-Duplex/Duplex: False *True

Zinterpretujmy to tak:

  • Nazwa badanej opcji to TR-Duplex;

  • Po ukośniku widzisz tłumaczenie opcji, jakie powinno być pokazane w GUI, lub w interfejsie sieciowym („Duplex”);

  • Opcja może przyjąć jedną z dwóch wartości False lub True;

  • Obecne ustawienie True jest rozpoznane przez zaznaczenie gwiazdką *.

Aby zmienić obecne ustawienie domyślne (duplex) i przejść do trybu drukowania jednostronnego (simplex), musisz użyć następującej komendy:

lpr -P Hitachi_DDP70_ClusterPrintingSystem -o TR-Duplex=False /path/to/your/printjob
7.

Jak mogę otrzymać ładnie sformatowany wykaz dostępnych opcji dla danej drukarki, lub PPD?

Użyj komendy lphelp, która może być zainstalowana lokalnie w systemie. Nie ma jeszcze strony dokumentacji systemowej dla lphelp.

lphelp infotecP450

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:

lphelp infotec7410color DANKA_fullcolor_D2000 HP_ColorLaserJet8550

Działa to również z plikami PPD files. Określ tylko ścieżkę do PPD:

lphelp /home/kurt/PPDs/HP-ColorLaserJet8550.ppd

Rozwiązywanie problemów

Żaden system nie jest idealny. Tutaj znajdziesz kilka pułapek, w które można wpaść.

1. Moja drukarka, nazywająca się 3-lp-duplex zachowuje się dziwnie. W czym problem?
2. Dlaczego otrzymuję wiadomość Unable to connect to SAMBA host: Success od drukarki współdzielonej w systemie Windows, z którą łączę się poprzez Sambę?
3. Moje pliki dla drukarki lp 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?
1.

Moja drukarka, nazywająca się „3-lp-duplex” zachowuje się dziwnie. W czym problem?

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 Best_of_Danka będzie tą samą drukarka co best_of_danka, lub BEST_OF_DANKA. (Takie są wymagania IPP, z którymi CUPS jest całkowicie zgodny).

2.

Dlaczego otrzymuję wiadomość Unable to connect to SAMBA host: Success od drukarki współdzielonej w systemie Windows®, z którą łączę się poprzez Sambę?

Czy masz prawidłowe ustawienia na komputerze sieciowym z systemem Windows®? Czy masz udostępnioną drukarkę współdzieloną w systemie Windows®?

3.

Moje pliki dla drukarki lp 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?

Wierz mi, jest bardzo mało prawdopodobne, że Twoja drukarka jest jedyną o nazwie lp. Być może CUPS zabawia się z Tobą. Jeśli masz aktywne ustawienie „ImplicitClasses On”, CUPS próbuje upchnąć wszystkie drukarki, które widzi w sieci do „klasy” nazw lp. Wszystkie zadania przeznaczone dla lp są wysyłane do tej klasy i drukuje je pierwsze dostępne urządzenie.

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).

Poprzedni
Następny
Spis treści


docs.kde.org