home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 August / Chip_2000-08_cd1.bin / obsahy / Chip_txt / TXT / 157-159.TXT < prev    next >
Encoding:
Text File  |  2000-06-29  |  13.4 KB  |  84 lines

  1. ZaΦφnßme s Linuxem (7)
  2. Z Linuxu na papφr 
  3. Jak u₧ nßzev napovφdß, dnes budeme mluvit o tisku. Kdy₧ vßÜ poΦφtaΦ dokß₧e tisknout z Windows, m∞l by to samoz°ejm∞ zvlßdat i z Linuxu, jen je nutnΘ najφt to sprßvnΘ nastavenφ. Pokud jste zvyklφ hledat ovladaΦe pro tiskßrny na strßnkßch jejich v²robc∙, uÜet°φm vßm nßmahu. V∞tÜina v²robc∙ tiskßren dodnes ₧ßdnΘ ovladaΦe pro Linux neposkytuje! To, ₧e se z Linuxu dß v∙bec tisknout, dokazuje, ₧e slovo hacker m∙₧e mφt i kladn² v²znam.
  4.  
  5. Zp∙sob∙, jak dostat n∞jak² dokument z Linuxu na papφr, je tolik, ₧e bychom jim mohli v∞novat celΘ jedno Φφslo Chipu. Soust°edφme se proto na nejΦast∞jÜφ p°φpad, na tiskßrnu p°ipojenou k poΦφtaΦi pomocφ paralelnφho portu. O ostatnφch zp∙sobech p°ipojenφ tiskßrny se zmφnφme krßtce v zßv∞ru Φlßnku.
  6. Nejd°φve p°ipomenu zßkladnφ pojmy kolem tisku. Ka₧dß tiskßrna je k poΦφtaΦi n∞jak p°ipojena. Lokßlnφ tiskßrny vyu₧φvajφ jeden z port∙ reprezentovan²ch specißlnφm souborem v adresß°i /dev. Paralelnφ porty se oznaΦujφ /dev/lp0, /dev/lp1 atd. MΘn∞ obvyklΘ je p°ipojenφ tiskßrny na sΘriovΘ porty (/dev/ttyS0, /dev/ttyS1...). Dnes u₧ jsou pom∞rn∞ b∞₧nΘ i USB tiskßrny. Tisknout p°φmo na dan² port nenφ ₧ßdoucφ, proto₧e tφm by se port stal nepou₧iteln² pro ostatnφ u₧ivatele. Proto byl zaveden systΘm tiskov²ch front. TiskovΘ ·lohy se uklßdajφ do specißlnφho adresß°e (/var/spool/lpr/<jmΘno tiskßrny>), odkud je tiskov² dΘmon lpd postupn∞ vybφrß a posφlß na tiskßrnu. Pro jednu tiskßrnu m∙₧eme vytvo°it i vφce tiskov²ch front s r∙znou konfiguracφ, tak₧e jedna fronta m∙₧e slou₧it pro tisk nßhled∙, druhß pro oboustrann² tisk a dalÜφ t°eba pro tisk ve vysokΘ kvalit∞. Konfiguraci jednotliv²ch tiskßren Φte lpd ze souboru /etc/printcap, pomocφ n∞ho₧ lze takΘ posφlat tiskovΘ ·lohy na sφ¥ovΘ tiskßrny.
  7. Z /etc/printcap takΘ m∙₧eme vyΦφst, jak² filtr se pro danou tiskovou frontu pou₧ije. Jde o specißlnφ program, kter² mß za ·kol upravit p°edlo₧enß data do podoby stravitelnΘ tiskßrnou. M∙₧e se jednat o jednoduchΘ programy pro ·pravu konc∙ °ßdk∙, p°evody k≤dovßnφ ΦeÜtiny, nebo m∙₧e jφt o slo₧itΘ generßtory sestav.
  8. Vzhledem k tomu, ₧e pot°ebujeme tisknout r∙znΘ typy soubor∙, pou₧φvajφ se v∞tÜinou "magickΘ" filtry, kterΘ volφ zp∙sob ·pravy p°ed tiskem na zßklad∞ anal²zy typu zpracovßvan²ch dat. Jeden takov² filtr je k dispozici i v distribuci Red Hat a ovlßdß se z X Window programem printtool.
  9. Kdo jeÜt∞ pamatuje tisk z prost°edφ DOS, si jist∞ vzpomene, ₧e ke ka₧dΘmu grafickΘmu programu musel b²t specißlnφ °adiΦ pro vÜechny tiskßrny, na kterΘ mohl program tisknout. Tento problΘm odstranily ve Windows ovladaΦe tiskßren, kterΘ vÜem program∙m poskytujφ jednotn² zp∙sob tisku grafickΘ informace.
  10. A jak °eÜφ tisk grafiky Linux? Nenφ zde systΘm ovladaΦ∙, se kter²mi by programy komunikovaly p°φmo. V naprostΘ v∞tÜin∞ p°φpad∙ se k v²stupu na tiskßrnu pou₧φvß jazyk PostScript. Tomu u₧ n∞kterΘ tiskßrny rozum∞jφ, ale bohu₧el ne vÜechny û jen ty hodn∞ drahΘ. Ty ostatnφ vyu₧ijφ systΘm GhostScript, co₧ je vlastn∞ interpreter jazyka PostScript (level 1 a 2) i formßtu PDF, kter² se pou₧ije jako tiskov² filtr. Jeho v²stupem jsou data urΦenß p°φmo pro konkrΘtnφ typ tiskßrny. K tomu, aby bylo mo₧nΘ v²stup z GhostScriptu na danΘ tiskßrn∞ tisknout, je pot°eba mφt pro tuto tiskßrnu specißlnφ ovladaΦ, kter² GhostScript p°i tisku pou₧ije. Pro v∞tÜinu tiskßren takov² ovladaΦ naÜt∞stφ existuje.
  11. Nynφ, kdy₧ teoreticky vφme, jak tisk v Linuxu funguje, zkusφme to i prakticky. Vzhledem k tomu, ₧e v∞tÜina linuxov²ch stroj∙ pou₧φvß i jin² operaΦnφ systΘm (co₧ je mimochodem velkΘ pl²tvßnφ mφstem ;-)), ov∞°te si kontrolnφm tiskem, ₧e vaÜe tiskßrna pracuje sprßvn∞, a potom nastartujte Linux. P°i startu systΘmu by se m∞lo objevit hlßÜenφ, ₧e startuje lpd dΘmon. Pak si zkuste, jestli Linux s tiskßrnou komunikuje sprßvn∞ na tΘ nejni₧Üφ ·rovni. PoÜlete krßtk² text p°φmo na odpovφdajφcφ port û nap°φklad $> cat text.txt > /dev/lp0.
  12. D°φv∞jÜφ verze jßdra n∞kdy "p°ehodily" po°adφ port∙ oproti DOS, tak₧e p°i p°φpadnΘm ne·sp∞chu rad∞ji jeÜt∞ zkuste i dalÜφ port.
  13. Kdy₧ se vßm poda°φ ·sp∞Ün∞ vytisknout zkuÜebnφ text, m∙₧ete zaΦφt konfigurovat tiskovΘ fronty. Vlastn∞ jde o to, °φct vaÜemu Linuxu, jakß tiskßrna je na kterΘm portu p°ipojena a jak s nφ mß zachßzet. Spustφte program Control Panel (V KDE volba Red Hat / System / Control Panel) a pomocφ tlaΦφtka Add p°idßte tiskßrnu. Jako p°ednastavenß je volba Local printer. Potom se objevφ okno s definicφ parametr∙ tiskßrny (v podstat∞ jde o parametry, kterΘ se potom zapφÜφ do souboru /etc/printcap). U prvnφ tiskßrny jsou parametry v∞tÜinou p°ednastaveny sprßvn∞ a je pot°eba jenom nakonfigurovat tiskov² filtr (tlaΦφtko Select). V nßsledujφcφm dialogu si vyberete sprßvn² typ tiskßrny. Pokud tam vaÜe tiskßrna nenφ, podφvejte se do jejφho manußlu, kterΘ znßmΘ tiskßrny umφ emulovat. Ty u₧ v seznamu v∞tÜinou jsou. Dßle je t°eba zvolit tiskovΘ rozliÜenφ a formßt papφru.
  14. V pravΘm dolnφm rohu naleznete n∞kolik zaÜkrtßvacφch polφΦek. Fix stair-stepping text? se starß o sprßvnou konverzi konc∙ °ßdk∙. N∞kterΘ tiskßrny toti₧ pot°ebujφ dostat na konci °ßdku kombinaci CR LF a ne jen LF, jak je v Linuxu zvykem. V takovΘm p°φpad∞ bude druh² °ßdek pokraΦovat pod koncem prvnφho û vzniknou schody.
  15. V p°φpad∞, ₧e vßm poslednφ strßnka tiskovΘ ·lohy v₧dy z∙stane v tiskßrn∞, zaÜkrtn∞te polφΦko Send EOF after job to eject page.
  16. Fast text printing zrychlφ tisk textu na tiskßrnßch, kterΘ neum∞jφ PostScript. Zabrßnφ toti₧ p°evodu textovΘho souboru do PostScriptu a jeho nßslednΘ interpretaci GhostScriptem. Takov² text by se toti₧ tiskl v grafickΘm, a tedy pomalΘm re₧imu.
  17. Konfigurace tiskovΘ fronty se ulo₧φ do souboru /etc/printcap. Zßznam m∙₧e vypadat nap°φklad takto:
  18.  
  19. lp:\
  20.         :sd=/var/spool/lpd/lp:\
  21.         :mx#0:\
  22.         :sh:\
  23.         :lp=/dev/lp1:\
  24.         :if=/var/spool/lpd/lp/filter:
  25.  
  26. Jde vlastn∞ o jeden °ßdek s hodnotami odd∞len²mi dvojteΦkou. Pro p°ehlednost byl rozd∞len na vφce °ßdk∙ a p°ed ka₧d² znak konce °ßdku se p°idal znak \, aby ho lpd ignoroval. Parametr lp je jmΘno tiskovΘ fronty, sd oznaΦuje adresß°, do kterΘho se budou uklßdat tiskovΘ ·lohy, lp definuje, kterΘ za°φzenφ se pou₧ije pro tisk, a parametr if urΦuje, kter² program bude filtrovat data p°ed odeslßnφm do tiskßrny. Pomocφ mx je mo₧nΘ omezit maximßlnφ dΘlku tisknut²ch soubor∙. Hodnota 0 znamenß, ₧e soubory mohou b²t libovoln∞ dlouhΘ.
  27. Na sprßvn∞ nastavenou tiskßrnu m∙₧eme poslat tiskovou ·lohu p°φkazem lpr, nap°φklad lpr ûP<jmΘno tiskßrny> <jmΘno souboru>
  28. Parametr -P lze vynechat, pak se soubor vytiskne na implicitnφ tiskßrn∞.
  29. P°i tisku velk²ch soubor∙ by mohlo hrozit, ₧e se jejich kopie nevejde do tiskovΘ fronty, proto je mo₧nΘ pomocφ p°epφnaΦe -s °φct, ₧e chcete, aby se ve front∞ vytvo°il jenom symbolick² odkaz na tisknut² soubor. Tiskov² p°φkaz budeme v∞tÜinou pou₧φvat z p°φkazovΘ °ßdky, ale mohou ho po nßs vy₧adovat b∞hem konfigurace tisku i n∞kterΘ aplikace.
  30. Stav tiskovΘ fronty m∙₧eme zkontrolovat p°φkazem lpq ûP<jmΘno tiskßrny>. N∞kdy se stane, ₧e pot°ebujeme z fronty n∞kter² ze soubor∙ odstranit. P°φkaz lpq nßm dodß Φφslo tiskovΘ ·lohy p°i°azenΘ danΘmu souboru, a to potom pou₧ijeme v p°ikazu lprm ûP<jmΘno tiskßrny> <Φφslo ·lohy> ke zruÜenφ tisku.
  31. Stejn∞ jako v ostatnφch operaΦnφch systΘmech to s tiskem ΦeÜtiny ani v Linuxu nenφ ·pln∞ bez problΘm∙. Op∞t rozliÜujeme tisk textu, nebo grafiky. V manußlu vaÜφ tiskßrny by m∞la b²t Φßst v∞novßna podporovan²m k≤dovßnφm ΦeÜtiny. Linux pou₧φvß znakovou sadu Latin 2 (ISO 8859-2). Pokud prßv∞ tuto znakovou sadu vaÜe tiskßrna podporuje, pak je tisk textu jednoduch². Prost∞ sprßvn∞ nastavφte znakovou sadu v tiskßrn∞ a je to. Tiskßrny s podporou jinΘho ΦeskΘho k≤dovßnφ m∙₧ete takΘ pou₧φt, ale je t°eba jim text upravit pomocφ p°φkazu cstocs il2 1250 <jmΘno souboru> | lpr ûP<jmΘno tiskßrny> 
  32. Ten nejprve p°evede text z Latin 2 do k≤dovΘ strßnky Windows 1250, a pak jej p°φmo poÜle do tiskovΘ fronty tiskßrny.
  33. V²Üe uveden² postup platφ pouze, kdy₧ se text p°φmo posφlß na tiskßrnu (Volba "Fast text printing" p°i nastavovßnφ tiskßrny). V²stup textu na tiskßrnu ale nemusφ probφhat takto jednoduÜe. Druhou mo₧nostφ je p°evod textu do PostScriptu a jeho tisk na postscriptovΘ tiskßrn∞, nebo interpretace GhostScriptem. ProΦ tisknout tak komplikovan∞? 
  34. PostScript je grafick² jazyk, tak₧e je mo₧nΘ lΘpe definovat tvar v²stupu, volit font, kter² vaÜe tiskßrna neumφ a podobn∞. A prßv∞ fonty nßs dnes zajφmajφ. Text do PostScriptu p°evßdφ program a2ps s integrovan²m p°φkazem ogonkify, zodpov∞dn²m za sprßvn² v²stup znak∙ s akcenty v k≤dovßnφ latin 2.
  35. Ogonkify se nßm bude hodit i samostatn∞, nap°φklad pro ·pravu PostScriptov²ch soubor∙ vytvo°en²ch Netscapem. P°φkaz ogonkify -AT -N netscape.ps | lpr vytiskne upraven² PostScript p°φmo na tiskßrnu. P°epφnaΦe -AT se postarajφ o nata₧enφ sprßvn²ch font∙ do tiskßrny a z -N se ogonkify dovφ, ₧e zpracovßvß v²stup z programu Netscape. 
  36. DalÜφ mo₧nostφ, jak vytisknout Φeskou strßnku z Netscapu, je skript, kter² naleznete na adrese http://www.cestina.cz/cestina/pocestovani/unix/WWW/filtr.gz.
  37. Krom∞ tiskßren p°ipojen²ch p°φmo k lokßlnφmu poΦφtaΦi dovoluje Linux sdφlet sφ¥ovΘ tiskßrny. 
  38. Nejp°irozen∞jÜφ je vyu₧φt lpd na vzdßlenΘm stroji. Pomocφ nßstroje printtool se nastavφ jmΘno poΦφtaΦe s tiskßrnou a jmΘno tiskßrny. Pak staΦφ mφt povolen p°φstup k tomuto poΦφtaΦi (soubor /etc/hosts.lpd na vzdßlenΘm poΦφtaΦi) a je mo₧nΘ tisknout. V p°φpad∞, ₧e je sφ¥ovß tiskßrna nedostupnß, z∙stßvajφ tiskovΘ ·lohy stßle v lokßlnφ tiskovΘ front∞ a vytisknou se pozd∞ji.
  39. Sdφlenφ tiskßren s Windows je mo₧nΘ pomocφ protokolu SMB. Jeho implementace pro Linux se jmenuje Samba. Musφte mφt nainstalovan² program smbclient. Pomocφ skriptu smbprint, kter² pou₧ijete jako vstupnφ tiskov² filtr, m∙₧ete posφlat tiskovΘ ·lohy vzdßlenΘ tiskßrn∞ p°ipojenΘ k Windows. Odpovφdajφcφ sekce v souboru /etc/printcap by pro takovou konfiguraci mohla vypadat nap°φklad takto:
  40.  
  41. samba:\
  42.     :lp=/dev/null:sh:\
  43.     :sd=/var/spool/lpd/lp:\
  44.     :if=/usr/local/sbin/smbprint:
  45.  
  46. VÜimn∞te si, ₧e jako tiskßrna je pou₧ito za°φzenφ /dev/null. VeÜkerou komunikaci se vzdßlenou tiskßrnou zde toti₧ obstarßvß program smbprint. Konfiguraci SMB tiskßrny m∙₧ete pohodln∞ji za°φdit takΘ z printtoolu.
  47. Podobn² postup se pou₧φvß pro tisk na tiskßrnßch p°ipojen²ch pomocφ systΘmu NetWare. V tomto p°φpad∞ pou₧ijete balφk ncpfs.
  48. Poslednφ variantou sφ¥ovΘho tisku, o kterΘ se zmφnφme, jsou tiskßrny p°φmo p°ipojenΘ k sφti vlastnφm sφ¥ov²m rozhranφm. V∞tÜinou se takovΘto tiskßrny tvß°φ, jako by na nich b∞₧el lpd, tak₧e se jejich konfigurace podobß konfiguraci pro tisk na vzdßlenΘ unixovΘ tiskßrn∞. Nap°φklad HP tiskßrny se systΘmem JetDirect majφ dv∞ tiskovΘ fronty pojmenovanΘ raw a text. Do fronty text se posφlajφ texty, do raw sm∞°uje vÜe ostatnφ. V /etc/princap by zßznam pro takovou tiskßrnu mohl vypadat nap°φklad takto:
  49.  
  50. hplj:\
  51.         :lp=/dev/null:sh:\
  52.         :sd=/var/spool/lpd/hplj:\
  53.         :rm=sφ¥ovß.adresa.tiskrßny\
  54.         :rp=raw:
  55.  
  56. rm oznaΦuje adresu vzdßlenΘ tiskßrny a rp jmΘno p°φsluÜnΘ fronty na tΘto tiskßrn∞.
  57. Tiskßrny systΘmu JetDirect m∙₧eme takΘ konfigurovat p°es webovΘ rozhranφ prost°ednictvφm programu Web JetAdmin, kter² je k dispozici i ve verzi pro Linux. 
  58. Na zßv∞r se jeÜt∞ zmφnφme o n∞kter²ch neobvykl²ch typech tiskßren. ZaΦneme mo₧nostφ p°ipojit tiskßrnu pomocφ USB portu. ZejmΘna pro tiskßrny bez podpory PostScriptu je tato mo₧nost lßkavß, proto₧e v∞tÜφ propustnost USB v porovnßnφ s paralelnφm portem znamenß zkrßcenφ doby tisku. To, jestli je prßv∞ ta vaÜe tiskßrna u₧ podporovanß, zjistφte na adrese www.linux-usb.org/devices.html.
  59. Druhou skupinou tiskßren jsou GDI (Windows printing system, nebo takΘ PPA) tiskßrny, kterΘ za cenu zjednoduÜenφ elektroniky a tφm snφ₧enφ ceny nechßvajφ v∞tÜinu prßce s formßtovßnφm strßnky na operaΦnφm systΘmu. V∞tÜina z nich nenφ v Linuxu podporovanß. Mezi takovΘ tiskßrny pat°φ nap°φklad HP 720C, HP 820C a HP 1000C. Pro HP 820C ale u₧ existuje driver pro GhostScript, tak₧e je mo₧nΘ na nφ tisknout (text jenom s pou₧itφm a2ps).
  60. LukßÜ MikÜφΦek
  61. lukas.miksicek@seznam.cz
  62.  
  63. TΘma rubriky Linux na Chip CD
  64.  V tomto Φφsle se mimo jinΘ podφvßme na n∞kterΘ zajφmavΘ 3D hry, kterΘ se v poslednφ dob∞ objevily. S XFree 4.0 Linux koneΦn∞ zφskal rozumn∞ navr₧enou podporu 3D karet, a tak trojrozm∞rnΘmu Üφlenstvφ nic nestojφ v cest∞. N∞kterΘ z nov²ch 3D her ukazujφ, ₧e pomocφ OpenGL lze i v relativn∞ mßlo °ßdcφch programu vykouzlit docela p∞knou hru. Navφc zde najdete t°i novΘ zajφmavΘ projekty:
  65.   û prvnφm je GLAME (GNU/Linux Audio Mechanics), kter² si vytkl za cφl b²t pro editaci zvuku tφm, Φφm je GIMP pro obrßzky. Je sice stßle v pom∞rn∞ ranΘm stadiu v²voje, ale p°esto se u₧ stal asi nejlepÜφm voln∞ dostupn²m zvukov²m editorem;
  66.   û druh²m zajφmav²m projektem je port Linuxu do Linuxu. Dφky n∞mu m∙₧ete odstartovat dalÜφ jßdro Linuxu jako u₧ivatelsk² program;
  67.   û poslednφ je knihovna GCL (Generic Component Library), kterß obsahuje implementaci mnoha (zejmΘna grafov²ch) algoritm∙ a datov²ch struktur, Φφm₧ uÜet°φ programßtor∙m mnoho Φasu. Na rozdφl od starÜφch knihoven pou₧φvß hojn∞ Üablon, tak₧e v²sledn² program je o poznßnφ svi₧n∞jÜφ.
  68.  
  69. Programy
  70. StarOffice 5.1 û rozsßhl² kancelß°sk² balφk pro Linux
  71. Fachoda û nenßroΦn² leteck² simulßtor
  72. Csmash û 3D simulßtor stolnφho tenisu
  73. Space Cup û 3D vesmφrn² fotbal
  74. Glame û skv∞l² zvukov² editor
  75. Parted û program umo₧≥ujφcφ zv∞tÜovßnφ a zmenÜovßnφ ext2/FAT/FAT32 oddφl∙ na disku podobn∞ jako Partition Magic
  76. SDL Mixer û knihovna zjednoduÜujφcφ ozvuΦenφ her
  77. User Mode Kernel 2.3.99-pre8 û jßdro Linuxu jako u₧ivatelsk² proces
  78.  
  79.  7/00: 738-Linux7 (Au.L. MikÜφΦek - 7.08 n.str., 3 TS) Strana: 3
  80.  
  81.     Chyba! Neznßm² argument p°epφnaΦe./5
  82.  
  83.  
  84.