Drukowanie w linuxie

Drukowanie w systemie linux to niestety jedna z tych bolesnych spraw, gdzie nie zawsze można uzyskać zadowalający rezultat. Już przedstawiam w czy problem i jakie możliwe rozwiązania są dostępne.

Producenci drukarek robią wszystko różnie i ciężko szukać tutaj standardów. W przypadku windowsa nie jest to problemem, bo ZAWSZE są dostarczone sterowniki w postaci płytki lub można je wyszukać na stronie lub są one wyszukiwane przez system. Tymczasem tylko niektórzy producenci mają w swoich zasobach sterowniki pod linuxa  i to zwykle w postaci paczek .deb (dystrybucje oparte na debianie) lub .rpm (dystrybucje red hat lub z nim związane oraz suse enterprise), więc nie wszystkie systemy mogą być obsługiwane (dla systemów opartych na Arch trzeba szukać sterowników w AUR lub starym AUR poprzez googla). Dodatkowo sterowniki linuxa są często dużo gorsze jakościowo od windowsowkich, nie zawierają tylu opcji i możliwości, bo są robione na odczep się… Jeśli nie ma lub jest problem ze sterownikami, to Linux musiał – jak zwykle – znaleźć sposób by się dostosować do różnorodnych standardów i sposobu pracy drukarek. Tym sposobem jest CUPS. Niestety jak zwykle w tego typu przypadkach (wine czy CUPS) działanie nie jest pewne i proste, więc jest duża szansa, że po prostu nie uruchomimy danej drukarki pod linuxem… Jeśli jednak używamy linuxa jako głównego systemu i planujemy zakup drukarki to trzeba wcześniej się zorientować czy będzie ona działać. Pomocna w tym może być strona:

http://www.openprinting.org/printers

Można też sprawdzać na stronie producenta, czy drukarka, którą chcemy kupić posiada sterowniki, które będą działały pod naszą wersją systemu linux lub wyszukać takie sterowniki w repozytoriach, AUR lub po prostu wygooglować je (tutaj wymagana jest już dość zaawansowana wiedza, żeby móc takie sterowniki zainstalować w systemie). Jeśli nie ma pełnych sterowników to najważniejsze czego powinniśmy szukać to sterowniki/paczki/pliki do CUPS. Jeśli takowe występują to taką drukarkę będzie się dało uruchomić. Jeśli nie to szansa jest znikoma.

UWAGA: W windowsie sterowniki instalują się automatycznie w momencie podłączania/dodawania drukarki do systemu. Jeśli CUPS nie posiada sterownika do waszego sprzętu to musicie go wpierw wyszukać na stronie producenta lub w AUR, zainstalować w systemie i dopiero wtedy rozpocząć procedurę dodawania drukarki. Dopiero wtedy nasz sterownik będzie widoczny w menu do wyboru CUPS.

Wiele dystrybucji ma zainstalowane CUPS, jeśli nie to musicie poszukać jak można je zainstalować w waszym systemie a następnie aktywować i uruchomić. Tutaj nie będziemy tego opisywali.

Z CUPS można skorzystać na 2 sposoby:

  1.  Przeglądarka internetowa:

Adres można znaleźć poprzez uruchomienie menu startowego i wystukanie na klawiaturze np: „drukowanie” lub po prostu „cups” (bez cudzysłowu), wtedy powinna wyszukać się ikona drukowania i z możliwym opisem „Interfejs www CUPS”. Jeśli system nie ma wyszukiwania w menu (np. przy lxde lub lxqt) to możecie spróbować alt+f2 do otwarcia okienka wyszukiwania, ale nie w każdym środowisku dobrze to działa. Jeśli to nie to musicie ręcznie wyszukać w menu (zazwyczaj opartym o kategorię). Kliknięcie na daną ikonę otworzy przeglądarkę i stronę z adresem:

http://localhost:631/

Jeśli żadna z powyższych metod nie działa dla was, po prostu otwórzcie przeglądarkę i użyjcie adresu powyżej. Jeśli to nie otwiera jednak interfejsu CUPS to musicie poszukać informacji jak się instaluje lub aktywuje CUPS w waszym systemie.

CUPS umożliwia dodanie drukarki i zainstalowanie jej sterowników w systemie przy czym drukarka może być podłączona bezpośrednio poprzez USB, pośrednio przez sieć wewnętrzną wifi lub z internetu. Możliwe jest używanie wielu różnych drukarek i ich udostępnianie innym komputerom.

Tak wygląda interfejs CUPS w przeglądarce:

CUPS - widok z przeglądarki

CUPS

Oprócz możliwości dodawania drukarek i zarządzaniu zadaniami drukowania jest sporo informacji technicznych, coś w rodzaju wikipedii, tylko dostępnej z systemu.

Przyznam, że interfejs przeglądarkowy jest trochę dziwny, nie do końca intuicyjny i nie każdemu przypadnie do gustu. Na szczęście jest też bardziej tradycyjna i  bogatsza w funkcje opcja druga.

2. Interfejs graficzny (GUI) – może trochę się różnic w zależności od używanego środowiska i systemu.

Większość dystrybucji ma na szczęście zainstalowane GUI w postaci pakietu system-config-printer (nie jestem pewien czy każdy system z niego korzysta, możliwe, że są inne konkurencyjne pakiety), a jeśli go nie ma to warto poszukać i zainstalować.

Dostęp do niego jak zwykle można uzyskać przeszukując menu start lub uruchamiając wyszukiwanie z pulpitu alt+f2 (to nie zawsze działa dobrze, zależy od środowiska graficznego, na gnomie jest nędza, na kde/plasma już wyszuka). Ja zwykle wpisuje drukowanie i wtedy widać ikonę nazwaną „ustawienia drukowania”.

Główne okno jest proste:

ustawienia drukowania

ustawienia drukowania

Można połączyć się z serwerem drukowania (CUPS) i wtedy pojawi się możliwość dodania drukarki (przycisk plus).

dodawanie drukarki

dodawanie drukarki

W przypadku podłączenia przez kabel USB nasza drukarka powinna być widoczna na liście, wtedy  ją wybieramy i można zainstalować automatycznie lub manualnie. W drugim wypadku pojawia się lista wyboru marek i musimy wybrać odpowiedni sterownik z listy. Jeśli jednak chcemy podłączyć drukarkę zdalną musimy rozwinąć listę „Network Printer”, wtedy zobaczymy szereg możliwości:

  • znajdź drukarkę sieciową
  • IPP
  • AppSocket
  • Drukarka Windows przez Sambę
  • IPPS
  • HTTPS (drukarka poprzez Internet)
  • LPD/LPR

Jeśli drukarka jest podłączona do komputera z Windowsem i chcemy po sieci wifi też mieć do niej dostęp na linuxie to warto skorzystać z wbudowanej samby na windowsie, bo takie połączenie jest relatywnie łatwo skonfigurować i działa poprawnie. Sam kiedyś podłączałem drukarkę bezpośrednio po IP, ale nie do końca działało to dobrze, bo… nie mogłem drukować PDFów…

Większość dystrybucji będzie posiadała sambę, jeśli nie to trzeba odszukać pakiet i zainstalować.

Przedstawię na moim przykładzie co było potrzebne do zainstalowania drukarki sieciowej na systemie Manjaro.

Moja drukarka to dość stary model: Brother DCP 145C.

  1. SEROWNIK. CUPS nie ma sterownika do niej więc musiałem go znaleźć i zainstalować. Brother oferuje sterowniki do linuxa na swojej stronie, jednak są one tylko w formacie rpm i deb, więc nie da się z nich bezpośrednio skorzystać na systemach opartych o Arch takich jak Manjaro. Co więcej, nie znalazłem sterowników w AUR z poziomu systemu. Okazało się, że takie sterowniki były, ale AUR został kiedyś przeniesiony i akurat pakiet sterownika do mojej drukarki tam nie trafił. Jednak AUR można przeszukiwać też przez googla i dotyczy to też starego AUR. Wystarczyło wpisać „AUR brother DCP 145C driver”. Co prawda to czego szukałem nie było na liście pierwszych paru wyników, ale w końcu mogłem znaleźć stronę, w której mogłem znaleźć parę podstawowych plików AUR (przepis na kompilację sterownika: pliki PKGBUILD i install), które mogłem ściągnąć i użyć komendy „makepkg -sri”, żeby system zainstalował sterownik.
  2. KONFIGURACJA SAMBY. Samba jest w manjaro już zainstalowana. Niestety w systemach opartych o Arch nie ma gotowego pliku konfiguracyjnego samby, jest tylko plik konfiguracyjny domyślny, w praktyce wygląda to tak: jest plik smb.config.default i trzeba go skopiować do smb.config.
  3. DODANIE I INSTALACJA DRUKARKI W SYSTEMIE. Użyłem GUI, połączyłem się z serwerem CUPS, kliknąłem na plus i wybrałem z listy „drukarka sieciowa” oraz „Drukarka Windows przez Sambę”. Niestety tu natrafiłem na problem. Miałem wpisać ścieżkę a nie wiedziałem jaką, a przycisk „wyszukaj” był na szaro, nieaktywny. Na szczęście po najechaniu na niego kursorem pojawiła się podpowiedź: Przeglądanie nie jest dostępne (pakiet pysmbc nie jest zainstalowany). Więc wyszukałem w repozytorium manjaro pakiet pysmbc i zainstalowałem. Od tego momentu przycisk „wyszukaj” stał się aktywny. Otworzyło się okno, w której zobaczyłem grupę roboczą windowsa i mogłem ją wybrać, wtedy ścieżka sama się dodała a ja musiałem podać użytkownika i hasło. Tutaj trochę trwało, żeby się domyślić, że samba żąda UŻYTKOWNIKA WINDOWSA i w moim wypadku nazwa była dwuczłonowa i ważna była wielkość liter, więc jeśli podaliście w systemie swoje imię i nazwsko i to się wyświetla w windowsie przy logowaniu to musicie właśnie wpisać dokładnie: Imię Nazwisko (jeśli podaliście je od dużych liter i ze spacją) i hasło do logowania się windowsa. Dopiero po tym pojawiła się lista wyboru marek sprzętu, po wybraniu Brother pojawił się mój zainstalowany sterownik i cała reszta poszła już gładko.

Jak widać dodanie drukowania na linuxie może wymagać cierpliwości, czasu i kombinowania, jednak bywają takie sytuacje, że nie możemy nic zrobić, bo bez sterowników sprzęt po prostu nie zadziała. Można wtedy w ostateczności spróbować użyć domyślnych, ogólnych sterowników. Miałem kiedyś taką sytuację (zbyt stara drukarka i nie ma dla niej sterowników, nawet pod nowsze windowsy a co dopiero pod linuxy) i te sterowniki zadziałały… jednak opcje drukowania były bardzo ograniczone a wydruki były czarno-białe i to było najlepsze co mogłem uzyskać.

Drukowanie w linuxie może przyprawić o ból głowy i nie jest to zagadnienie dla mało wytrwałych. Podsumuję co jest do niego potrzebne:

  • CUPS (zwykle jest, jeśli nie to trzeba zainstalować, aktywować i uruchomić)
  • pakiet system-config-printer dla lepszego i łatwiejszego GUI, możliwe że w niektórych dystrybucjach mają inne odmiany/pakiety, trzeba wtedy przeszukać dokumentację/wiki tej dystrybucji, jednak w większości wypadków jest to już w systemie
  • sterownik do drukarki – CUPS posiada sterowniki dla wielu popularnych drukarek, jednak ciągle jest bardzo duża szansa, że twojego modelu tam nie będzie, wtedy trzeba niestety takie sterowniki wyszukać ręcznie i nauczyć się je zainstalować, jeśli ich nie ma to już ciężka sprawa
  • w przypadku instalacji drukarki sieciowej wymagane są dodatkowe dane i wiedza, dla podłączenia drukarki podłączonej do komputera z windowsem najłatwiej użyć samby, którą posiada windows a wiele dystrybucji linuxa też ma ją zainstalowaną (jak nie to wyszukać, zainstalować, skonfigurować), do wyszukiwania urządzeń w sieci wifi potrzebny jest pakiet python-pysmbc (zwykle nie jest zainstalowany, więc trzeba dodać), wtedy opcja przeszukiwania sieci jest aktywna i działa, bez niej trzeba wiedzieć jak podać poprawną ścieżkę smb ręcznie

Ten artykuł tylko liznął to zagadnienie, bo każda możliwa konfiguracja i rodzaje połączeń to dziesiątki jeśli nie setki stron tekstu i sam tego bym nie przetrawił. Jeśli w moim poradniku nie znaleźliście rozwiązania swojej sytuacji, musicie niestety szukać dalej. Powodzenia.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *