Možnosti &CUPS;, které momentálně nejsou dostupné pomocí &kcontrol; Tato kapitola poskytuje pár rád o dalších možnostech nastavení, které nejsou dostupné přes &GUI; &kdeprint; pro &CUPS;. Přehled poskytovaných funkcí Většina často používaných funkcí &CUPS; je podporovaná v &kdeprint;. Správa tiskáren je podporována: přidání, odstranění, změna, nastavení, test, povolení, zakázání, ... Správa úloh je podporována: zrušení, pozdržení, uvolnění, přesun na jinou tiskárnu Tiskové možnosti: plná kontrola poskytovaná &CUPS;. Kde hledat pomoc při použití &CUPS; Hodně informací o vnitřním fungovaní &CUPS; je dostupné pomocí webového rozhraní, které &CUPS; vždy podporuje. Funguje s každým prohlížečem (i textovým). Jednoduše přejděte na http://localhost:631. Pokud jste nový uživatelé &CUPS; najdete tam odkaz na lokálně dostupnou dokumentaci &CUPS; v HTML a PDF. &CUPS; je dostupný i jiným způsobem než přes &kdeprint;: příkazový řádek a prohlížeč jsou dvě základní rozhraní &CUPS;. Hodně nástrojů pro příkazový řádek umožňuje úplné ovládání &CUPS;. Webové rozhraní je pouze podmnožina dostupných možností nastavení a ovládání. To platí i pro &kdeprint;. Všeobecně platí, že jak se &CUPS; vyvíjí, většina nových funkcí je nejprve dostupná pomocí příkazového řádku. Určitě si hned po instalaci přečtěte manuálové stránky pro &CUPS;, aby jste měli nejnovější informace. V závislosti na metodě aktualizace pro &CUPS; možná není váš aktivní konfigurační soubor nahrazen novým a proto váš nový démon &CUPS; neví, že má používat nové funkce. Úplný seznam dostupných souborů a manuálových stránek je vždy v &CUPS; Software Administrator Manual (http://localhost:631/sam.html#FILES. V okně &konqueror; zadejte &URL; man:/lpadmin a man:/cupsd.conf pro zjištění nejdůležitějších příkazů a konfiguračních souborů. Přečtěte si klasické &UNIX; manuálové stránky, které lze pohodlně zobrazit v okně &konqueror; . Najdete v nich zajímavé rady a odkazy na jiné manuálové stránky a dokumentaci. Jak najít manuálové stránky související s &CUPS; Zde je způsob, jak zjistit, které manuálové stránky o &CUPS; máte nainstalované: kurt@transmeta:~ > apropos cups cups-calibrate (8)- ESP Printer Calibration Tool lpstat (1) - print cups status information cups-lpd (8) - receive print jobs + report printer status to lpd clients classes.conf (5) - class configuration file for cups backend (1) - cups backend transmission interfaces filter (1) - cups file conversion filter interfaces cups-polld (8) - cups printer polling daemon mime.types (5) - mime type description file for cups cupsd (8) - common unix printing system daemon lpadmin (8) - configure cups printers and classes cupsd.conf (5) - server configuration file for cups mime.convs (5) - mime type conversion file for cups printers.conf (5) - printer configuration file for cups mime.convs (5) - mime type conversion file for cups cups-polld (8) - cups printer polling daemon lpstat (1) - print cups status information backend (1) - cups backend transmission interfaces mime.types (5) - mime type description file for cups cupsd (8) - common unix printing system daemon lpadmin (8) - configure cups printers and classes printers.conf (5) - printer configuration file for cups cupsd.conf (5) - server configuration file for cups filter (1) - cups file conversion filter interfaces Mimo &kdeprint;: Rady & triky s &CUPS; na příkazovém řádku Pár příkladů možností, které jsou momentálně podporované pouze při použití příkazového řádku. Povolení a zakázaní přístupu k tiskárně pro některé uživatele Při instalaci (nebo změně) tiskárny pomocí příkazového řádku můžete povolit nebo zakázat použití tiskárny pro některé uživatele: lpadmin HeidelbergDigimaster9110 lpd:/10.160.16.99/mqueue allow:kurt,sylvi,hansjoerg /home/kurt/PPDs/DVHV.ppd umožní použití této tiskárny (věřte mi: velmi šikovná a velmi profesionální) pouze třem uvedeným uživatelům a zároveň zakázat její použití všem ostatním. Pokud jiný uživatel chce tisknout pomocí serveru &CUPS;, dostane chybovou zprávu ve smyslu client-error-not-possible. lpadmin HeidelbergDigimaster9110 lpd:/10.160.16.99/mqueue deny:tackat,boss,waba /home/kurt/PPDs/DVHV.ppd zakáže použití této tiskárny pouze třem uvedeným uživatelům a zároveň povolí jej použití všem ostatním. Pokud chce zakázaný uživatel tisknout pomocí serveru &CUPS;, dostane chybovou zprávu v smyslu client-error-not-possible. Momentálně je povolené použít pouze jednu z těchto možností a neexistuje podobná podpora založená na skupinách. Její implementace se plánuje. Zapnutí kvót pro některé tiskárny Někdy potřebujete pro některé tiskárny zavést kvóty. S nimi můžete určit horní hranici stránek nebo dat, které je možné v dané době vytisknout na dané tiskárně. Kvóty je možné nastavit pomocí možnosti při instalaci tiskárny příkazem lpadmin nebo potom stejně již pro existující tiskárnu. Toto je částečný návod (který momentálně chybí v oficiální dokumentaci &CUPS;): S &CUPS; můžete mít kvóty pro jednotlivé tiskárny založené na počtu stránek nebo na velikosti souborů. Kvóty se počítají pro každého uživatele (takže jedna skupina omezení se používá pro všechny uživatele dané tiskárny). Kvóty zahrnují i oddělovací stránky (pokud se používají). To znamená: můžete omezit každého uživatele na 20 stran za den pro drahou tiskárnu, ale nemůžete omezit každého uživatele kromě Kurta nebo root. Při nastavení tiskárny je možné zadat možnosti , a . nastavuje časový interval pro počítání kvóty (intervaly jsou určené v sekundách, takže den je 60x60x24=86 400, týden je 60x60x24x7=604 800 a měsíc je 60x60x24x30=2 592 000 sekund.) Aby bylo možné kvóty vynutit, musí být nenulový time-period plus pro aspoň jeden job-limit. Výchozí hodnota 0 pro nastavuje, že není žádné omezení. Výchozí hodnota 0 pro nastavuje, že není žádné omezení. Výchozí hodnota 0 pro nastavuje, že omezení se používají na všechny úlohy, které vytiskl uživatel známý na tomto systému. Fungující příklady: Funguje, protože jsou definované time-period plus nebo job-limits nebo oba dva lpadmin danka_infotec_4850 job-quota-period=604800 job-k-limit=1024 Nastavuje omezení velikosti souboru na 1MB (celkem) pro každého uživatele existující tiskárny danka_infotec_4850 po dobu jednoho týdne. lpadmin danka_infotec_4105 job-quota-period=604800 job-page-limit=100 Toto nastavuje limit 100 stran (celkem) pro každého uživatele existující tiskárny danka_infotec_4105 po dobu jednoho týdne. lpadmin danka_infotec_P450 job-quota-period=604800 job-k-limit=1024 job-page-limit=100 Toto nastavuje kombinovaný limit 1MB (celkem) a 100 stran (celkem) pro každého uživatele existující tiskárny danka_infotec_P450 po dobu jednoho týdne. Bude použit první dosažený limit. Nefungující příklady Nefunguje, protože je definovaná pouze jeden time-period nebo job-limit. lpadmin danka_infotec_P320 job-quota-period=604800 lpadmin danka_infotec_FullColor job-page-limit=100 lpadmin danka_infotec_HiSpeed job-k-limit=1024 Související chybové zprávy V momentě, kdy uživatel dosáhne limit, dostane při pokusu o tisk zprávu client-error-not-possible. Instalace tiskárny <quote >raw</quote > Existují různé způsoby jak definovat raw tiskárnu. Jeden elegantní je použit příkaz lpadmin. Jednoduše nedefinujte soubor &PPD; použitý pro tiskárnu a stane se typem raw: lpadmin Raw_Danka_infotec lpd://10.160.16.137/PORT1 Tiskárny typu raw jsou ty, které nemění tisknutý soubor do jiného formátu souborů. To budete potřebovat například při tisku z klientů &Windows; pomocí Samba a serveru &CUPS; na tiskárnu PCL: v tom případě už tiskový ovladač &Windows; vygeneruje výsledný tiskový soubor pro cílovou tiskárnu a filtrování přes filtry &CUPS; by mohlo způsobit pouze problémy. V některých případech (pokud chcete zajistit, že soubor bude poslán na tiskárnu nezměněn systémem &CUPS;) se příkaz lpadmin bez &PPD; hodí. Řešení problémů &CUPS; v &kdeprint; Tato kapitola manuálu pro &kdeprint; bude naplněna reakcemi uživatelů. Toto je pouze malý začátek. Chybová hlášení Co znamená chyba client-error-bad-request? Uživatel poslal soubor do &CUPS; serveru a ten ho nedokázal zpracovat. Tuto chybu dostanete i v případě prázdného souboru. A client-error-not-possible? Uživatel buď nesmí tisknout na některé tiskárně nebo dosáhl kvóty (založenou na velikosti souboru nebo počtu stránek) Co znamená client-error-not-found? Uživatel se pokusil o přístup k neexistujícímu zdroji na serveru &CUPS;, například o tisk neexistujícího souboru nebo ke kterému nemá práva pro čtení. Otázky a odpovědi Proč nemůžu restartovat své úlohy? Aby jste mohli restartovat vaše dokončené úlohy pomocí webového rozhraní, potřebujete nastavit v souboru /etc/cups/cupsd.conf: set PreserveJobFiles True. Jak se zbavím dlouhého seznamu dokončených úloh pomocí webového rozhraní? TODO Jak funguje účtování? &CUPS; podporuje účtování tisku předáváním skoro každé úlohy do filtru pstops. Ten kromě jiných věcí počítá stránky. Výstup tohoto filtru je možné předat do jiných filtrů (například pstoraster --> rastertopcl) nebo poslat přímo na tiskárnu (pokud je to &PostScript; tiskárna). V každém případě toto funguje stejně pro síťové, paralelní, sériové nebo USB tiskárny. Aby pstops fungoval, potřebuje DSC, Document Structuring Convention kompatibilní s &PostScript; (nebo skoro stejnou) jako vstup. Takže počítá stránky po dobu filtrování na tiskovém serveru a zapisuje informace o každé stránce (kdy, kdo, ID úlohy, její jméno, tiskárna, počet kopií jednotlivých stran, velikost) do /var/log/cups/page_log. Mimochodem: na mém osobním seznamu přání je úprava webalizeru, aby dokázal číst a analyzovat page_log a poskytoval podobný výstup. Má někdo zájem? V těchto případech nedává správné výsledky: V tiskárně se zasekl papír a proto zahodila úlohu (reálná zkušenost nebo možná zrušení úlohy kvůli chybě formátu dat) Úlohy vytisknuté jako raw jsou vždy počítané jako 1 stránka (a možná i ve vícerých kopiích). Proto je účtování v &CUPS; pouze přibližné (často přesné nebo skoro přesné, jindy nepoužitelné). Jediný spolehlivý způsob účtování je interní počítadlo v tiskárně. (Protože podle něho budete platit). Některé tiskárny, ale ne většina, dokáže tuto informaci dodat vzdáleně pomocí SNMP (Simple Network Management Protocol). To vše znamená, že ve velké síti není možné úplně spolehlivě a přesně počítat stránky! Proč účtování stránek nefunguje s klienty &Windows;? Z klientů &Windows; se skoro vždy úlohy posílají jako raw. Proč? Pokud &CUPS; funguje jako tiskový server pro klienty &Windows; pomocí původních ovladačů &Windows; pro cílovou tiskárnu, určitě to zaručí správné formátování úloh na klientovi a proto by server neměl nic měnit a tisknout jako raw. Proto se nespustí žádné filtrování (a to není možné pokud vstup od klientů není &PostScript;, což pstops očekává). Proto se vždy spočítá standardní počet stran: 1. Jak získám seznam dostupných možností pro danou tiskárnu nebo soubor &PPD;? Přečtěte si manuálové stránky pro lpoptions. Můžete se snažit získat informace o dostupných tiskárnách z počítače podporujícího &CUPS;. Nemusí být nainstalované lokálně. Pokud je tiskárna dostupná lokálně (pomocí funkce &CUPS; prohlížení tiskárny), bude fungovat i vzdáleně. Získání možností tiskáren příkazem lpoptions HitachiDDP70MicroPress zobrazí dlouhý seznam dostupných možností, které jsou načteny ze souboru &PPD; pro danou tiskárnu Hitachi-Printer (v mém případě nainstalovaná na vzdáleném serveru transmeta). Aby to vše fungovalo, musí běžet vzdálený server Transmeta a jeho démon &CUPS; spolu s lokálním démonem &CUPS;. Jak mám číst seznam získaný příkazem lpoptions? Výrobci &PostScript; tiskáren mohou legálně definovat svoje vlastní interní jména a procedury i pro standardní možnosti &PostScript;u. Dokud je ovladač schopen získat možnosti z &PPD; a zobrazit je uživatelovi tak, aby je pochopil, je všechno v pořádku. Ale co budete dělat, pokud chcete použít nějakou divnou možnost tiskárny z příkazového řádku? Jak najdete jeho přesnou syntaxi? Uveďme si příklad: Podívejme se na tiskárnu Hitachi DDP70 a jak implementuje oboustranný tisk. Jak se máme říci, že se má tisknout oboustranně? duplex nebo Duplex? Nebo úplně jiné jméno? lpoptions transmeta Hitachi_DDP70_ClusterPrintingSystem | grep uplex To vygeneruje jako výstup TR-Duplex/Duplex: False *True To je interpretované jako: Jméno zkoumané možnosti je . Za lomítkem je překlad možnosti jako by byla zobrazená v &GUI; nebo ve webovém rozhraní (Duplex). Volba může mít jednu z hodnot False nebo True. Aktuální nastavení je True, protože je označené hvězdičkou *. Pro předefinování výchozího nastavení (duplex) a pouze projednostranný tisk musíte použít tento příkaz: lpr Hitachi_DDP70_ClusterPrintingSystem TR-Duplex=False /cesta/k/uloze Jak získám zformátovaný seznam dostupných možností pro danou tiskárnu nebo &PPD;? Použijte příkaz lphelp, který by měl být lokálně nainstalovaný na vašem systému. Zatím pro tento příkaz neexistuje manuálová stránka. lphelp infotecP450 Toto vypíše dostupné možnosti pro danou tiskárnu. Jsou pěkně zformátované a vysvětlují každou dostupnou volbu a jak ji použít. Můžete se ptát naráz na různé tiskárny: lphelp infotec7410color DANKA_fullcolor_D2000 HP_ColorLaserJet8550 Funguje to i pro &PPD; soubory. Jednoduše zadejte cestu k &PPD;: lphelp /home/kurt/PPDs/HP-ColorLaserJet8550.ppd Řešení problémů Žádný systém není perfektní. Zde jsou některá často zjišťovaná omezení, na která narážejí uživatelé. Moje tiskárna 3-lp-duplex se chová divně. V čem je chyba? Jména tiskáren v &CUPS; by měli začínat písmenem a mohou obsahovat až 128 písmen, číslic nebo podtržítek. Použití - může způsobit problémy. Ještě ke jménům: ve jménech tiskáren &CUPS; nerozlišuje velikost písmen. Takže tiskárna Best_of_Danka je stejná jako best_of_danka nebo BEST_OF_DANKA. (To je požadavek &IPP;, který &CUPS; úplně podporuje). Proč vždy dostanu chybu Unable to connect to SAMBA host: Success s mojí tiskárnou z &Windows; s přístupem pomocí protokolu Samba? Máte všechny práva na vzdáleném počítači &Windows; nastavené správně? Máte právo tisknout na sdílené &Windows; tiskárně? Moje soubory pro tiskárnu lp někdy divně zmizí a o dva dni později mi řekli, že se na cizí tiskárně objevili moje úlohy. Co se děje? Věřte mi, je velmi nepravděpodobné, že se vaše tiskárna jmenuje pouze lp. Možná s vámi &CUPS; hraje nečistou hru. Možná jste zapnuli nastavení ImplicitClasses On a &CUPS; se snaží natlačit všechny tiskárny, které najde v síti do třídy nazvané lp. Všechny úlohy pro lp se pošlou na tuto třídu a první dostupná tiskárna je vytiskne. Takže pokud máte známého (který pozorně poslouchal když jste mluvili o &CUPS; a &kdeprint;) a hrabal se v systému...je to jasné? Rada: vyberte unikátní jméno pro síťovou tiskárnu! (Uvědomte si, že pokud si nedáte pozor, může se jeden z vašich paralelních portů stát tiskárnou pro celý svět).