Difference between revisions of "CUPS (Česky)"

From ArchWiki
Jump to: navigation, search
(update Pkg/AUR templates to reflect new package status)
(simplification and beautification of wikilinks, fixing whitespace, capitalization and section fragments (https://github.com/lahwaacz/wiki-scripts/blob/master/link-checker.py (interactive)))
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Category:Printers (Česky)]]
 
[[Category:Printers (Česky)]]
 +
[[de:CUPS]]
 
[[en:CUPS]]
 
[[en:CUPS]]
 
[[es:CUPS]]
 
[[es:CUPS]]
 +
[[fr:CUPS]]
 
[[it:CUPS]]
 
[[it:CUPS]]
 +
[[ja:CUPS]]
 
[[pl:CUPS]]
 
[[pl:CUPS]]
 
[[ru:CUPS]]
 
[[ru:CUPS]]
Line 10: Line 13:
 
[[zh-TW:CUPS]]
 
[[zh-TW:CUPS]]
 
{{Translateme}}
 
{{Translateme}}
{{Article summary start|Summary}}
+
{{Related articles start (Česky)}}
{{Article summary text|Instalace a konfigurace daemona CUPS}}
+
{{Related|CUPS printer sharing}}
{{Article summary heading|Související}}
+
{{Related|CUPS printer-specific problems}}
{{Article summary wiki|CUPS printer sharing (Česky) | Sdílení tiskáren s CUPS}}
+
{{Related|Samba (Česky)}}
{{Article summary wiki|CUPS printer-specific problems (Česky) | CUPS - problémy s tiskárnami}}
+
{{Related articles end}}
{{Article summary wiki|Samba (Česky)}}
+
 
{{Article summary end}}
+
:"''{{Pkg|cups}} je open source program, který slouží ke správě tisku. Vyvíjí ho společnost Apple Inc. pro Mac OS® X další [[Wikipedia:cs:UN*X|UNIX-like]] operační systémy.''".
:"''{{Pkg|cups}} je open source program, který slouží ke správě tisku. Vyvíjí ho společnost Apple Inc. pro Mac OS® X další [[Wikipedia:cs:UN*X | UNIX-like]] operační systémy.''".
+
  
 
Ačkoliv jsou zde jiné programy pro správu tisku a tiskáren jako například balíčky LPRNG, <b>C</b>ommon <b>U</b>nix <b>P</b>rinting <b>S</b>ystem je ze všech nejpoužívanější, protože je relativně jednoduchý na ovládání.
 
Ačkoliv jsou zde jiné programy pro správu tisku a tiskáren jako například balíčky LPRNG, <b>C</b>ommon <b>U</b>nix <b>P</b>rinting <b>S</b>ystem je ze všech nejpoužívanější, protože je relativně jednoduchý na ovládání.
Line 36: Line 38:
 
Zde jsou balíčky s ovladačemi pro tiskárny od různých výrobců:
 
Zde jsou balíčky s ovladačemi pro tiskárny od různých výrobců:
  
* '''gutenprint''' - Kolekce velmi kvalitních ovladačů pro tiskárny od výrobců Canon, Epson, Lexmark, Sony, Olympus. A dále pro použití GhostScriptu, CUPSu a [[GIMP (Česky)| GIMPu]]
+
* '''gutenprint''' - Kolekce velmi kvalitních ovladačů pro tiskárny od výrobců Canon, Epson, Lexmark, Sony, Olympus. A dále pro použití GhostScriptu, CUPSu a [[GIMP (Česky)|GIMPu]]
 
* '''foomatic-db, foomatic-db-engine, foomatic-db-nonfree a foomatic-filters''' - Foomatic. Instalace  foomatic-filters by měla vyřešit problémy, jestliže cups error_log ohlašuje "stopped with status 22!".
 
* '''foomatic-db, foomatic-db-engine, foomatic-db-nonfree a foomatic-filters''' - Foomatic. Instalace  foomatic-filters by měla vyřešit problémy, jestliže cups error_log ohlašuje "stopped with status 22!".
 
* '''hplip''' - HP GNU/Linux driver. Poskytuje podporu pro DeskJet, OfficeJet, Photosmart, Business Inkjet a nějaké modely tiskáren LaserJet. Dále poskytuje podporu i pro nějaké další tiskárny.
 
* '''hplip''' - HP GNU/Linux driver. Poskytuje podporu pro DeskJet, OfficeJet, Photosmart, Business Inkjet a nějaké modely tiskáren LaserJet. Dále poskytuje podporu i pro nějaké další tiskárny.
 
* '''splix''' - Ovladače Samsung pro SPL (Samsung Printer Language) tiskárny
 
* '''splix''' - Ovladače Samsung pro SPL (Samsung Printer Language) tiskárny
* '''ufr2''' - Ovladač Canon UFR2 s podporou pro LBP, iR a MF sérií tiskáren. Balíček je možné získat z [[AUR (Česky) | AURu]].
+
* '''ufr2''' - Ovladač Canon UFR2 s podporou pro LBP, iR a MF sérií tiskáren. Balíček je možné získat z [[AUR (Česky)|AURu]].
 
* '''cups-pdf''' - Balíček, který umožňuje použití tzv. virtuální PDF tiskárny, která generuje jako svůj výstup PDF soubory.
 
* '''cups-pdf''' - Balíček, který umožňuje použití tzv. virtuální PDF tiskárny, která generuje jako svůj výstup PDF soubory.
  
Line 52: Line 54:
  
 
Pokud soubor PPD pro vaši tiskárnu ''není'' systémem CUPS nalezen, potom:
 
Pokud soubor PPD pro vaši tiskárnu ''není'' systémem CUPS nalezen, potom:
*mrkněte do [[AUR (Česky) | AURu]], jestli zde nejsou balíčky se jménem vaší tiskárny nebo vašeho výrobce
+
*mrkněte do [[AUR (Česky)|AURu]], jestli zde nejsou balíčky se jménem vaší tiskárny nebo vašeho výrobce
 
*navštivte stránku [http://www.linuxprinting.org/printer_list.cgi OpenPrinting databáze] a vyberte zde výrobce a model tiskárny
 
*navštivte stránku [http://www.linuxprinting.org/printer_list.cgi OpenPrinting databáze] a vyberte zde výrobce a model tiskárny
 
*navštivte stránku výrobce a hledejte ovladače pro operační systém [[Wikipedia:cs:GNU/Linux|GNU/Linux]]
 
*navštivte stránku výrobce a hledejte ovladače pro operační systém [[Wikipedia:cs:GNU/Linux|GNU/Linux]]
Line 61: Line 63:
 
CUPS jsme nainstalovali. Teď už zbývá jen vše nastavit. Samozřejmě máme k dispozici nastavení pomocí příkazového řádku. Stejnětak, různá desktopová prostředí jako třeba GNOME nebo KDE, mají různé programy pro správu tiskáren. Nicméně, aby byla konfigurace srozumitelná většině uživatelů, bude se tento návod věnovat nastavení přes webové rozhraní, které nám server CUPS poskytuje.
 
CUPS jsme nainstalovali. Teď už zbývá jen vše nastavit. Samozřejmě máme k dispozici nastavení pomocí příkazového řádku. Stejnětak, různá desktopová prostředí jako třeba GNOME nebo KDE, mají různé programy pro správu tiskáren. Nicméně, aby byla konfigurace srozumitelná většině uživatelů, bude se tento návod věnovat nastavení přes webové rozhraní, které nám server CUPS poskytuje.
  
Pokud plánujete připojení k síťové tiskárně, místo přímého připojení k počítači, budete si nejspíš chtít nejdříve přečíst stránku [[CUPS printer sharing (Česky) | Sdílení tiskáren]]. Sdílení tiskáren mezi systémy GNU/Linux je poměrně jednoduché a vyžaduje velmi málo konfigurace. Narozdíl od sdílení mezi Windows a GNU/Linuxem, které už vyžaduje trochu více úsilí.
+
Pokud plánujete připojení k síťové tiskárně, místo přímého připojení k počítači, budete si nejspíš chtít nejdříve přečíst stránku [[CUPS printer sharing (Česky)|Sdílení tiskáren]]. Sdílení tiskáren mezi systémy GNU/Linux je poměrně jednoduché a vyžaduje velmi málo konfigurace. Narozdíl od sdílení mezi Windows a GNU/Linuxem, které už vyžaduje trochu více úsilí.
  
 
===Jaderné moduly===
 
===Jaderné moduly===
Line 386: Line 388:
 
Uživatelé, kteří používají prostředí [[KDE (Česky)]] mohou tiskárny spravovat z tzv. Control Centra. Pokud potřebujete více informací o tom, jak spravovat tiskárny v těchto prostředích, koukněte do dokumentace.
 
Uživatelé, kteří používají prostředí [[KDE (Česky)]] mohou tiskárny spravovat z tzv. Control Centra. Pokud potřebujete více informací o tom, jak spravovat tiskárny v těchto prostředích, koukněte do dokumentace.
  
Zde je také v [[AUR (Česky) |AURu]] [https://aur.archlinux.org/packages.php?ID=43505 gtklp].
+
Zde je také v [[AUR (Česky)|AURu]] [https://aur.archlinux.org/packages.php?ID=43505 gtklp].
  
 
===PDF virtuální tiskárna===
 
===PDF virtuální tiskárna===

Latest revision as of 14:02, 2 April 2016

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:CUPS (Česky)#)
"cups je open source program, který slouží ke správě tisku. Vyvíjí ho společnost Apple Inc. pro Mac OS® X další UNIX-like operační systémy.".

Ačkoliv jsou zde jiné programy pro správu tisku a tiskáren jako například balíčky LPRNG, Common Unix Printing System je ze všech nejpoužívanější, protože je relativně jednoduchý na ovládání.

Instalace

Je potřeba nainstalovat tyto balíčky:

# pacman -S cups ghostscript gsfonts
  • cups - CUPS software
  • ghostscript - Interpret pro jazyk Postscript
  • gsfonts - Standardní GhostScript fonty
  • hpoj - Pokud používáte HP Officejet, měli byste nainstalovat i tento balíček a postupovat podle instrukcí, abyste předešli zbytečným problémům. Přečtěte si pro více informací toto vlálno na launchpadu/hplip.

Pokud má systém využívat nějakou síťovou tiskárnu přes protokol Samba nebo pokud má být systém print serverem pro klienty s operačním systémem Windows, nainstalujte také Sambu:

# pacman -S samba

Ovladač tiskárny

Zde jsou balíčky s ovladačemi pro tiskárny od různých výrobců:

  • gutenprint - Kolekce velmi kvalitních ovladačů pro tiskárny od výrobců Canon, Epson, Lexmark, Sony, Olympus. A dále pro použití GhostScriptu, CUPSu a GIMPu
  • foomatic-db, foomatic-db-engine, foomatic-db-nonfree a foomatic-filters - Foomatic. Instalace foomatic-filters by měla vyřešit problémy, jestliže cups error_log ohlašuje "stopped with status 22!".
  • hplip - HP GNU/Linux driver. Poskytuje podporu pro DeskJet, OfficeJet, Photosmart, Business Inkjet a nějaké modely tiskáren LaserJet. Dále poskytuje podporu i pro nějaké další tiskárny.
  • splix - Ovladače Samsung pro SPL (Samsung Printer Language) tiskárny
  • ufr2 - Ovladač Canon UFR2 s podporou pro LBP, iR a MF sérií tiskáren. Balíček je možné získat z AURu.
  • cups-pdf - Balíček, který umožňuje použití tzv. virtuální PDF tiskárny, která generuje jako svůj výstup PDF soubory.

Jestliže si nejste jistí, který ovladač nainstalovat nebo vám aktuální ovladač nefunguje, může být pro vás jednodušší nainstalovat všechny z výše uvedených ovladačů.

Stažení souboru PPD

V závislosti na tiskárně, je tento krok volitelný a nemusí být vůbec potřeba, protože standardní instalace serveru CUPS už nějaké základní soubory PPD (Postscript Printer Description) obsahuje. Mimo to, balíčky foomatic-filters, gimp-print a hplip už obsahují základní soubory PPD, které CUPS detekuje automaticky.

Zde je vysvětlení toho, co to PPD soubor vlastně je z webu Linux Printing:

"Pro každou PostSkriptovou tiskárnu poskytuje její výrobce tzv. PPD soubor, který obsahuje všechny základní informace a daném modelu tiskárny. Například jestli tiskárna tiskne barevně nebo pouze černobíle, podporované fonty a hlavně uživatelská nastavení jako třeba velikost papíru, rozlišení apod.

Pokud soubor PPD pro vaši tiskárnu není systémem CUPS nalezen, potom:

  • mrkněte do AURu, jestli zde nejsou balíčky se jménem vaší tiskárny nebo vašeho výrobce
  • navštivte stránku OpenPrinting databáze a vyberte zde výrobce a model tiskárny
  • navštivte stránku výrobce a hledejte ovladače pro operační systém GNU/Linux
Note: PPD soubory se nacházejí v adresáři /usr/share/cups/model/

Konfigurace

CUPS jsme nainstalovali. Teď už zbývá jen vše nastavit. Samozřejmě máme k dispozici nastavení pomocí příkazového řádku. Stejnětak, různá desktopová prostředí jako třeba GNOME nebo KDE, mají různé programy pro správu tiskáren. Nicméně, aby byla konfigurace srozumitelná většině uživatelů, bude se tento návod věnovat nastavení přes webové rozhraní, které nám server CUPS poskytuje.

Pokud plánujete připojení k síťové tiskárně, místo přímého připojení k počítači, budete si nejspíš chtít nejdříve přečíst stránku Sdílení tiskáren. Sdílení tiskáren mezi systémy GNU/Linux je poměrně jednoduché a vyžaduje velmi málo konfigurace. Narozdíl od sdílení mezi Windows a GNU/Linuxem, které už vyžaduje trochu více úsilí.

Jaderné moduly

Před použitím webového rozhraní programu CUPS, musí být nainstalovány vhodné jaderné moduly. Následující kroky pocházejí z návodu Gentoo Printing.

Tato sekce není důležitá, ačkoliv závisí na jádru. Modul jádra může být automaticky načten při připojení tiskárny. Použijte příkaz tail (popsaný níže) pro kontrolu, jestli byla tiskárna jádrem správně detekována. Také můžete použít program lsmod, pro zjištění, které moduly jádra jsou právě načteny.

USB tiskárny

Uživatelé USB tiskáren budou pravděpodobně potřebovat vypnout modul usblp. Mějte na paměti, že je zde hodně pochybností týkajících se vypnutí usblp. Například některé tiskárny Canon a Epson nejsou bez tohoto modulu rozpoznány. Někteří uživatelé tiskáren Samsung ohlašovali, že používání cupsu s vypnutým modulem usblp způsobovalo problémy. Řešením bylo znovuzapnutí usblp a instalace cups-usblp z AURu místo nalíčku cups z oficiálního repozitáře. (https://bbs.archlinux.org/viewtopic.php?pid=778104)

Pro vypnutí modulu, upravte soubor /etc/rc.conf následovně:

/etc/rc.conf
MODULES=(... !usblp ...)

Na některých jádrech musí uživatelé načíst vše manuálně nahráním modulu usbcore následovně:

# modprobe usbcore

Jakmile jsou moduly nahrané, připojte tiskárnu a zkontrolujte, jestli ji jádro detekovalo spuštěním:

# tail /var/log/messages.log

nebo

# dmesg

Pokud používáte usblp, výstup by nám měl říci, že byla tiskárna detekována:

Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E
Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver

Pokud jste vypnuly modul usblp, uvidíte něco podobného tomuto:

usb 3-2: new full speed USB device using uhci_hcd and address 3
usb 3-2: configuration #1 chosen from 1 choice

Tiskárny s paralelním portem

Pokud plánujete používat tiskárnu s paralelním portem, konfigurace je skoro stejná. Jediné co musíte je načíst moduly:

# modprobe lp
# modprobe parport
# modprobe parport_pc

Znovu omrkněte, jestli vše proběhlo v pořádku:

# tail /var/log/messages.log

Ve výpisu by mělo být něco podobného:

lp0: using parport0 (polling).

Automatické načtení modulů

Pro automatické načítání jaderných modulů vždy při startu systému musíte jména modulů přidat do svého souboru /etc/rc.conf do pole MODULES=(). Například jako je zde:

MODULES=(!usbserial scsi_mod sd_mod snd-ymfpci snd-pcm-oss lp parport parport_pc ide-scsi)

CUPS daemon

Když už máte nainstalované jaderné moduly, můžete nastartovat svého CUPS daemona. To uděláte jednoduše spuštěním:

# /etc/rc.d/cupsd start

Ještě aby se vám CUPS daemon zapínal vždy při startu počítače, musíte ho přidat do pole DAEMONS=() v souboru /etc/rc.conf. A to takto:

DAEMONS=(syslog-ng dbus network gdm @crond @cupsd)

Webové rozhraní

Pokud vám daemon běží, otevřete svůj webový prohlížeč a přejděte na: http://localhost:631 (Řetězec localhost budete možná muset nahradit tím, který najdete ve svém /etc/hosts).

Následně už pouze stačí proklikat průvodci a jednoduše přidat tiskárnu. Toto se provede kliknutím na Přídávání tiskáren (Adding Printers) a následným kliknutím na Přidat tiskárnu (Add printer). Pokud se vás prohlížeč zeptá na příhlašovací jméno a heslo, přihlašte se jako root. Na jménu, které se automaticky přiřadilo tiskárně nezáleží (to samé platí i pro 'umístění (location)' a 'popis (description)'. V dalším kroku vyberte zařízení, které chcete přidat. Nakonec vyberte odpovídající ovladače pro tiskárnu a konfigurace je hotova.

Teď už pouze stačí tiskárnu otestovat. Přejděte do záložky Správa (Maintenance) a stiskněte Vytisknout testovací stránku (Print Test Page). Pokud se stránka nevytiskla a jste přesvědčeni o správnosti konfigurace, pravděpodobně bude problém s chybějícím nebo špatně zvoleným ovladačem.

Tip: GNOME users may be inclined towards installing the GNOME CUPS manager GUI frontend. See: #Alternative CUPS interfaces
Note: When setting up a USB printer, you should see your printer listed on Add Printer page. If you can only see a "SCSI printer" option, it probably means that CUPS has failed to recognize your printer.

Administrace systému CUPS

Při administraci tiskáren (přidávání a odebírání tiskáren, zastavování úloh apod.) ve webovém rozhranní po vás bude systém chtít zadat uživatelské jméno a heslo. Defaultní uživatelské jméno je přiřazené skupině sys nebo root (toto můžete změnit v souboru /etc/cups/cupsd.conf na řádku SystemGroup).

Pokud je účet uživatele root uzamčen a není možné se přihlásit defaultním uživatelským jménem a heslem, bude pravděpodobně potřeba změnit SystemGroup v cupsd.conf a přečíst si tento post.

Vzdálený přístup do webového rozhraní

Defaultně je webové rozhraní serveru CUPS přístupné pouze z localhost (pouze z počítače, kde je CUPS nainstalován). Pro spřístupnění rozhraní musíte provést následující změny v souboru /etc/cups/cupsd.conf. Přepište proto řádku:

Listen localhost:631

tímto:

port 631

systém CUPS tak bude přijímat příchozí spojení.

Existují tři různé úrovně přístupu, které můžete ovlivnit

<Location />           #přístup k serveru
<Location /admin>	#přístup k administraci
<Location /admin/conf>	#přístup ke konfiguračním souborům

Aby jste umožnili vzdálenému klientovi nějaký z přístupů, udělte mu volbu Allow. Položka Allow může mít více forem:

Allow all
Allow host.domena.cz
Allow *.domena.cz
Allow ip-address
Allow ip-addresa/maska

Omezení přístupu. Například pokud budete chtít dát všem klientům v podsíti 192.168.1.0/255.255.255.0 plný přístup, soubor /etc/cups/cupsd.conf by měl obsahovat toto:

# Omezení přístupu k serveru...
# Defaultně jsou povoleny pouze připojení z localhostu
<Location />
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

# Omezení přístupu k admin stránkám...
<Location /admin>
   # Encryption disabled by default
   #Encryption Required
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

# Omezení přístupu ke konfiguračním souborům...
<Location /admin/conf>
   AuthType Basic
   Require user @SYSTEM
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

Možná bude potřeba ještě přidat řádku:

DefaultEncryption Never

Toto by mělo odstranit chybovou hlášku: 426 - Upgrade Required when using the CUPS web interface from a remote machine.

Řešení problémů

Pro správné odladění programu je dobré zapnout logy. Pro jejich zapnutí nastavte 'LogLevel' v souboru /etc/cups/cupsd.conf na:

LogLevel debug

Obsah tohoto souboru (/var/log/cups/error_log můžete číst následovně:

# tail -n 100 -f /var/log/cups/error_log

Znaky na levé straně výstupu znamenají:

  • D=Ladíci informace
  • E=Chyba
  • I=Informace
  • A další

Tyto soubory mohou být také užitečné:

  • /var/log/cups/page_log - Vypíše se do něho vždy nový záznam a každém úspěšně provedeném tisku
  • /var/log/cups/access_log - Vypisuje se do něho kompletní aktivita serveru cupsd cupsd http1.1

Samozřejmě, že je nezbytné znát to, jak CUPS funguje, pokud chcete řešit nějaké problémy.

  1. Aplikace odešle soubor typu .ps (v tzv. PostScriptu - skriptovací jazyk, který tiskárně říká, jak bude výsledná stránka vypadat) serveru CUPS.
  2. CUPS se pak podívá na soubor PPD (PostScript Printer Description) a vyřeší jaké je potřeba použít filtry, aby se soubor typu .ps převedl do jazyka, kterému tiskárna bude rozumět (například PJL, PCL), obvykle GhostScript
  3. GhostScript takes the input and figures out which filters it should use, then applies them and converts the .ps file to a format understood by the printer.
  4. Then it is sent to the back-end. For example, if the printer is connected to a USB port, it uses the USB back-end.

Print a document and watch error_log to get a more detailed and correct image of the printing process.

Problémy po aktualizaci

Problémy, které se objevily po aktualizaci programu

CUPS přestal pracovat

Nejspíš bude kvůli nové verzi programu potřeba aktualizovat váš konfigurační soubor. Například se vám bude zobrazovat chyba "404 - stránka nenalezena" při přístupu do administrace na localhost:631.

Pro použití nového konfiguračního souboru zkopírujte /etc/cups/cupsd.conf.default do /etc/cups/cupsd.conf (samozřejmě si zazálohujte původní konfiguraci):

# cp /etc/cups/cupsd.conf.default /etc/cups/cupsd.conf

a restartujte CUPS, aby se načetl nový konfigurační soubor.

Chyba s gnutls

Pokud dostáváte chyby typu:

/usr/sbin/cupsd: error while loading shared libraries: libgnutls.so.13: cannot open shared object file: No such file or directory

gnutls pravděpodobně potřebuje aktualizovat:

# pacman -S gnutls

Po aktualizaci se může v /etc/cups objevit soubor cupsd.conf.pacnew. V tomto souboru je nemodifikováná originální konfigurace. Svůj starý konfigurační soubor proto s nově vzniklým porovnejte a případně doupravte tak, aby v něm nechyběla nově vydaná nastavení.

Všechny tiskové úlohy jsou "stopped" (zastaveny)

Pokud jsou všechny tiskové úlohy poslané na tiskárnu zastaveny (bude u nich stav "stopped"), odeberte vaši tiskárnu a znovu ji přidejte. To provedete ve webovém rozhraní CUPSu, přejděte do sekce Printers > Delete Printer.

Verze PPD není kompatibilní s gutenprint

Spusťte:

# /usr/sbin/cups-genppdupdate

A restartujte CUPS.

USB printers under CUPS 1.4.x

Nový CUPS 1.4.x přínáší plno změn:

Konfigurační soubor

Syntaxe konfiguračního souboru cupsd.conf se změnila. Proto začněte s novým souborem cupsd.conf založeným na /etc/cups/cupsd.conf.default.

Zakázání usblp

Aktuální verze CUPSu využívá místo usblp, kde se zařízení generovala jako /dev/usb/lpX, libusb kde se generují do /dev/bus/usb/. Aby vám na vašem počítači fungovaly USB tiskárny, musí se usblp modul vypnout. To lze udělat tak, že přidáte řádek "blacklist usblp" do konfiguračního souboru /etc/modprobe.d/modprobe.conf:

/etc/modprobe.d/modprobe.conf
blacklist usblp

Pokud vám tiskárna nebude fungovat stále, zkuste ji reinstalovat.

Práva zařízení

Aby mohl CUPS využívat USB zařízení tiskárny, je nutné, aby k tomu měl dostatečná práva. Vlastník by měl být root:lp a práva přístupu na 660. Například:

$ ls -l /dev/bus/usb/003/002
crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002

This is supposed to be achieved by two udev rules in /lib/udev/rules.d/50-udev-default.rules:

# hplip and cups 1.4+ use raw USB devices, so permissions should be similar to
# the ones from the old usblp kernel module
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}==":0701*:", GROUP="lp", MODE="660"

However, for some devices, in particular combined printer/scanner devices, these rules either do not trigger, or are overwritten by rules of the 'sane' package. In these cases a custom udev rule needs to be added. See below.

Device node permission troubleshooting

Get the printer's device file and its permissions with:

$ lsusb
...
Bus 003 Device 002: ID 04b8:0841 Seiko Epson Corp.
$ ls -l /dev/bus/usb/003/002
crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002

If the permissions are not already root:lp 660, enforce it by creating a custom udev rule, e.g

cat /etc/udev/rules.d/10-usbprinter.rules
ATTR{idVendor}=="04b8", ATTR{idProduct}=="0841", MODE:="0660", GROUP:="lp"

Note that idVendor and idProduct are from the lsusb listing above.

Loading firmware

Some printers and drivers need to load firmware to the printer (such as HP LaserJet 10xx printers using foo2zjs) and do this by writing directly to the lp device, a functionality provided by usblp. A work around until this issue is resolved is to install the usblp module until the firmware is loaded, then remove the module to allow CUPS to work. This can be accomplished by manually running "$ modprobe usblp", waiting for the firmware to load, then "$ rmmod usblp". You can also not blacklist usblp, then put "rmmod usblp" to /etc/rc.local, allowing the firmware to be loaded on boot before rc.local is run, then removing usblp.

In case the printer is plugged in or powered on while system is already running, /etc/rc.local does not get executed and usblp module stays loaded. A workaround is to modify the /etc/udev/rules.d/11-hpj10xx.rules provided by foo2zjs so that after the add event we wait e.g. 15 seconds for the firmware to load and then automatically remove usblp. The following example is for HP LaserJet 1018. For other models the value of ATTRS{idProduct} should be changed to match the printer model.

Locate the line matching your printer in /etc/udev/rules.d/11-hpj10xx.rules:

ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",     \
       ATTRS{idProduct}=="4117", RUN+="/sbin/foo2zjs-loadfw 1018 $tempnode"

Add the following lines below it, make sure match the product and vendor IDs:

ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",     \
       ATTRS{idProduct}=="4117", RUN+="/usr/bin/sleep 15"
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",     \
       ATTRS{idProduct}=="4117", RUN+="/sbin/rmmod usblp"

Other

CUPS permission errors
  • Some users fixed 'NT_STATUS_ACCESS_DENIED' (Windows clients) errors by using a slightly different syntax:
smb://workgroup/username:password@hostname/printer_name
  • Sometimes, the block device has wrong permissions:
# ls /dev/usb/
lp0
# chgrp lp /dev/usb/lp0

HPLIP tiskárna vrací chybu "/usr/lib/cups/backend/hp failed"

Ujistěte se, že máte nainstalovaný a běžící dbus. Například spuštěním ls /var/run/daemons.

Pokud máte dbus spuštěný a tato chyba dále přetrvává, možná budete muset spustit daemona avahi.

hp-toolbox sends an error, "Unable to communicate with device"

If running hp-toolbox as a regular user results in:

# hp-toolbox
# error: Unable to communicate with device (code=12): hp:/usb/<printer id>

or, "Unable to communicate with device"", then it may be needed to add the user to the lp group by running the following command:

# gpasswd -a <username> lp

CUPS returns '"foomatic-rip" not available/stopped with status 3' with a HP printer

If receiving any of the following error messages in /var/log/cups/error_log while using a HP printer, with jobs appearing to be processed while they all end up not being completed with their status set to 'stopped':

Filter "foomatic-rip" for printer "<printer_name>" not available: No such file or director

or:

PID 5771 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!

make sure hplip has been installed, in addition to the packages mentioned above, net-snmp is also needed. See this forum post.

# pacman -S hplip

Tisk selže s chybou unauthorised

Pokud byl uživatel přidán do skupiny lp a byl mu umožněn tisk (vše se nastavuje v cups.conf), bude nejspíše problém v souboru /etc/cups/printers.conf. Za vše může pravděpodobně tato řádka:

AuthInfoRequired negotiate

Zakomentujte ji a restartujte CUPS.

Tlačítko Tisk v GNOME v print dialogu zešedne

Zdroj: I can't print from gnome applications. - Arch Forums

Ujistěte se, že je nainstalovaný balíček libgnomeprint.

Upravte /etc/cups/cupsd.conf a přidejte

# HostNameLookups Double

Restartujte CUPS:

# /etc/rc.d/cupsd restart

Unknown supported format: application/postscript

Zakomentujte řádky:

application/octet-stream        application/vnd.cups-raw        0      -

v souboru /etc/cups/mime.convs a:

application/octet-stream

v /etc/cups/mime.types.

Hledání URI tiskárny běžící pod Windows

Občas jsou potíže s nalezením správné URI adresy zařízení. Pokud s tím máte problémy, spusťte následující příkaz, který vám vypíše všechny dostuné adresy URI podle zadaného uživatelského jména:

$ smbtree -U windows_uzivatelske_jmeno

Vše bude samozřejmě fungovat jen pokud vám poběží správně Samba. Příkaz by měl vrátit něco podobného tomuto:

 WORKGROUP
	\\REGULATOR-PC   		
		\\REGULATOR-PC\Z              	
		\\REGULATOR-PC\Public         	
		\\REGULATOR-PC\print$         	Printer Drivers
		\\REGULATOR-PC\G              	
		\\REGULATOR-PC\EPSON Stylus CX8400 Series	EPSON Stylus CX8400 Series

Z výpisu nás zajímá hlavně první část posledního řádku. V druhé části řádku je popis zařízení. Takže pro tiskárnu EPSON Stylus vložte do nastavení v CUPS tuto URI:

smb://uzivatelske_jmeno.heslo@REGULATOR-PC/EPSON Stylus CX8400 Series

Všimněte si, že je v URI dovoleno používat bíle znaky, zatímco zpětná lomítka jsou nahrazeny lomítky klasickými.

Print-Job client-error-document-format-not-supported

Zkuste nainstalovat foomatic balíčky a použijte ovladač foomatic.

Appendix

Alternativní rozhraní pro ovládání CUPSu

Pokud používáte GNOME (Česky), je možné spravovat a konfigurovat tiskárnu pomocí system-config-printer-gnome. Tento balíček můžete nainstalovat takto:

# pacman -S system-config-printer-gnome

Pravděpodobně budete muset spouštět system-config-printer pod uživatelem root. Případně můžete pro určité uživatele vytvořit skupinu. Pokud to chcete řešit takto, postupujte podle kroků 1-3.

  • 1. Vytvořte skupinu a přiřaďte ji uživatelům, kterým chcete dát práva spravovat tiskárny
# groupadd lpadmin
# usermod -aG lpadmin <uzivatelske_jmeno>
  • 2. Přidejte "lpadmin" (bez uvozovek) na níže uvedený řádek v souboru /etc/cups/cupsd.conf
SystemGroup sys root <sem>
  • 3. Restartujte cups, odhlašte se a znovu přihlašte (nebo restartujte počítač)
# /etc/rc.d/cupsd restart

Uživatelé, kteří používají prostředí KDE (Česky) mohou tiskárny spravovat z tzv. Control Centra. Pokud potřebujete více informací o tom, jak spravovat tiskárny v těchto prostředích, koukněte do dokumentace.

Zde je také v AURu gtklp.

PDF virtuální tiskárna

cups-pdf je balíček, který umožňuje nastavení tzv. virtuální tiskárny. Díky této tiskárně můžete generovat PDF soubory z toho, co na ni pošlete. Pro samotnou funkčnost CUPSu není tento balíček potřebný, ale určitě je velmi užitečný.

Vygenerované PDF dokumenty jsou umístěny v podadresáři /var/spool/cups-pdf. Většinou je tento podadresář pojmenovaný po uživateli, který spustil tisk.

Balíček nainstalujete následujícím příkazem:

# pacman -S cups-pdf

Po instalaci balíku tiskárnu nastavte - například prostřednictvím webového rozhranní. Jako zařízení (Device) vyberte CUPS-PDF (Virtual PDF Printer); Výrobce (Make/Manufacturer), vyberte Generic; Ovladač (Model/Driver), vyberte Generic postscript color printer nebo Generic Cups-PDF Printer. Případně ješte můžete zvolit tento soubor PPD.

Print to postscript: CUPS-PDF virtual printer trick

Printing to PDF in most applications like OpenOffice is no problem; just hit the button. Yet when printing out to postscript, matters take a little more work. For applications like OpenOffice where printing to kprinter is nebulous at best, there has to be another way -- and there is. The CUPS-PDF (Virtual PDF Printer) actually creates a postscript file and then creates the PDF using the ps2pdf utility. To print to postscript, what needs to be done is capturing the intermediate postscript file created by CUPS-PDF. This is easily accomplished with by selecting the "print to file" option in the print dialog. (choose either .ps or .eps as the extension) After selecting the "print to file" checkbox simply enter the filename and click "print".

Konfigurace CUPS-PDF virtualní tiskárny

1. Nainstalujte cups a cups-pdf z [extra].

2. Nastartujte cups tímto příkazem:

# /etc/rc.d/cupsd 
Note: Přidejte si 'cups' do pole daemonů ve svém /etc/rc.conf, pokud chcete, aby se zapínal při startu operačního systému.

3. Běžte do webové administrace CUPSu přejdutím na adresu: http://localhost:631 a vyberte:

Administration (Administrace) -> Add Printer (Přidat tiskárnu)
Vyberte CUPS-PDF (Virtual PDF) pro Make a Driver:
Make:	Generic
Driver:	Generic CUPS-PDF Printer

Teď už stačí pro vytištění postskriptu, vytisknout vše jako obvykle, akorát v print dialogu vyberte tiskárnu "CUPS-PDF". Potom zatrhněte checkbox Print to file (Vytisknout do souboru), stiskněte Tisk a vložtě jméno souboru, do kterého chcete vše vytisknout.

Další zdroj pro ovladač k tiskárnám

Turboprint je proprietární ovladač pro mnoho různých tiskáren, které ještě nejsou oficiálně podporovány operačním systémem GNU/Linux (například Canon i*). Nicméně vysoce kvalitní výtisky jsou označeny vodoznakem nebo jsou pay-only.

Zdroje