OS Linux - 7. část: Tiskárny a tisk v Linuxu, distibuce RedHat 5.0 Hurricane
Z Linuxu na papír
Na další stranuNávrat na titulní stranuVyhledávání informacíNa další stranu

Poslední fází práce s počítačem bývá tisk výsledků na papír. V dnešním článku se proto budeme zabývat připojením tiskáren a správou tisku pod Linuxem. Ve druhé části článku se seznámíme s novou verzí distribuce Linuxu od firmy RedHat.

Tiskárna, porty a spol.

Jako všechna periferní zařízení jsou i paralelní a sériové porty, k nimž se většinou tiskárny připojují, zpřístupněny uživateli pomocí speciálních souborů v adresáři /dev: paralelní porty jako /dev/lp0, /dev/lp1 atd., sériové jako s/dev/stty0, /dev/stty1,... (nastavení jejich parametrů umožňuje program setserial). Na rozdíl od DOS se číslo zařízení zatím nepřiděluje dynamicky od nejmenšího, takže se může stát, že váš paralelní port bude označen jako lp1, i když lp0 neexistuje. To platí pro zatím poslední stabilní jádra 2.0, novější verze vývojových jader od 2.1.33 už dynamickou alokaci paralelních portů zahrnují. Máte-li paralelní port s nestandardním nastavením IRQ a adresy portu, musíte správné nastavení zapsat do konfigurace lila nebo loadlinu (např. lp=0x378,5).

Jakou tiskárnu můžete připojit k Linuxu? Všechny, které se dají připojit k DOS nebo Windows; s výjimkou tiskáren určených jen pro Windows, jejichž driver zajišťuje veškerou inteligenci a tiskárna dostává jen rastrový obrázek (označené GDI nebo Windows printing system printer). Jde o levnější typy laserových tiskáren a některé inkoustové tiskárny. Rozhodně je lepší pořídit si tiskárnu podporující některý z rozšířených standardů (Epson, IBM ProPrinter, PCL, PostScript).

Printtools
Konfigurace filtru pomocí nástroje printtools.

Spooling
Textový soubor se dá vytisknout jednoduše tak, že jej pošlete přímo na příslušné zařízení: $> cat textový_soubor.txt > /dev/lp1

Musíte ale být správcem (root), a také tím znemožňujete ostatním uživatelům či aplikacím tiskárnu používat.

Každý Unix však počítá se současnou prací několika uživatelů na jednom počítači, a proto je nutné zajistit, aby každý z nich mohl využívat všechny dostupné periferie, v našem případě tiskárnu.

Jedním ze způsobů jak toho dosáhnout je tzv. spooling. Všechny požadavky na tisk se řadí do tiskové fronty a z té se pak postupně tisknou podle přiřazených priorit, obvykle v pořadí, ve kterém přišly. Každý uživatel má právo vkládat úlohy do tiskové fronty a manipulovat s nimi - chcete-li tisknout, nemusíte tedy znát heslo správce.

Obsluhu tiskové fronty zajišťuje démon lpd. Podle konfiguračního souboru /etc/printcap spravuje tiskové fronty všech tiskáren v tomto souboru definovaných. Tiskové úlohy se ukládají do zvláštních adresářů (např. /var/spool/lpd/jméno_tiskárny), z nichž je lpd potom postupně vybírá a posílá na tiskárnu. Pokud tiskárna není v době příchodu souboru do fronty připravena, lpd zajistí spuštění tisku, jakmile to je možné. Tiskový démon umí tisknout i na tiskárny připojené k jiným počítačům v síti.

Uživatelé mají k dispozici několik příkazů pro manipulaci s tiskovými frontami:

  • lpr - Pomocí lpr se posílají tiskové úlohy do tiskové fronty. Příkaz lpr jméno_souboru pošle soubor na implicitně nastavenou tiskárnu.
  • lpq - Vypisuje úlohy, které jsou právě v tiskové frontě. Když si nepamatujete číslo tiskové úlohy nutné pro další příkazy, z výpisu lpq je zjistíte.
  • lprm - Maže tiskovou úlohu z fronty.
  • lpc - Lpd system control. Provádí náročnější manipulace s tiskovou frontou, jako je například změna pořadí úloh.

Printtools
Seznam tiskových front v printoolu.

Tiskneme text
Abychom mohli k úplné spokojenosti tisknout libovolný textový soubor, zbývá vyřešit dva problémy. Prvním je takzvaný efekt schodů: Unixové textové řádky většinou končí znakem LF, některé tiskárny ovšem očekávají sekvenci CR LF. V případě, že nedostanou znak CR, pouze přejdou na další řádek a tisk nového řádku začíná pod koncem řádku předchozího. Efekt schodů se dá odstranit filtrací - všechny znaky LF se ještě před tiskem nahradí sekvencí CR LF. Díky lpd lze filtraci automatizovat, definuje se tzv. vstupní filtr, kterým projde každý soubor před tiskem.

Druhým problémem je tisk češtiny. Pokud tiskárna "umí česky", musí se jen programem cstocs zajistit, že dostane český soubor ve správném kódování. Když česky neumí, ale dokáže si zapamatovat uživatelem zadané znaky (download), musí se při inicializaci tiskárny (nebo pro jistotu před každým tiskem) definice českých znaků poslat na tiskárnu.

Jenom text?
S vhodnými filtry se dá vytisknout prakticky vše. Tedy pokud filtr existuje a tiskárna to umí (elektronický psací stroj bude těžko tisknout grafiku, že?). Asi tušíte, že je nesmysl definovat několik tiskových front jen proto, že pro každý typ souboru je nutný jiný vstupní filtr. Řešením jsou takzvané magické filtry, programy, které podle analýzy vstupního souboru dokážou rozhodnout, jaký filtr použít. Příkladem takového filtru je printtool z distribuce RedHat, který vlastně není filtrem, ale uživatelským rozhraním pro X Window. S jeho pomocí se nastaví parametry skutečného filtru, vytvoří nová tisková fronta a díky testovacímu výtisku je možné parametry jen odhadnout a později případně doladit metodou pokusu a omylu.

PostScript
Většina programů pro unixové systémy umí tisknout PostScript. Odpadá tím nutnost vytvářet ovladače různých tiskáren pro každý program zvlášť. Ale postscriptová tiskárna stojí dost peněz. Naštěstí dnes už výkon procesorů umožňuje interpretovat PostScript v počítači a posílat na tiskárnu přímo výsledný rastrový obrázek. K tomu slouží program GhostScript(gs) - sice komerční produkt, nicméně jeho starší verze jsou zdarma. Podporuje většinu běžných tiskáren a je schopen interpretovat PostScript Level 1 a 2 a PDF (to poslední berte zatím trochu s rezervou). Příkazem gs -help zjistíte, zda je vaše tiskárna programem gs podporována.

/etc/printcap
A jsme u souboru printcap. Takto může vypadat jedna položka definující tiskovou frontu:

lp:\
: sd=/var/spool/lpd/lp:\
: mx#0:\
: sh:\
: lp=/dev/lp1:\
: if=/var/spool/lpd/lp/filter:

Popis programu najdete v manuálech, takže jen stručně vysvětlím to nejdůležitější. První řádek definuje jméno tiskové fronty (lp). Další řádky obsahují hodnoty parametrů fronty lp. sd je adresář, kam se ukládají tiskové úlohy (spool directory). mx definuje maximální možnou délku tištěného souboru, hodnota 0 znamená, že délka není omezena. lp označuje zařízení, na které se pošle výstup z filtru definovaného pomocí parametru if. Všimněte si, že řádky, až na tu poslední, končí obráceným lomítkem. V souboru printcap můžete definovat i vzdálené tiskárny, a to parametrem rp=adresa_počítače_s_tiskárnou. Tisk na libovolnou tiskárnu v síti je možný i bez jejího přidávání do /etc/printcap. Slouží k tomu příkaz rlpr.

printtol
Nastavení parametrů tiskové fronty.
OffiX-Printer
GUI ovládání tiskoých front (OffiX-Printer)

V současné době je Linux schopen komunikovat s většinou operačních systémů pomocí běžných síťových protokolů (TCP/IP, SMB, NetWare, AppleTalk), takže se dá tisknout i na tiskárnách připojených k počítačům s jiným OS. Ale o tom až někdy příště.

Lukáš Mikšíček

RedHat Hurikán v červeném klobouku
Koncem minulého roku představila americká firma RedHat Software, tvůrce stejnojmenné distribuce, novou verzi (5.0) svého Linuxu. Velmi kulaté číslo verze dává tušit, že jde o něco opravdu mimořádného. V čem? Není toho málo, pojďme se na to podívat.

Každá třída uživatelů si opravdu přijde na své. Administrátoři systému naleznou v mnoha ohledech vylepšenou instalační proceduru, ale i správcovské nástroje. Vývojáři si jistě smlsnou na nejnovější systémové knihovně GNU libc verse 6. A "obyčejní" uživatelé? Ti se mohou těšit ze široké škály nových aplikací, které se staly součástí této distribuce.

Instalační program se svou funkčností velmi přiblížil instalacím komerčních operačních systémů. Už po spuštění zaváděcího programu z diskety vás uvítá velmi upovídaná obrazovka, která nezkušeným uživatelům přijde velmi vhod. Dalším vylepšením je sofistikovaný program pro rozdělení disku DiskDruid, který nahrazuje známý a velmi nepříjemný fdisk a vítězí nad ním zejména svou snadnou ovladatelností. Pro skalní příznivce fdisku je možnost jeho použití zachována. Samotnou instalaci lze provádět z mnoha různých zdrojů. Můžete mít celou distribuci předem na lokálním disku, ale také instalovat z CD. Kromě toho můžete číst data i na dálku, pomocí NFS či dokonce FTP z veřejného serveru na internetu. A abyste nemuseli všechnu konfiguraci provádět ručně, má nový instalační program schopnost rozpoznávat komponenty počítače, jako je typ myši či grafické karty, a podle výsledku dokáže sám předkonfigurovat X Window System. Pokud jste správcem rozsáhlejší sítě, bude se vám jistě hodit režim Kickstart, s jehož pomocí lze jednou definovaný proces instalace automaticky opakovat na libovolném počtu dalších stanic.

Pověst Linuxu jako operačního systému pro hackery a maniaky přestává být s RedHatem aktuální také díky rozšířené škále nástrojů pro administrátory. V grafickém prostředí mohou správci vytvářet uživatelské účty či skupiny, přičemž lze vytvořit šablony konfigurací takto nově vytvořených účtů. Směrem k univerzálnosti se velmi posunul konfigurační program pro připojování lokální či síťové tiskárny. Protože se v unixových systémech předpokládá, že tiskárna umí PostScript, je k dispozici jeho interpret, který generuje kód pro běžné tiskárny. U síťových tiskáren lze přistupovat k tiskárnám připojeným k unixovým stanicím protokolem BSD lpd, ale i k tiskárnám připojeným k počítači s Windows 3.x/95/NT.

Kromě toho lze jednoduše konfigurovat, které serverové služby v systému poběží. Není třeba připomínat, že RedHat, podobně jako jiné velké distribuce, nabízí širokou škálu služeb. Poštovní server sendmail včetně POP3 a IMAP, DNS, NIS, server pro diskusní skupiny, anonymní ftp server, Web server. Systém umožňuje také mohutné nasazení jako server pro desítky a stovky zákaznických virtuálních serverů (tzv. virtual hosting). RedHat může nabízet i souborové služby několika typů, ať je to NFS pro unixové systémy, SMB pro Windows 3.1/95/NT či NetWare pro sítě Novell. Na jednom serveru tak můžete soustředit data sdílená ve velmi heterogenním prostředí.

Z uživatelského hlediska je nová distribuce opět o něco dál. K dispozici je několik typů okenních systémů. Vedle už klasického fvwm95 je možné ocitnout se ve světě okének a la NextStep či Motif. Velmi zajímavé je zařazení poměrně propracovaného databázového systému typu klient/server PostgreSQL, vyvíjeného od poloviny osmdesátých let na University of California. Aplikační rozhraní pro přístup k databázovému serveru lze používat v mnoha vývojových prostředích. Kromě C/C++ je to Tcl/Tk na plaformách DEC Alpha/OSF1, MIPS/Ultrix, Intel/Linux a SPARC/Solaris.

Součástí RedHat 5.0 je i fenomenální program GIMP. Tento "Photoshop pro chudé" si během krátké doby svého vývoje podmanil spoustu uživatelů, ale také nadšených vývojářů dalších filtrů a plug--in moduly. Díky tomu se funkčnost tohoto výtečného nástroje pro tvorbu grafiky a jednoduchých animací stále rozšiřuje. Jeho jedinečnou vlastností je možnost tvorby maker pro automatizaci určitých po sobě jdoucích operací, jimiž si každý může snadno vytvořit zcela nové grafické efekty.

I k programátorům se tento hurikán ve světě free softwaru chová štědře. Kromě kompletního vývojového prostředí v C / objective-C / C++ je možné programovat v Javě, Tcl/Tk, Pythonu, Perlu či Scheme. Navíc celá distribuce plně využívá nových vlastností knihovny GNU libc verze 6. Ta přináší lepší podporu pro internacionalizaci, tj. psaní programů ve více jazykových mutacích, a také technologii threadů. Díky ní je tedy možné bez nutnosti rekompilace spouštět program pro každého jednotlivého uživatele v jiné jazykové verzi. O volbu příslušného jazyka se postará systém Locales, o němž jsme psali minule.

A kolik toto bohatství stojí? Inu, vůbec nic. Zatímco v jiných případech byste za systém s touto funkčností zaplatili desetitisíce, zde vystačíte jen s cenou za datové nosiče. Pokud hodláte sáhnout hlouběji do kapsy, lze za necelých 50 USD zakoupit tzv. Official RedHat, což je standardní RedHat rozšířený o několik komerčních programů. Kromě akcelerovaného X-Serveru od Metro-X a zálohovacího programu BRU2000 je to RealMedia klient a server pro obsluhu toků zvukových a videodat na internetu. Velmi levné řešení pro intra/internet se tedy jmenuje... víte jak.

Odkazy na Webu:
http://www.redhat.com/ Domovská stránka RedHat Software, Icn.
http://www.redhat.com/support/docs/rhl/manual Uživatelské manuály k RedHat.
http.//www.freesoft.cz/ Česká nadace free softwaru.
Česká zrcadla Distribuce RedHat 5.0: .
ftp://ftp.muni.cz/pub/linux/distributions/redhat/redhat-5.0/ (Brno)
ftp://sunsite.mff.cuni.cz/OS/Linux/Distributions/Redhat/redhat-5.0/ (Praha)

Martin Brachtl


Na další stranuNávrat na titulní stranuVyhledávání informacíNa další stranu
Copyright Vogel Publishing s.r.o. 1998
reprinted and translated with
the author's permission

Únor 1998 str.134