Jak już wielokrotnie na tym forum było podnoszone, CUPS 2.x nie jest zbyt udanym dzieckiem. Niestety dostał się do repozytorium stabilnego i nic nie wskazuje na to, by wersja ta miała zostać cofnięta do działającej 1.7. Niestety deweloperzy CUPS zdają się nie zauważać błędów, a opiekun CUPS w Archu bagatelizuje sprawę twierdząc, że "problem nie dotyczy zbyt wielu użytkowników" (nie wiem skąd ma takie statystyki, albowiem temat jest dość powszechnie poruszany wszędzie gdzie CUPS 2.x wszedł do repozytoriów). Faktem jest, że stara się dokładać patche w miarę jak te się ukazują - najczęściej ściągając je od deweloperów Fedory, albowiem jak się wydaje, obecnie to jedyna grupa programistów zainteresowana wniesieniem jakichś poprawek.
Przypominam, że zanim cokolwiek wykonamy winniśmy spróbować zainstalować jak najnowszą wersję cups i libcups (w staging oczekuje od wczoraj 2.0.2-4, ale nic nie wskazuje na to, by naprawiał opisany poniżej błąd). Ostatecznością jest cofnięcie cups i libcups do wersji 1.7 (zob.:
http://www.archlike.darmowefora.pl/index.php/topic,289.0.html).
Pośród różnych błędów, którymi obdarza nas CUPS 2.x jest i taki, który sprowadza się do braku możliwości dodania jakiejkolwiek drukarki co najmniej przez tzw. interfejs webowy CUPS. Jeśli próbujemy tego dokonać otrzymujemy błąd o treści:
"unable to get list of printer drivers". Zdarza się też, że błąd ten pojawia się po dłuższym czasie (kilka do kilkudziesięciu minut) bezczynności serwisu CUPS, kiedy to nic się nie dzieje, a interfejs wygląda tak, jakby bardzo długo zastanawiał się nad zaakceptowaniem naszego, prawidłowego loginu i hasła do niego.
Nie jest to powodowane brakiem uprawnień.
Jak dotychczas udało mi się znaleźć dwie próby rozwiązania tego problemu, z czego jedna dotyczy wyłącznie drukarek HP (choć w części sprowadza się do tego samego).
Wszystkie drukarki z wyjątkiem HPOkazuje się, że problem może leżeć w jakiejś "niezgodności" z paczkami foomatic, które należy odinstalować i przeinstalować gutenprint (zob.:
https://bugs.archlinux.org/task/43708#comment132730.
Najprościej tego dokonać wydając polecenie:
# pacman -Rcns foomatic-db
Odinstalowywaniu winny podlegać:
foomatic-db-engine 3:20150308-1 -0,68 MiB
foomatic-db-nonfree 3:20150308-1 -8,60 MiB
perl-clone 0.37-2 -0,06 MiB
perl-dbi 1.633-1 -1,89 MiB
perl-xml-libxml 2.0118-3 -0,80 MiB
perl-xml-namespacesupport 1.11-3 -0,03 MiB
perl-xml-sax 0.99-4 -0,15 MiB
perl-xml-sax-base 1.08-3 -0,16 MiB
foomatic-db 3:20150308-1 -48,70 MiB
Jeśli pacman będzie chciał odinstalować coś więcej, proszę dokładnie sprawdzić jakie to są paczki i do czego potrzebne.
Następnie instalujemy gutenprint:
# pacman -S gutenprint
Teraz pozostaje modlić się, że zadziała i że będziemy mogli dodać drukarkę przez interfejs webowy CUPS.
Drukarki HPDo obsługi drukarek HP najczęściej instalujemy hplip, którego zależnością jest foomatic-db-engine. Niestety może się zdarzyć, że próba dodania drukarki przez interfejs webowy CUPS pokaże nam informację:
Unable to get list of printer drivers". W takim przypadku możemy wybrać któreś z następujących rozwiązań (zob.:
https://wiki.archlinux.org/index.php/CUPS#HP_Printer):
- albo instaslujemy hplip, a następnie wyszukujemy w katalogu /usr/share/ppd/HP sterownik drukarki, jaką mamy; plik ten zachowujemy i odinstalowujemy hplip wraz z wszelkimi, niepotrzebnymi zależnościami; następnie instalujemy drukarkę korzystając z webowego interfejsu CUPS, wskazujemy na zachowany plik PPD i teraz instalujemy ponownie hplip - po restarcie komputera być może będzie działać,
- albo odinstalowujemy (nie instalujemy) hplip, foomatic-db i foomatic-db-engine wraz z niepotrzebnymi ich zależnościami, reinstalujemy hplip i restartujemy CUPS - teoretycznie teraz winniśmy mieć możliwość zainstalowania drukarki przez interfejs webowy, który winien automatycznie znaleźć prawidłowy sterownik - restart komputera nie jest wymagany.