Difference between revisions of "CUPS (Česky)"
m (→All jobs are "stopped") |
Kynikos.bot (talk | contribs) (rm temporary i18n template) |
||
(17 intermediate revisions by 4 users not shown) | |||
Line 4: | Line 4: | ||
[[Category:Printers (Česky)]] | [[Category:Printers (Česky)]] | ||
[[Category:HOWTOs (Česky)]] | [[Category:HOWTOs (Česky)]] | ||
− | + | [[en:CUPS]] | |
+ | [[es:CUPS]] | ||
+ | [[it:CUPS]] | ||
+ | [[pl:CUPS]] | ||
+ | [[ru:CUPS]] | ||
+ | [[th:CUPS]] | ||
+ | [[tr:CUPS]] | ||
+ | [[zh-CN:CUPS]] | ||
+ | [[zh-TW:CUPS]] | ||
{{Article summary start|Summary}} | {{Article summary start|Summary}} | ||
{{Article summary text|Instalace a konfigurace daemona CUPS}} | {{Article summary text|Instalace a konfigurace daemona CUPS}} | ||
Line 13: | Line 21: | ||
{{Article summary end}} | {{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.''". |
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 26: | Line 34: | ||
* '''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í [http://answers.launchpad.net/hplip/+question/133425 toto vlálno na launchpadu/hplip]. | * '''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í [http://answers.launchpad.net/hplip/+question/133425 toto vlálno na launchpadu/hplip]. | ||
− | Pokud má systém využívat nějakou síťovou tiskárnu přes protokol [[Samba (Česky)]] nebo pokud má být systém print serverem pro klienty s operačním systémem [[Wikipedia:cs:Windows|Windows]], nainstalujte také Sambu: | + | Pokud má systém využívat nějakou síťovou tiskárnu přes protokol [[Samba (Česky)|Samba]] nebo pokud má být systém print serverem pro klienty s operačním systémem [[Wikipedia:cs:Windows|Windows]], nainstalujte také Sambu: |
# pacman -S samba | # pacman -S samba | ||
Line 52: | Line 60: | ||
*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]] | ||
− | {{Note|PPD soubory se nacházejí v adresáři {{ | + | {{Note|PPD soubory se nacházejí v adresáři {{ic|/usr/share/cups/model/}}}} |
==Konfigurace== | ==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. | 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 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=== | ||
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''. | 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 {{ | + | 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 {{ic|tail}} (popsaný níže) pro kontrolu, jestli byla tiskárna jádrem správně detekována. Také můžete použít program {{ic|lsmod}}, pro zjištění, které moduly jádra jsou právě načteny. |
====USB tiskárny==== | ====USB tiskárny==== | ||
− | Uživatelé USB tiskáren budou pravděpodobně potřebovat vypnout modul {{ | + | Uživatelé USB tiskáren budou pravděpodobně potřebovat vypnout modul {{ic|usblp}}. Mějte na paměti, že je zde hodně [http://bbs.archlinux.org/viewtopic.php?pid=660601 pochybností] týkajících se vypnutí {{ic|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í {{ic|cupsu}} s vypnutým modulem {{ic|usblp}} způsobovalo problémy. Řešením bylo znovuzapnutí {{ic|usblp}} a instalace {{ic|cups-usblp}} z [[AUR (Česky)|AURu]] místo nalíčku {{ic|cups}} z oficiálního repozitáře. (https://bbs.archlinux.org/viewtopic.php?pid=778104) |
− | Pro vypnutí modulu, upravte soubor {{ | + | Pro vypnutí modulu, upravte soubor {{ic|/etc/rc.conf}} následovně: |
− | {{ | + | {{hc|/etc/rc.conf|2=MODULES=(... '''!usblp''' ...)}} |
− | Na některých jádrech musí uživatelé načíst vše manuálně nahráním modulu {{ | + | Na některých jádrech musí uživatelé načíst vše manuálně nahráním modulu {{ic|usbcore}} následovně: |
# modprobe usbcore | # modprobe usbcore | ||
Line 79: | Line 87: | ||
# dmesg | # dmesg | ||
− | Pokud používáte {{ | + | Pokud používáte {{ic|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 | Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional | ||
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E | printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E | ||
Line 85: | Line 93: | ||
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver | Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver | ||
− | Pokud jste vypnuly modul {{ | + | Pokud jste vypnuly modul {{ic|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: new full speed USB device using uhci_hcd and address 3 | ||
usb 3-2: configuration #1 chosen from 1 choice | usb 3-2: configuration #1 chosen from 1 choice | ||
Line 101: | Line 109: | ||
====Automatické načtení modulů==== | ====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 {{ | + | 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 {{ic|/etc/[[rc.conf]]}} do pole {{ic|1=MODULES=()}}. Například jako je zde: |
MODULES=(!usbserial scsi_mod sd_mod snd-ymfpci snd-pcm-oss '''lp parport parport_pc''' ide-scsi) | MODULES=(!usbserial scsi_mod sd_mod snd-ymfpci snd-pcm-oss '''lp parport parport_pc''' ide-scsi) | ||
===CUPS daemon=== | ===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: | 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/ | + | # /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 | + | 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 {{ic|1=DAEMONS=()}} v souboru {{ic|/etc/rc.conf}}. A to takto: |
− | DAEMONS=(syslog-ng dbus network gdm @crond '''@ | + | DAEMONS=(syslog-ng dbus network gdm @crond '''@cupsd''') |
=== Webové rozhraní === | === 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 '' {{ | + | 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 '' {{ic|/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]]}} | {{Tip|[[GNOME]] users may be inclined towards installing the GNOME CUPS manager GUI frontend. See: [[#Alternative CUPS interfaces]]}} | ||
Line 124: | Line 132: | ||
==== Administrace systému CUPS ==== | ==== 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 {{ | + | 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 {{ic|/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 [http://bbs.archlinux.org/viewtopic.php?id=35567 tento post]. | 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 [http://bbs.archlinux.org/viewtopic.php?id=35567 tento post]. | ||
====Vzdálený přístup do webového rozhraní==== | ====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 {{ | + | 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 {{ic|/etc/cups/cupsd.conf}}. Přepište proto řádku: |
Listen localhost:631 | Listen localhost:631 | ||
tímto: | tímto: | ||
Line 140: | Line 148: | ||
<Location /admin/conf> #přístup ke konfiguračním souborům | <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 {{ | + | Aby jste umožnili vzdálenému klientovi nějaký z přístupů, udělte mu volbu {{ic|Allow}}. Položka {{ic|Allow}} může mít více forem: |
Allow all | Allow all | ||
Allow host.domena.cz | Allow host.domena.cz | ||
Line 147: | Line 155: | ||
Allow ip-addresa/maska | 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 {{ | + | 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 {{ic|/etc/cups/cupsd.conf}} by měl obsahovat toto: |
# Omezení přístupu k serveru... | # Omezení přístupu k serveru... | ||
# Defaultně jsou povoleny pouze připojení z localhostu | # Defaultně jsou povoleny pouze připojení z localhostu | ||
Line 181: | Line 189: | ||
==Řešení problémů== | ==Řešení problémů== | ||
− | Pro správné odladění programu je dobré zapnout logy. Pro jejich zapnutí nastavte 'LogLevel' v souboru {{ | + | Pro správné odladění programu je dobré zapnout logy. Pro jejich zapnutí nastavte 'LogLevel' v souboru {{ic|/etc/cups/cupsd.conf}} na: |
LogLevel debug | LogLevel debug | ||
− | Obsah tohoto souboru ({{ | + | Obsah tohoto souboru ({{ic|/var/log/cups/error_log}} můžete číst následovně: |
# tail -n 100 -f /var/log/cups/error_log | # tail -n 100 -f /var/log/cups/error_log | ||
− | + | Znaky na levé straně výstupu znamenají: | |
− | *D= | + | *D=Ladíci informace |
− | *E= | + | *E=Chyba |
− | *I= | + | *I=Informace |
− | * | + | *A další |
− | + | Tyto soubory mohou být také užitečné: | |
− | *{{ | + | *{{ic|/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 |
− | *{{ | + | *{{ic|/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. | |
− | # | + | # Aplikace odešle soubor typu .ps (v tzv. PostScriptu - skriptovací jazyk, který tiskárně říká, jak bude výsledná stránka vypadat) serveru CUPS. |
− | # CUPS | + | # 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 |
# 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. | # 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. | ||
# 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. | # 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 {{ | + | Print a document and watch {{ic|error_log}} to get a more detailed and correct image of the printing process. |
===Problémy po aktualizaci=== | ===Problémy po aktualizaci=== | ||
Line 221: | Line 229: | ||
# pacman -S gnutls | # pacman -S gnutls | ||
− | Po aktualizaci se může v {{ | + | Po aktualizaci se může v {{ic|/etc/cups}} objevit soubor {{ic|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)==== | ====Všechny tiskové úlohy jsou "stopped" (zastaveny)==== | ||
Line 227: | Line 235: | ||
To provedete ve [http://localhost:631 webovém rozhraní CUPSu], přejděte do sekce Printers > Delete Printer. | To provedete ve [http://localhost:631 webovém rozhraní CUPSu], přejděte do sekce Printers > Delete Printer. | ||
− | ==== | + | ====Verze PPD není kompatibilní s gutenprint==== |
− | + | Spusťte: | |
# /usr/sbin/cups-genppdupdate | # /usr/sbin/cups-genppdupdate | ||
− | + | A restartujte CUPS. | |
===USB printers under CUPS 1.4.x=== | ===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 {{ic| /dev/usb/lpX}}, libusb kde se generují do {{ic| /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 {{ic| /etc/modprobe.d/modprobe.conf}}: | |
− | ==== | + | {{hc|/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 | $ ls -l /dev/bus/usb/003/002 | ||
crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002 | crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002 | ||
Line 296: | Line 308: | ||
====HPLIP tiskárna vrací chybu "/usr/lib/cups/backend/hp failed"==== | ====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 {{ | + | Ujistěte se, že máte nainstalovaný a běžící dbus. Například spuštěním {{ic|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''. | Pokud máte dbus spuštěný a tato chyba dále přetrvává, možná budete muset spustit daemona ''avahi''. | ||
Line 304: | Line 316: | ||
# hp-toolbox | # hp-toolbox | ||
# error: Unable to communicate with device (code=12): hp:/usb/<printer id> | # error: Unable to communicate with device (code=12): hp:/usb/<printer id> | ||
− | or, "{{ | + | or, "{{ic|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 | # gpasswd -a <username> lp | ||
====CUPS returns '"foomatic-rip" not available/stopped with status 3' with a HP printer==== | ====CUPS returns '"foomatic-rip" not available/stopped with status 3' with a HP printer==== | ||
− | If receiving any of the following error messages in {{ | + | If receiving any of the following error messages in {{ic|/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 | Filter "foomatic-rip" for printer "<printer_name>" not available: No such file or director | ||
or: | or: | ||
Line 316: | Line 328: | ||
====Tisk selže s chybou ''unauthorised''==== | ====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 {{ | + | Pokud byl uživatel přidán do skupiny ''lp'' a byl mu umožněn tisk (vše se nastavuje v {{ic|cups.conf}}), bude nejspíše problém v souboru {{ic|/etc/cups/printers.conf}}. Za vše může pravděpodobně tato řádka: |
AuthInfoRequired negotiate | AuthInfoRequired negotiate | ||
Line 326: | Line 338: | ||
Ujistěte se, že je nainstalovaný balíček '''libgnomeprint'''. | Ujistěte se, že je nainstalovaný balíček '''libgnomeprint'''. | ||
− | Upravte {{ | + | Upravte {{ic|/etc/cups/cupsd.conf}} a přidejte |
# HostNameLookups Double | # HostNameLookups Double | ||
Restartujte CUPS: | Restartujte CUPS: | ||
− | # /etc/rc.d/ | + | # /etc/rc.d/cupsd restart |
====Unknown supported format: application/postscript==== | ====Unknown supported format: application/postscript==== | ||
Zakomentujte řádky: | Zakomentujte řádky: | ||
application/octet-stream application/vnd.cups-raw 0 - | application/octet-stream application/vnd.cups-raw 0 - | ||
− | v souboru {{ | + | v souboru {{ic|/etc/cups/mime.convs}} a: |
application/octet-stream | application/octet-stream | ||
− | v {{ | + | v {{ic|/etc/cups/mime.types}}. |
====Hledání URI tiskárny běžící pod Windows==== | ====Hledání URI tiskárny běžící pod Windows==== | ||
Line 343: | Line 355: | ||
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: | 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'' | $ smbtree -U ''windows_uzivatelske_jmeno'' | ||
− | Vše bude samozřejmě fungovat jen pokud vám poběží správně [[Samba (Česky)]]. Příkaz by měl vrátit něco podobného tomuto: | + | Vše bude samozřejmě fungovat jen pokud vám poběží správně [[Samba (Česky)|Samba]]. Příkaz by měl vrátit něco podobného tomuto: |
− | + | {{bc| WORKGROUP | |
\\REGULATOR-PC | \\REGULATOR-PC | ||
\\REGULATOR-PC\Z | \\REGULATOR-PC\Z | ||
Line 350: | Line 362: | ||
\\REGULATOR-PC\print$ Printer Drivers | \\REGULATOR-PC\print$ Printer Drivers | ||
\\REGULATOR-PC\G | \\REGULATOR-PC\G | ||
− | \\REGULATOR-PC\EPSON Stylus CX8400 Series EPSON Stylus CX8400 Series | + | \\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: | 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 | smb://uzivatelske_jmeno.heslo@REGULATOR-PC/EPSON Stylus CX8400 Series | ||
Line 370: | Line 382: | ||
# usermod -aG lpadmin <uzivatelske_jmeno> | # usermod -aG lpadmin <uzivatelske_jmeno> | ||
− | * 2. Přidejte "lpadmin" (bez uvozovek) na níže uvedený řádek v souboru {{ | + | * 2. Přidejte "lpadmin" (bez uvozovek) na níže uvedený řádek v souboru {{ic|/etc/cups/cupsd.conf}} |
SystemGroup sys root <sem> | SystemGroup sys root <sem> | ||
* 3. Restartujte cups, odhlašte se a znovu přihlašte (nebo restartujte počítač) | * 3. Restartujte cups, odhlašte se a znovu přihlašte (nebo restartujte počítač) | ||
− | # /etc/rc.d/ | + | # /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. | 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. | ||
Line 381: | Line 393: | ||
===PDF virtuální tiskárna=== | ===PDF virtuální tiskárna=== | ||
− | {{ | + | {{Pkg|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 | + | Vygenerované PDF dokumenty jsou umístěny v podadresáři {{ic|/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: | Balíček nainstalujete následujícím příkazem: | ||
# pacman -S cups-pdf | # 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 [http://www.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/cups-pdf-CURRENT/extra/CUPS-PDF.ppd | + | 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 [http://www.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/cups-pdf-CURRENT/extra/CUPS-PDF.ppd tento] soubor PPD. |
==== Print to postscript: CUPS-PDF virtual printer trick ==== | ==== Print to postscript: CUPS-PDF virtual printer trick ==== | ||
Line 395: | Line 407: | ||
=====Konfigurace CUPS-PDF virtualní tiskárny===== | =====Konfigurace CUPS-PDF virtualní tiskárny===== | ||
− | 1. Nainstalujte {{ | + | 1. Nainstalujte {{Pkg|cups}} a {{Pkg|cups-pdf}} z {{ic|[extra]}}. |
2. Nastartujte cups tímto příkazem: | 2. Nastartujte cups tímto příkazem: | ||
− | # /etc/rc.d/ | + | # /etc/rc.d/cupsd |
− | {{Note|Přidejte si 'cups' do pole daemonů ve svém {{ | + | {{Note|Přidejte si 'cups' do pole daemonů ve svém {{ic|/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: | 3. Běžte do webové administrace CUPSu přejdutím na adresu: http://localhost:631 a vyberte: | ||
Line 407: | Line 419: | ||
Make: Generic | Make: Generic | ||
Driver: Generic CUPS-PDF Printer | 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. | 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=== | ===Další zdroj pro ovladač k tiskárnám=== | ||
− | [http://www.turboprint.de/english.html 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ě | + | [http://www.turboprint.de/english.html 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== | ==Zdroje== |
Revision as of 08:13, 16 June 2012
zh-TW:CUPS Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end
- "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í.
Contents
- 1 Instalace
- 2 Konfigurace
- 3 Řešení problémů
- 3.1 Problémy po aktualizaci
- 3.2 USB printers under CUPS 1.4.x
- 3.3 Other
- 3.3.1 CUPS permission errors
- 3.3.2 HPLIP tiskárna vrací chybu "/usr/lib/cups/backend/hp failed"
- 3.3.3 hp-toolbox sends an error, "Unable to communicate with device"
- 3.3.4 CUPS returns '"foomatic-rip" not available/stopped with status 3' with a HP printer
- 3.3.5 Tisk selže s chybou unauthorised
- 3.3.6 Tlačítko Tisk v GNOME v print dialogu zešedne
- 3.3.7 Unknown supported format: application/postscript
- 3.3.8 Hledání URI tiskárny běžící pod Windows
- 3.3.9 Print-Job client-error-document-format-not-supported
- 4 Appendix
- 5 Zdroje
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
/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.
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.
- Aplikace odešle soubor typu .ps (v tzv. PostScriptu - skriptovací jazyk, který tiskárně říká, jak bude výsledná stránka vypadat) serveru CUPS.
- 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
- 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.
- 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
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.
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
/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.