Portál AbcLinuxu, 29. dubna 2024 02:58

FreeBSD v malej firme - 5 (tlačové služby)

29. 11. 2005 | Michal Kyseľ
Články - FreeBSD v malej firme - 5 (tlačové služby)  

Instalace a konfigurace CUPS, přidání tiskáren, kompatibilita s LPD.

V tomto dieli sa naučíme nastavovať tlačiareň. Pre FreeBSD je ako výchozí tlačový systém použitý klasický LPD. Má však niekoľko zásadných nevýhod, ktoré spôsobujú jeho problematické nasadenie v prevádzke. Je trochu ťažkopádne konfigurovatelný. Nie je príliš vhodný tam, kde treba tlačiť rôzny užívateľom určený typ tlačových úloh (tlač textu vs tlač postscriptovej grafiky), na každý typ úlohy je totiž treba tlačiarni priradiť v konfiguračnom súbore zodpovedajúci filter a ťažko toto môžem žiadať od bežného užívateľa. Je trochu komplikované ho integrovať do sieťových tlačových služieb. Preto sa v súčasnosti ako jeho nástupca začína presadzovať CUPS (Common Unix Printing System). Je elegantne spravovateľný cez webové rozhranie a konfiguračné súbory aj z KDE a má vynikajúcu sieťovú podporu. Ukážeme si, ako spojazdniť tlačiareň od najrozšírenejšieho výrobcu Hewlett-Packard pod CUPSom.

Inštalácia CUPS a ostatných potrebných modulov

CUPS nainštalujeme príkazom

pkg_add -r cups

prípadne ho môžeme nainštalovať z portu príkazmi (samozrejme pod rootom)

cd /usr/ports/print/cups
make install clean

Pozn. autora - Pozor! CUPS sa v systéme nastaví ako výchozí tlačový subsystém a prepíše existujúci lokálny tlačový systém! Na danú vec upozorňuje aj administrátorská príručka CUPSu.

To by malo pri fungujúcej sieti zabezpečiť stiahnutie zdrojákov na CUPS, ich skompilovanie, inštaláciu a vyčistenie systému od pomocných súborov po kompilácii. Proces kompilácie je spravidla bez akýchkoľvek problémov, tu by som sa však ešte zmienil o tom, že je dobré do /etc/make.conf pridať riadky, ktoré nastavia v kompilátore optimalizáciu pre použitý procesor, čím je možné na rozdiel od hotovej binárky z balíka skompilovať optimálnu verziu pre daný procesor.

Príklad nastavenia optimalizácie pre Pentium 4:

CPUTYPE=p4
CFLAGS= -O -pipe
COPTFLAGS= -O -pipe

Prvý riadok hovorí o použitom procesore, druhý a tretí o zapnutí 1. stupňa optimalizácie a ukladaní medzivýsledkov kompilácie do RAM cezrúru, nie priamo na disk, čo zvýši rýchlosť samotnej kompilácie. Uvedené voľby je dobré mať nastavené aj preto, že sa použijú nielen pre skompilovanie optimalizovaných aplikácií, ale aj pri aktualizácii systému zo zdrojového kódu.

Ďalej budeme potrebovať sadu tlačových filtrov foomatic. Sú to skripty, ktoré pri požiadavke na tlač konvertujú PostScript dáta na binárny formát zodpovedajúci danej tlačiarni, nezávisle na použitom tlačovom subsystéme. Sadu filtrov foomatic nainštalujeme cez pkg_add do systému príkazom

pkg_add -r foomatic

ktorý do systému pritiahne túto trojicu balíkov:

foomatic-db
foomatic-engine
foomatic-filters

Pozn. autora - V súčasnosti je k dispozícii aj štvrtý balík foomatic-hpijs, ktorý v čase, keď som inštaloval našu tlačiareň, ešte nebol a ani môj setup ho nevyužíva.

Nakoniec je potrebné nainštalovať balík hpijs (Hewlett-Packard InkJets). Jedná sa o balík ovládačov pre atramentové tlačiarne HP (a aj pre niektoré laserové). Firma HP ako jedna z mála uvoľnila špecifikácie dátových formátov svojich tlačiarní, a preto sú tlačiarne HP výborne podporované v Unixe. Pre laserové tlačiarne je, ak nenájdeme zodpovedajúci ovládač v balíku hpijs, vhodné použiť balík hpoj (Hewlett-Packard OfficeJet) zameraný viac na laserové tlačiarne. Tu by som ešte uviedol, že celkom solídne sú podporované aj tlačiarne Canon BJC série a tlačiarne Epson Stylus. Podobné sady ovládačov sú totiž k dispozícii aj pre ne. V prípade, že nenájdeme ovládač pre tú svoju tlačiareň, ešte nie je nič stratené, môžeme použiť niektorý obecný ovládač v CUPSe alebo vyskúšať ovládač podobného modelu. Napríklad ovládač pre HP DeskJet 1120C bude určite chodiť bez väčších problémov aj s pripojenou HP DeskJet 1125C... Niektoré ovládače sú zase dostupné ako komerčné a dajú sa zakúpiť.

Na záver bychom mali nainštalovať službu cups-lpd:

pkg_add -r cups-lpd

Táto služba nám zabezpečí, že staršie unixové programy, ktoré "nepoznajú" CUPS a posielajú svoj tlačový výstup na lpd, budú vedieť bez problémov tlačiť, a to aj cez sieť. CUPS bude emulovať starý systém lpd, samozrejme pri plnom zachovaní svojich výhod jednoduchej administrácie a bezproblémovej sieťovej konektivity.

Prvý štart CUPS - overenie činnosti

Skontrolujeme si bežiace procesy v systéme

ps -aux | grep cupsd

Mala by sa nám objaviť hláška o cupsd, napríklad takáto:

root   476  0,0  0,3  8256  6716 ??  Is  7:02 0:01,87 /usr/local/sbin/cupsd

ktorá hovorí o tom, že démon cupsd je spustený s právami užívateľa root.

Do ľubovoľného webového browsera (stačí aj Konqueror z KDE) zadáme http://localhost:631 a mala by sa nám objaviť obrazovka webového rozhrania CUPS. Je tam možné pridávať, mazať a spravovať tlačiarne. Rozhranie obsahuje aj kompletnú dokumentáciu ku CUPS. Navyše je rozhranie dosť intuitívne, takže predpokladám, že so správou tlačiarní nebude nijaký problém.

Ak máme v systéme bežiaci proces a rozbehne sa aj webové rozhranie, máme v podstate vyhraté, CUPS nám beží!

Pridávame do systému tlačiareň

Pristúpme teraz k inštalácii ovládača tlačiarne. Najjednoduchšie sa to robí cez wizard v KDE, ktorý nájdeme v Ovládacom centre v sekcii Periférie - Tlačiarne. Zvolíme režim administrátora a po zadaní mena a hesla roota prepneme momentálne používaný tlačový systém na CUPS. Potom cez položku Pridať tlačiareň/triedu spustíme wizard so sériou otázok. Bude sa pýtať na typ rozhrania (sériová, paralelná, USB, sieťová...), na meno, umiestnenie a ďalšie potrebné údaje. Bez námahy si takto možno dosť podrobne naklikať celú konfiguráciu tlačiarne.

Akonáhle sa wizard bude pýtať na ppd súbor definície tlačiarne, nepoužijeme defaultne ponúkané ovládače CUPSu, ale musíme systému vnútiť ovládač z hpijs, teda zadať zvolenie cesty k súboru ručne a určiť cestu k danému ovládaču.  U mňa je to

/usr/ports/print/hpijs/work/hpijs-1.7.1/ ppd/HP-DeskJet_1125C-hpijs.ppd

Pozn. autora - súčasťou wizardu je aj nastavenie spôsobu riešenia oprávnení užívateľov k používaniu tlačiarne. Sú možné dva spôsoby - alebo akceptovať všetkých a tlač zakázať užívateľom uvedeným v zozname, alebo zakázať tlač všetkým a povoliť ju vymenovaným užívateľom. Toto nechám na zváženie každému správcovi. Ak sa jedná o tlačiareň, ktorá je spoločná a využíva ju v rozumnej miere každý, asi nebude mať zmysel nejak striktne limitovať prístup na ňu... v istých prípadoch (napr. ak mám vo firme ľudí vyžívajúcich sa v tlačení kvanta najrôznejších fotiek z webu a podobných zbytočných srandičiek), to však asi bude nutné spraviť.

Ak sme wizard statočne vyplnili do konca, tlačiareň by mala byť pripravená k tlači. V menu tlačiarní nájdeme možnosť vytlačiť testovaciu stránku. Ešte jedna vec - dobré je si po úspešnom nainštalovaní tlačiarne aj prezrieť jej základné nastavenia (formát tlačového média, kvalitu tlače, použitý defaultný podávač atď...) a v prípade nesúladu s požadovaným stavom ich prestaviť, aby potom nedošlo k nepríjemným prekvapeniam pri tlači. Uvedený postup pridávania tlačiarní KDE wizardom je možné opakovať pre nastavenie ďalších tlačiarní.

Podpora lpd v CUPSe pre aplikácie nepodporujúce CUPS

Aby sme vedeli použiť aj staršie programy a programy z nejakej príčiny nekompatibilné s CUPSom, ktoré očakávajú obslúženie tlače cez lpd, musíme rozbehnúť aj službu cups-lpd. Táto služba nie je samostatným démonom, ale (logicky, keďže obsluhuje aj sieťovú tlač) používa sieťový démon inetd. Postup je opäť nekomplikovaný. V /etc/rc.conf musí byť

inetd_enable="YES"
lpd_enable="NO"

Do /etc/inetd.conf pridáme tento riadok:

printer   stream   tcp   nowait   root   /usr/local/libexec/cups/daemon/cups-lpd cups-lpd

a v /usr/bin/ vykonáme tieto kroky:

Po tomto kroku bude chodiť aj tlač zo starých aplikácií, prípadne z aplikácií priamo nepodporujúcich CUPS (typickým príkladom sú staršie verzie OpenOffice.org či QCAD), a to aj cez sieť.

To by bolo pre dnešok všetko, lúčim sa opäť tradične s pozdravom - Nech vám vaše systémy idú.

Seriál FreeBSD v malej firme (dílů: 7)

První díl: FreeBSD v malej firme - 1 (Ľahko a bez námahy), poslední díl: FreeBSD v malej firme - 7 (software - správa, aktualizácie).
Předchozí díl: FreeBSD v malej firme - 4 (KDE, lokalizácia)
Následující díl: FreeBSD v malej firme - 6 (terminálové služby)

Související články

FreeBSD v malej firme - 1 (Ľahko a bez námahy)
FreeBSD v malej firme - 2 (Inštalácia)
FreeBSD v malej firme - 3 (RAID a Xserver)
FreeBSD v malej firme - 4 (KDE, lokalizácia)
FreeBSD v malej firme - 6 (terminálové služby)
FreeBSD v malej firme - 7 (software - správa, aktualizácie)
NetBSD 2.1 - 1 (instalace)
NetBSD 2.1 - 2 (konfigurace)
PC-BSD - výzva Linuxu? (seznámení, instalace)
PC-BSD - výzva Linuxu? (konfigurace, používání)
Solartec - síť postavená na Linuxu
Případová studie: Linuxové terminály
Linux Terminal Server Project - I
Použití Linuxu na desktopu ve firemním prostředí
OpenBoot Prompt
Solaris 10 a zóny

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

Diskuse k tomuto článku

Daniel Kvasnička ml. avatar 29.11.2005 08:25 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
Rozbalit Rozbalit vše Re: FreeBSD v malej firme - 5 (tlačové služby)
Odpovědět | Sbalit | Link | Blokovat | Admin
No, neni trochu bezpredmetne zalozit clanek o firemnim tisku na takovem chudackovi? Neni dobra ani do domacnosti, kde se trochu vice tiskne text, natoz do male firmy. Ale otazka je, co se mysli tim mala firma :-)

Jak je na tom CUPS v *BSD s multifunkcnimi zarizenimi? Umi nejaka, co Linux neumi? (chystam se rodinku *BSD trochu vyzkouset ;-) ) Ze bude umet Canon, to radsi ani nedoufam, protoze ten ma pro ne tezce proprietarni protokol :-(
FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
29.11.2005 08:29 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: FreeBSD v malej firme - 5 (tlačové služby)
Jak je na tom CUPS v *BSD s multifunkcnimi zarizenimi?
Umí to, co umí foomatic a hpoj/hpijs. Neboli je dle mého názoru úplně jedno, na příkladu jaké tiskárny je to v článku popisováno.
Daniel Kvasnička ml. avatar 29.11.2005 08:45 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
Rozbalit Rozbalit vše Re: FreeBSD v malej firme - 5 (tlačové služby)
no, ja jen jestli neumi treba i neco navic. slysel jsem ze obcas v *BSD jede kus zeleza, co v Linuxu nejede a naopak.
FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
29.11.2005 10:01 Predator | skóre: 23 | blog: FreeBSD
Rozbalit Rozbalit vše Re: FreeBSD v malej firme - 5 (tlačové služby)
Jak je na tom CUPS v *BSD s multifunkcnimi zarizenimi? Umi nejaka, co Linux neumi? (chystam se rodinku *BSD trochu vyzkouset ;-) ) Ze bude umet Canon, to radsi ani nedoufam, protoze ten ma pro ne tezce proprietarni protokol :-(
K multifunkčným zariadeniam - to je presne rovnaké ako v Linuxe. Aj BSD má, rovnako ako Linux, skenerový balík SANE. A ten CUPS aj foomatic sú tiež také isté ako v Linuxe, takže prečo by to CUPS nemal vedieť?

K tlačiarňam Canon - ako som spomínal v článku, sú k dispozícii drivery pre Canon BJC radu v /usr/ports/print.
FreeBSD zvládne fakt každý .... ak ho bude chápať ako FreeBSD.
29.11.2005 13:40 Noname
Rozbalit Rozbalit vše Re: FreeBSD v malej firme - 5 (tlačové služby)
Podpora Linuxu je u Canonu mizerna, ale existuje. Napriklad na nasi iR3300 dodava tiskove drivery (SQue Linux Printer Driver for Canon). Ja je nepouzivam, protoze CUPS funguje take a snaze se v YaSTu konfiguruje. (Presneji: z originalniho baliku pouzivam jen PPD soubor). Scanner, fax, ... Canon na Linuxu nepodporuje. BSD ale Canon ignoruje uplne.
29.11.2005 16:21 johniez | skóre: 17 | blog: xyz | Praha
Rozbalit Rozbalit vše Re: FreeBSD v malej firme - 5 (tlačové služby)
Odpovědět | Sbalit | Link | Blokovat | Admin
Zajimavej nazev: tlačové služby : ) slysim prvne...
29.11.2005 19:11 hmm | skóre: 13 | blog: BSD bloček
Rozbalit Rozbalit vše Optimalizacni volby
Odpovědět | Sbalit | Link | Blokovat | Admin
Imho je zbytecny pouzivat pouze -O -pipe, protoze defaultne FreeBSD pouziva -O2 -pipe, to jsem pouzival dlouho, nez mi bylo doporucena volba -Os -pipe a zatim zadny problem.
BSD is for people who love Unix, Linux is for people who hate Windows...
30.11.2005 07:10 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Optimalizacni volby
defaultne FreeBSD pouziva -O2 -pipe
Môžeš to, prosím, nejako doložiť? Myslím si, že nemáš pravdu. FreeBSD používa to, čo napíšeš do /etc/make.conf, ale FreeBSD žiadny defaultný make.conf nemá.
30.11.2005 16:54 hmm | skóre: 13 | blog: BSD bloček
Rozbalit Rozbalit vše Re: Optimalizacni volby
tak v make.conf zakomentuj CFLAGS a COPTFLAGS a bude ti to kompilovat s -O2 -pipe, nevim jak u 4.x ale u 5.x a 6.x to tak je
BSD is for people who love Unix, Linux is for people who hate Windows...
30.11.2005 17:18 hmm | skóre: 13 | blog: BSD bloček
Rozbalit Rozbalit vše Re: Optimalizacni volby
samozrejme jsou podporovane obe volby (jak -O -pipe, tak -O2 -pipe), ale ja uz delsi dobu pouzivam -Os -pipe a pohoda ;)
BSD is for people who love Unix, Linux is for people who hate Windows...
30.11.2005 12:04 rascal
Rozbalit Rozbalit vše Re: FreeBSD v malej firme - 5 (tlačové služby)
Odpovědět | Sbalit | Link | Blokovat | Admin
parada, hned jdu vyzkouset :)
30.11.2005 12:23 Marek | skóre: 21
Rozbalit Rozbalit vše Re: FreeBSD v malej firme - 5 (tlačové služby)
Odpovědět | Sbalit | Link | Blokovat | Admin
Jen tak dál a houšť, výborný seriálek na téma *BSD, těším se na pokračování, nebo ještě lépe na další podobné počiny na téma BSD, přece jen angličtina někdy dělá problém, tedy aspoň mě, a takové průvodce vítám, byť jsou psány hodně zeširoka a rozvláčně, ale on by to potom nebyl článek, ale how-to. Ale i to bych velmi ocenil.
1.12.2005 00:52 jiri.b | skóre: 30 | blog: jirib
Rozbalit Rozbalit vše Re: FreeBSD v malej firme - 5 (tlačové služby)
hej chlapi!!!

me se to nechce porad louskat v EN, napiste neco o portsnap & portupgrade & p5-FreBSD-Index.

uz me nebavi delat 'make fetchindex' a uz parkrat me to dela zastaraly INDEX resp INDEX.db.

popr. bych uvital neco o ramdisku na *BSD, nebo polopaticky gmirror a jiny RAID.

jirib
1.12.2005 07:38 cronin | skóre: 49
Rozbalit Rozbalit vše Re: FreeBSD v malej firme - 5 (tlačové služby)
# portsnap fetch
# portsnap update
# portversion | grep <
... chvilka zamyslenia ...
# portupgrade -arR
1.12.2005 10:57 jiri.b | skóre: 30 | blog: jirib
Rozbalit Rozbalit vše Re: FreeBSD v malej firme - 5 (tlačové služby)
portversion -vl "<"

:)

jirib

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.