Wstęp
CUPS jest nowoczesnym i
uniwersalnym systemem druku dla systemów uniksowych.
Może być stosowany zarówno do drukowania lokalnego jak i
do drukowania w sieci - obsługuje domyślnie protokół IPP.
Po poprawnym skonfigurowaniu urządzenia będziemy
mogli drukować z niemal każdego programu,
CUPS akceptuje wywołania poleceń drukowania w stylu
klasycznego systemu LPD.
System CUPS może być zarówno serwerem jak i klientem,
o tym jaką funkcję będzie pełnić zainstalowane
"urządzenie" decyduje wybór specjalnego sterownika
interfejsu: backendu(poza IPP) i
konfiguracji.
Instalacja
Podstawowa część CUPS:
$ poldek -i cups cups-clients |
Następnie instalujemy jeden lub więcej kontrolerów
interfejsów drukarki (protokół IPP nie wymaga backendu):
cups-backend-parallel - port równoległy (parallel port)
cups-backend-serial - port szeregowy RS-232 (serial port)
cups-backend-usb - port szeregowy USB (usb printer)
cups-backend-smb - drukowanie zdalne w sieci SMB
W przypadku drukarek nie obsługujących PostScriptu
konieczne będą dodatkowe pakiety:
$ poldek -i cups-filter-pstoraster ghostscript-esp |
Do zdalnej administracji (za pomocą HTTPS), konieczny będzie program
openssl:
$ poldek -i openssl-tools |
Czas uruchomić demona:
$ /etc/rc.d/init.d/cups start |
Zarządzanie drukarkami
Operacje takie jak dodawanie, czy konfigurowanie
drukarek mogą być dokonywane na kilka sposobów:
-
HTTP
Popularnym sposobem jest konfiguracja przy pomocy
przeglądarki internetowej, CUPS
posiada wbudowany niewielki serwer
WWW, z którym łączymy się dowolną
przeglądarką na adres serwera i port 631 np.:
Z poziomu tej strony mamy dostęp do wielu opcji
administracyjnych: konfiguracji drukarek, zarządzania
klasami, zadaniami druku i innymi. Ten sposób
zarządzania systemem CUPS
w niniejszej publikacji jest traktowany jako domyślny.
-
lpadmin
lpadmin jest programem
administracyjnym dostarczanym z CUPS-em, obsługiwany
jest całkowicie z linii wiersza poleceń. Jest to
narzędzie zaawansowane, przez co stosunkowo trudne w
obsłudze, jego dokładny opis zawarto w
dokumentacji.
-
Inne
Dla CUPS powstały wygodne programy zarządzające
przeznaczone działające w środowiskach GNOME
i KDE. Szczególnie pozytywnie przedstawia się
system-config-printer -
wygodna aplikacja, której
układ opcji przypomina konfigurację przez WWW.
Dodanie drukarki
W tym rozdziale przedstawiono ogólny opis
instalacji urządzenia, szczegółowe informacje
umieszczono w rozdziałach:
Szczegóły dodawania drukarki lokalnej i
Szczegóły dodawania drukarki zdalnej.
Możemy użyć programu
system-config-printer
lub narzędzia dostępnego przez stronę WWW:
następnie przechodzimy do opcji
Managle Printers ->
Add Printer.
Określamy nazwę drukarki oraz opcjonalnie
komentarz i lokalizację, następnie wybieramy
jeden z dostępnych na liście kontrolerów
interfejsów drukarki (backend).
Na koniec wybieramy producenta i model drukarki.
System CUPS jest
dostarczany z niewielką ilością sterowników
drukarek, jednak nie należy się jednak martwić
jeśli na liście nie odnajdziemy szukanego
urządzenia.
Coraz więcej producentów dostarcza ze sprzętem
pliki PPD (w CUPS są używane również dla
drukarek niepostcriptowych), możemy także
skorzystać z bazy Foomatic zawierającej ogromną
liczbę sterowników.
Sterowniki Foomatic możemy
zainstalować w postaci zbiorczego pakietu
sterowników danego producenta. Przykładowo jeśli
chcemy zainstalować sterowniki drukarek firmy
Samsung to instalujemy pakiet
cups-foomatic-db-Samsung.
Możemy również pobrać pojedyncze pliki PPD z
z witryny
http://www.linuxprinting.org,
po wyszukaniu modelu drukarki (Driver Listings) należy
kliknąć link download PPD w celu pobrania sterownika.
Plik wskazujemy przy dodawaniu drukarki lub
kopiujemy go do katalogu
/usr/share/cups/model i
uruchamiamy na nowo demona cupsd:
# /etc/rc.d/init.d/cups restart |
Po tej operacji przeprowadzamy
normalną instalację drukarki.
Możemy ich wiele zainstalować, to do której będą
trafiać dokumenty zależy od tego, którą z nich ustawimy
jako domyślną.
Szczegóły dodawania drukarki lokalnej
Dodanie drukarki lokalnej dotyczy drukarek podłączonych
bezpośrednio podłączonych do komputera, na którym
zainstalowany jest CUPS, w tym wypadku interesują nas
interfejsy:
Parallel, Serial i
USB.
Zanim zaczniemy proces konfiguracji, musimy sie upewnić,
że są załadowane odpowiednie moduły jądra (w przeciwnym
wypadku dany backend może być nieaktywny).
Drukarka podłączona do portu równoległego
będzie wymagała modułów lp, parport i
parport_pc.
Moduł lp dopisujemy do pliku /etc/modules,
jeśli nie używamy udeva to pozostałe moduły także.
Drukarki podłączane pod port LPT są dostępne za pomocą urządzeń /dev/lp*.
W przypadku drukarek USB konieczny będzie moduł usblp oraz
rzecz jasna moduł kontrolera USB,
urządzenia te będą dostępne za pomocą /dev/usb/lp*.
Więcej o modułach jądra i ich zarządzaniu odnajdziemy w
tym dokumencie.
CUPS od wersji 1.3 wymaga zdefiniowania opcji Group
w pliku /etc/cups/cupsd.conf, która wskazuje jaki użytkownik
ma być używany dla uruchamiania zewnętrznych programów - w tym backendów.
Jako że urządzenia w katalogu /dev mają grupę ustawioną na
lp, taką też podamy jako wartość parametru:
Dalszą instalację przeprowadzamy zgodnie z zaprezentowanym wcześniej opisem
Dodanie drukarki.
Szczegóły dodawania drukarki zdalnej
-
IPP
Aby CUPS było klientem IPP musimy dodać
drukarkę z backendem IPP
oraz podać prawidłowy URI
zasobu, jako producenta wybieramy
Raw, zaś jako model
Raw Queue.
URI powinno mieć następującą postać:
ipp://{$serwer}/printers/{$drukarka}
($serwer to nazwa lub IP serwera druku, zaś
$drukarka to nazwa drukarki). Adres taki może
wyglądać następująco:
ipp://10.0.0.3/printers/laserowa |
-
SMB
Jedyne co musimy zrobić to dodać drukarkę z użyciem
odpowiedniego backendu -
Windows Printer via SAMBA i
podać prawidłowy URI,
na koniec musimy wskazać sterownik danej drukarki.
W przypadku systemów MS z serii 95/98/Me URI
powinno mieć następującą postać:
smb://{$serwer}/{$drukarka}
($serwer to nazwa lub IP serwera druku, zaś
$drukarka to nazwa drukarki). Adres taki może
wyglądać następująco:
W przypadku systemów z serii NT (NT4, 2000, XP
Professional) może być konieczne podanie konta
użytkownika i hasła:
smb://{$użytkownik}:{$hasło}@{$serwer}/{$drukarka}
np.:
smb://jasio:mojehasło@wodzu/laserowa |
Konfiguracja serwera
Aby udostępnić w sieci zainstalowaną drukarkę, musimy
odpowiednio skonfigurować demona
cupsd, jego
konfiguracja jest przechowywana w pliku
/etc/cups/cupsd.conf.
Domyślnie CUPS pozwala jedynie na drukowanie
lokalne, aby uzyskać dostęp z sieci musimy
dokonać zmian w pliku konfiguracji.
Należy odszukać sekcję oznaczoną znacznikami
<Location /></Location>.
Dostęp z innych maszyn konfigurujemy za pomocą
opcji Allow From {$klient}
($klient to nazwa lub adres IP lub klasa adresów, którym
udostępniamy drukarkę). Poniższy przykład przedstawia
udostępnienie drukarek dla lokalnego interfejsu i
maszyny o adresie 10.0.0.12.
<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 10.0.0.12
</Location> |
Jeśli chcemy mieć możliwość zdalnej administracji za pośrednictwem HTTP/HTTPS
powinniśmy dodatkowo ustawić dostęp (zgodnie z powyższymi wskazówkami)
dla sekcji: /admin, /admin/conf.
-
IPP
Protokół IPP jest używany domyślnie przez CUPS
i nie wymaga żadnych dodatkowych przygotowań.
-
SMB
W systemie musi być zainstalowany i działający pakiet
Samba. Aby systemy Microsoftu mogły "widzieć" drukarki
CUPS należy dokonać
modyfikacji w głównym pliku konfiguracji Samby -
/etc/samba/smb.conf.
Należy usunąć z niego
wszystkie opcje dotyczące druku z sekcji [global],
zaś w ich miejsce wstawić poniższe linijki:
printing = cups
printcap name = cups |
Na koniec należy przygotować sekcję drukarek.
Prosty przykład pliku konfiguracji pakietu Samba
może wyglądać następująco:
[global]
netbios name = shilka
workgroup = pod_cisami
security = share
printing = cups
printcap name = cups
[printers]
comment = Drukarki
printable = yes
path = /var/spool/samba |
Jako, że Windows pre-formatuje dokumenty zanim wyśle je
przez sieć do drukarki, musimy nauczyć CUPS'a odpowiednio
takie pre-formatowane dokumenty obsługiwać. W tym celu
musimy wyedytować plik /etc/cups/mime.convs i odkomentować
w nim linijkę
application/octet-stream application/vnd.cups-raw 0 -
|
w pliku /etc/cups/mime.types zaś, należy odkomentować linijkę
Po tych operacjach wymagany jest oczywiście restart usługi CUPS.
# /etc/rc.d/init.d/cups restart |
Przy tak skonfigurowanym serwerze drukarkę w MS Windows dodajemy standardowo,
musimy jedynie samemu dostarczyć odpowiedni sterownik.
Istnieje możliwość umieszczenia
takiego sterownika na serwerze
Samba, wymaga
to jednak dodatkowych operacji konfiguracyjnych.
Więcej na ten temat odnajdziemy w
dokumentacji Samby.
Zarządzanie kolejką druku
Zarządzanie wydrukami jest możliwe z
poziomu przeglądarki internetowej, programów dla X-Window
oraz z poziomu linii wiersza poleceń. Z pośród tych
ostatnich mamy do dyspozycji:
lpstat, lpmove,
cancel, lpq oraz
lprm. Programy te znajdują się w pakiecie
cups-clients.
Test drukarki i rozwiązywanie problemów
Drukarka powinna działać od razu po zainstalowaniu,
można to przetestować z poziomu panelu konfiguracji
drukarki drukując stronę testową.
W razie problemów pierwszą rzeczą jaką należy zrobić
to przejrzeć plik rejestrowania błędów (log):
/var/log/cups/error_log.
Jeśli ciągle nie możemy odnaleźć źródła problemu
możemy spróbować włączyć wysoki poziom raportowania
błędów. Dokonujemy to przez edycję w pliku
/etc/cups/cupsd.conf i
przestawienie ustawienia opcji
"LogLevel" z "info
" na "debug" lub "
debug2" np.:
Kiedy rozwiążemy problem należy przywrócić poprzedni
poziom raportowania ze względu na szybki przyrost
objętości logów. Po każdej modyfikacji pliku
konfiguracji należy przeładować demona:
# /etc/rc.d/init.d/cups restart |
|