  Linux Printing HOWTO
  Grant Taylor <gtaylor+pht@picante.com> Svensk versttning
  av Marcus Rejs <rejas@swipnet.se>
  Version 3.17,  1998/06/17 14:03:27 (versatt 9 juli 1998)

  Detta r Linux Printing HOWTO (Linux skriva ut HURD), en samling av
  information om hur man skapar, frhandsgranskar, skriver ut och faxar
  ngot under Linux (och andra Unixliknande system).
  ______________________________________________________________________

  Innehllsfrteckning























































  1. Introduktion

     1.1 versttares kommentar
     1.2 Historia
     1.3 Copyright

  2. Hur man skriver ut

  3. Skrivarrutiner i krnan

     3.1 lp enheten
     3.2 Parport enheten `parport device' (krnor >= 2.1.33)
     3.3 Seriella enheter

  4. Skrivare som stds

     4.1 Skrivar-specifika noteringar

  5. Vilken spooling mjukvara?

  6. Hur det fungerar, grunderna

  7. Konfigurering, grunderna

     7.1 Traditionell lpd konfiguration
     7.2 Filrttigheter

  8. Skaffa utskriftsmjukvara

  9. Distributioners lsningar

     9.1 Red Hat
     9.2 Andra Distributioner

  10. Ghostscript.

     10.1 Anropa Ghostscript
     10.2 Ghostscript output justering
        10.2.1 Output placering och storlek
        10.2.2 Gamma, punktstorlekar, etc.

  11. Hur man skriver ut p en skrivare ver ntverket

     11.1 Till en Unix/lpd vrd
        11.1.1 Med
        11.1.2 Med
     11.2 Till en  Win95, WinNT, LanManager, eller Samba skrivare
     11.3 Till en NetWare Printer
     11.4 Till en EtherTalk (Apple) skrivare
     11.5 Till en HP eller annan ethernet skrivare
        11.5.1 Till ldre HPs
     11.6 Kra ett
     11.7 Frn Windows.
     11.8 Frn en Apple.
     11.9 Frn Netware.

  12. Windows-only skrivare

     12.1 Ghostscripts Windowsbaserade omdirigerare
     12.2 Programmet pbm2ppa

  13. Hur skriver man ut till en fax.

     13.1 Med ett faxmodem
     13.2 Anvnda Remote Printing Service

  14. Hur generar jag ngot vrt att skriva ut.

     14.1 Markeringssprk (Markup languages)
     14.2 WYSIWYG Ordbehandlare

  15. Frhandsgranskning av utskrivbara saker p skrmen.

     15.1 PostScript
     15.2 TeX dvi
     15.3 Adobe PDF

  16. Seriella skrivare under lpd

     16.1 Konfigurera i printcap
     16.2 ldre seriella skrivare som tappar tecken

  17. Tack till



  ______________________________________________________________________

  1.  Introduktion

  Linux Printing HOWTO borde innehlla allt du behver veta fr att
  kunna stta upp utskriftsmjligheter p din Linuxburk. Som brukligt
  r, s r det ngot mer avancerat n Microsoft och Apples 'peka och
  klicka'-vrld, men det r ocks mer flexibelt och definitivt lttare
  att administrera fr stora LANs.

  Detta dokument r strukturerat s att de flesta bara behver lsa den
  frsta halvan (ungefr). Det mesta av det abstrakta och
  situiationsberoende stoffet kommer i andra halvan av dokumentet och
  kan ltt lokaliseras i innehllsfrteckningen, men frmodligen behver
  de flesta lsa kapitel 9 eller 10.

  Eftersom version 3.x r en helt omskriven version har mycket av
  stoffet frn tidigare versioner plockats bort. Detta fr att den
  fregende versionen var s stor som 60 utskrivna papper och mycket
  svrlst. Om du inte hittar svaret p vad du sker hr br du gra p
  fljande stt: a) sk igenom frgende version av detta dokument p
  The Printing HOWTO Home Page <http://www.picante.com/~gtaylor/pht/>
  och b) skicka mig en rad dr det str vad som borde vara med i detta
  dokument men som inte r det.

  Printing HOWTO Home Page <http://www.picante.com/~gtaylor/pht/> r ett
  bra stlle fr att hitta senaste versionen, den finns ocks,
  naturligtvis, frn SunSite (sunsite.unc.edu) och din lokala spegling
  av LDP.


  1.1.  versttares kommentar

  Det skall sgas att jag inte r ngon expert p att verstta
  dokument. Men jag gr s gott jag kan. Vissa tekniska ord har mig
  veterligt inga svenska motsvarigheter, dessa str kvar p engelska. I
  de fall det r vanligt med ett frsvenskat uttal eller stavning av ett
  ord har jag anvnt det.

  Ett ofta terkommande ord r Daemon. Detta r ett engelskt ord som mig
  veterligt saknar svensk motsvarighet. Jag anvnder det engelska ordet
  med ngot frsvenskat uttal i tal, och det engelska i text. En daemon
  r ett program som (oftast) startas upp vid systemstarten och sedan
  krs i bakgrunden fr att bevaka och utfra vissa uppgifter.


  Jag reserverar mig fr versttningsfel, rent sprkliga fel och
  stavfel.

  Alla lnkar och hnvisningar i Texten gr till originaldestinationen,
  vilket innebr att de leder till engelska dokument.

  verallt i texten utom denna sektion avser ordet 'jag'
  originalfrfattaren.

  Hoppas att detta dokument kommer till nytta!

  --Marcus Rejs <rejas@swipnet.se>


  1.2.  Historia

  Detta r den tredje generationen, vilket betyder att det r tredje
  gngen dokumentet skrivs om. Dokumentets historia kan beskrivas som
  fljer:


  1. Jag skrev printing-howto 1992 eftersom det blev fr mnga frgor om
     utskrifter i comp.os.linux, och postade det i gruppen. Detta kom
     ngra mnader fre HOWTO projektet och var sledes den frsta
     `mini-FAQen' som kallades `howto'. Den hr utgvan var i ren ascii.

  2. Efter att ha hoppat in i HOWTO projektet blev Printing-HOWTO
     sammanslagen med en Lpd FAQ av Brian McCauley
     <B.A.McCauley@bham.ac.uk>; vi fortsatte att samarbeta med PHT under
     ett par r eller s. Vid ngon tidpunkt implementerade vi Karl
     Auer's <Karl.Auer@anu.edu.au> arbete. Denna generation av PHT var i
     TeXinfo, och fanns tillgnglig i  PS, HTML, Ascii, och Info.

  3. Efter att ha ltiti PHT frfalla i ver ett r, och ett misslyckat
     frsk att lmna ver det till ngon annan gjordes denna
     omskrivning. Denna generation av dokumentet r i Linuxdoc-SGML
     (numer knt som Sgml-tools paketet).

  1.3.  Copyright

  Detta dokument r Copyright (c) 1997 av Grant Taylor.  Kopiera och
  distribuera detta vida omkring, men modifiera inte dokumentet eller
  utelmna mitt namn.


  2.  Hur man skriver ut

  Om du redan har installerat lpd och konfigurerat fr att skriva ut p
  din skrivare, eller om din systemadministratr eller frsljare har
  gjort det t dig s behver du bara lra dig att anvnda kommandot
  lpr. Printing Usage HOWTO <http://sunsite.unc.edu/LDP/HOWTO/Printing-
  Usage-HOWTO.html> tcker detta, och en del andra kommandom fr att
  manipulera skrivarker som du troligen vill lra dig.

  Men om du har ett nytt system eller ny skrivare s mste du installera
  och konfigurera skrivar rutiner p ett eller annat stt innan du kan
  skriva ut. Ls vidare!


  3.  Skrivarrutiner i krnan

  3.1.  lp enheten

  Linux krnan (<=2.1.32), frutsatt att du kar kompilerat in eller
  laddat lp enheten (output av cat /proc/devices skall innehlla enheten
  lp), tillhandahller en eller flera av /dev/lp0, /dev/lp1, och
  /dev/lp2. Dessa tilldelas INTE dynamisk utan var och en av dem svarar
  mot en specifik I/O adress. Detta betyder att din frsta skrivare kan
  vara lp0 eller lp1 beroende p din hrdvara. Prova bda.

  Ngra f anvndare har rapporterat att deras dubbelriktade lp portar
  inte upptcks om de anvnder en ldre universalriktad skrivarkabel. Se
  till att du har en passande kabel.

  Man kan inte kra plip och lp drivrutinerna p samma gng p en port.
  Du kan dock ladda den ena eller den andra nr som helst antingen
  manuellt, eller med kerneld om du har version 2.x (eller senare
  versioner av 1.3.x) av krnan. Genom att noggrant stlla in irq och
  dylikt, kan du antagligen kra plip p ena porten och lp p den andra.
  Ngon gjorde s genom att editera drivrutinen. Jag vntar otligt p
  en positiv rapport om ngon som lyckats gra detta med bara en smart
  kommandorad.

  Det finns ett litet verktyg som heter tunelp med vilket du, som root,
  kan finjustera Linux lp enheters irq, "polling rate" och andra
  alternativ.

  Om den r inbyggd, i en del 1.3.x och senare krnor, kan krnan ta
  emot lp= argumentet fr att stta irq och io adresser:


       Nr lp drivrutinen r inbyggd i krnan kan du anvnda kommandoraden
       till LILO/LOADLIN fr att stta portadresser och irq's som
       den drivrutinen skall anvnda.

       Syntax:      lp=port0[,irq0[,port1[,irq1[,port2[,irq2]]]]]

       exempel:   lp=0x378,0   eller   lp=0x278,5,0x378,7 **

       Observera att om du anvnder denna finess mste specificera *alla*
       portar som du vill anvnda, det finns inga "defaults". Du kan stnga av
       en inbyggd drivrutin med lp=0.




  Om den laddas som en modul i version 2 och sena 1.3.x krnor r det
  mjligt att specificera io adresser och irq's p insmod kommandoraden
  (eller i /etc/conf.modules fr att ha effekt p kerneld) genom att
  anvnda den vanliga syntaxen. Parametrarna r io=port0,port1,port2 och
  irq=irq0,irq1,irq2. Ls manualsidan fr insmod fr ytterligare
  information om detta.


  **Fr dem av er (som jag sjlv) som aldrig kan hitta
  standardportnumren nr ni behver dem, de r som i det andra exemplet
  ovan. Den andra porten (lp0) r p 0x3bc. Jag har ingen aning om
  vilken irq den brukar anvnda.


  Kllkoden fr Linux parallellportsdrivrutin finns i
  /usr/src/linux/drivers/char/lp.c.


  3.2.  Parport enheten `parport device' (krnor >= 2.1.33)

  Med brjan i krna 2.1.33 (och tillgnglig som patch fr krna
  2.0.30), r lp enheten bara en klient till den nya parport enheten.
  Frdelen med parportenheten r att den rttar till ett antal problem
  som den gamla lp enheten led av - den kan dela port med andra
  drivrutiner, den tilldelar tillgngliga parallellportar dynamiskt till
  enhetsnummer istllet fr att krva en fast kommunikation mellan I/O
  adresser och portnummer, och s vidare.

  Tillkomsten av parport enheten har mjliggjort en hel flock av nya
  parallell-ports drivrutiner fr saker som, Zip drives, Backpack CD-
  ROMs och diskar, etc. En del av dessa finns ocks tillgngliga fr
  2.0.x krnor; leta runt p ntet.


  Jag kommer att tcka parport drivaren mer komplett d jag sjlv
  anvnder en, men tills vidare kan du lsa filen
  Documentation/parport.txt i din kllkod till krnan eller titta p
  parport web site <http://www.cyberelk.demon.co.uk/parport.html>.



  3.3.  Seriella enheter

  Seriella enheter heter vanligtvis ngot som /dev/ttyS1 under Linux.
  Verktyget stty lter dig interaktivt studera eller stta
  instllningarna fr en serieport; setserial lter dig kontrollera
  ytterligare ngra attribut och konfigurera IRQs och I/O adresser fr
  icke standard portar. Ytterligare behandling av serieportar under
  Linux hittas i Serial-HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Serial-
  HOWTO.html>.


  Om du anvnder en lngsam seriell skrivare med fldeskontroll kan du
  komma att upptcka att dina utskrifter trunkeras. Detta kan komma av
  att serieportens normala beteende r att slnga alla oversnda tecken
  frn sin buffer 30 sekunder efter det att portenheten stngts.
  Bufferten kan hlla upp till 4096 tecken, och om din skrivare anvnder
  fldeskontroll och r s lngsam att den inte kan ta emot all data ur
  bufferten inom 30 sekunder efter det att utskriftsmjukvaran stngt
  porten kommer det sista av din utskrift att g frlorad. Om kommandot
  cat file > /dev/ttyS2 producerar kompletta utskrifter fr korta filer
  och trunkerade fr lngre kan du ha detta problem.


  30 sekundersintervallet kan justeras genom "closing_wait" kommandorads
  argumentet till setserial (version 2.12 and later). En maskins
  serieportar initieras vanligtvis genom ett anrop till setserial i
  startfilen rc.serial. Anropet till skrivarserieporten kan modifieras
  s att det stter closing_wait p samma gng som det stter den
  portens andra parametrar.



  4.  Skrivare som stds

  Linux krnan stder i stort stt alla skrivare du kan ansluta till en
  seriell eller parallell port, men det finns saker att se upp med, och
  skrivare som ej gr att anvnda ven om de (elektroniskt stt) kan
  kommunicera med Linux. Frmst bland dessa inkompatibla skrivare r
  sdana som frlitar sig p "Windows Printing System".  (De brukar vara
  vagt markerade med "for Windows", eller kallas "GDI"-skrivare.)  Dessa
  skrivare funkar inte med Linux. De har inte ngon som helst
  intelligens och frlitar sig p att datorns CPU skall gra mycket av
  det arbete som traditionellt skts av skrivarens processor.
  Olyckligtvis kan dessa uppgifter bara utfras av tillverkarspecifika
  drivrutiner som bara fungerar under Windows. S kp inte en sdan fr
  att anvnda med Linux. (Obsevera, om du redan har en s finns det stt
  att f Lunux att skriva till en, men de r ganska krngliga och jag
  har aldrig provat sjlv. Se avsnitt 12 i detta dokument fr
  ytterligare behandling av Windows-only skrivare.)


  Vad gller skrivare som fungerar under Linux r det bsta en skrivare
  med PostScript std. Nstan all Unix mjukvara som skapar utskrifter,
  skapar dessa i PostScript format, s uppenbart r det lmpligt att ha
  en skrivare som stder PostScript direkt. Olyckligtvis r PostScript
  std ovanligt p andra skrivare n laserskrivare, och r ibland ett
  kostsamt tillbehr.


  Om du inte har den (strre) budget som behvs fr att skaffa en
  PostScript skrivare kan du skaffa en skrivare som stds av
  Ghostscript, en fri PostScript tolk som anvnds i stllet fr kta
  PostScript std i skrivaren. P Ghostscript Home Page
  <http://www.cs.wisc.edu/~ghost/> finns en lista ver skrivare som
  stds och information om nya och experimentella drivrutiner. Bidrag
  till att frbttra sidan med skrivare som stder Ghostscript genom att
  rapportera dina (miss)lyckanden med denna mjukvara.


  Adobe har nu ett nytt skrivarsprk som heter "PrintGear" Jag tror att
  det r ett kraftigt frenklat binrformatsprk med en del arv frn
  PostScript men ingen PostScript kompabilitet. Jag har inte hrt ngot
  om att Ghostscript skulle stda det. Men en del av dessa skrivare
  stder andra sprk som PCL, och dessa fungerar under Linux.


  4.1.  Skrivar-specifika noteringar

  Detta avsnitt r, och  kommer alltid att vara inkomplett. Men det jag
  skriver hr br alltid vara korrekt. S hr kommer det:


     Canon BJ-10ex
        En rapport freslr att Canonskrivaren fungerar mycket bttre i
        Epson LQ lget (som stts med en dip-switch). Tydligen blev
        utskriften avbruten eller felaktig i Canon lge.  andra sidan,
        r det mycket tydligt Canonstd i Ghostscript, s det kan ha
        varit en lyckotrff.

     Lexmark
        Lexmark (en gng en del av IBM, tror jag) gr mnga skrivare,
        mnga av dem r skrivare enbart fr Windows:

       Color Jetprinter 1000

       Color Jetprinter 1020 (non Business Edition)

       Color Jetprinter 2030

       Color Jetprinter 2050

       Color Jetprinter 2070

       Color Jetprinter 7000

       Color Jetprinter 7200

       Winwriter 100

       Winwriter 150c

       Winwriter 200





  5.  Vilken spooling mjukvara?

  Tills nyligen var valet fr Linuxanvndare enkelt - alla krde samma
  gamla lpd som nstan ordagrant kom frn BSD's Net-2 kod. ven idag har
  de flesta distributrer med denna mjukvara. Men det brjar p att
  ndras. SVR4-liknande system inkluderande Sun's Solaris har ett helt
  annat utskrifts spooling paket, centrerat kring lpsched. Och vissa
  tecken tyder p att Linuxdistributrer kommer att byta till LPRng, en
  inte alls lika frldrad skrivar spooling mjukvara som r tillgnglig
  fritt. LPRng r mycket lttare att adminitrera fr strre
  installationer och har en mindre skrmmande slumpvis kodbas som lpd r
  full av. Det kan till och med rligt hvda sig som skert - det finns
  inga SUID binrer, och det stder autenticering via PGP eller
  Kerberos.


  Fr tillfllert, trots belysningen av nya alternativ, r lpd
  troligtvis utmrkt fr de flesta Linuxanvndare. Trots att det inte r
  det stiligaste systemet, fungerar det utmrkt d det vl r
  konfigurerat och det r vl frsttt och rikligt dokumenterat i
  tredje-part bcker om Unix.


  Om du vill ha ytterligare information om LPRng, kolla LPRng Web Page
  <http://www.astart.com/lprng/LPRng.html>. Framtida versioner av denna
  HOWTO kommer att inkludera bde hur man anvnder LPRng och vanlig lpd.


  6.  Hur det fungerar, grunderna


  Fr att f utskrivning att fungera bra mste du frst hur lpd
  systemet fungerar.

  Lpd str fr Line Printer Daemon, och refererar i en del texter till
  bde daemonen och hela samlingen av program som hanterar
  utskriftsspoolingen. Dessa r:


     lpd
        Spooling daemon.  En av dessa kr fr att kontrollera allt p en
        maskin, OCH en krs per skrivare medan skrivaren skriver ut.

     lpr
        Anvndares spooling kommando.  Lpr kontaktar lpd och stoppar in
        ett nytt skrivarjobb i kn

     lpq
        Listar jobben i en skrivark.

     lpc
        Lpd system kontroll kommando.  Med lpc kan du stoppa, starta,
        omorganisera, etc skrivarkerna.

     lprm
        lprm tar bort et jobb ur skrivarkn.

  S hur sitter det ihop? Jo, nr systemet startar upp, startas lpd. Den
  skannar igenom filen /etc/printcap fr att f reda p vilka skrivare
  som den skall hantera ker fr. Var gng ngon kr lpr s kontaktar
  lpr lpd genom /dev/printer, och matar lpd med bde filen som skall
  skrivas ut och information om vem som skriver och hur den skall
  skrivas ut. lpd skriver s ut filen p den passande skrivare som str
  p tur.


  lp systemet var frn brjan konstruerat nr de flesta skrivare var
  radskrivare - dvs, folk skrev mest vanlig ascii. Men det visar sig att
  bara lite scriptjob behvs fr att lpd skall fungera fr dagens
  utskriftsjob, som oftast r i PostScript, eller text, eller dvi,
  eller...


  7.  Konfigurering, grunderna

  7.1.  Traditionell lpd konfiguration

  Den minimala konfigureringen fr lpd resulterar i ett system som kan
  ka filer och skriva ut dem. Det tar ingen hnsyn till om skrivaren
  frstr dem eller inte, och kommer frmodligen inte att leda till
  attraktiva utskrifter. Men det r ett frsta steg mot att frst hur
  det funkar, s ls vidare!

  Fr att lgga en skrivark till lpd mste du lgga till en post
  (entry) i /etc/printcap, och skapa en ny katalog fr skrivarkn (spool
  directory) under /var/spool/lpd.

  En post i /etc/printcap ser ut s hr:


       # LOCAL djet500
       lp|dj|deskjet:\
               :sd=/var/spool/lpd/dj:\
               :mx#0:\
               :lp=/dev/lp0:\
               :sh:




  Detta definierar en skrivark som kallas lp, dj, eller deskjet, kade
  (spoolade) i katalogen /var/spool/lpd/dj, utan begrnsning p
  utskriftsjobbens storlek om skriver till enheten /dev/lp0 och som inte
  lgger ett frsttsblad (med namnet p den person som skriver ut,
  m.m.) till utskriften.

  Ls nu manualsidan (man-page) fr printcap.

  Ovanstende ser vldigt enkelt ut, men det finns en hake - svida inte
  jag snder filer som som en desjet 500 frstr kommer denna deskjet
  att skriva konstiga saker. Till exempel om vi skickar en vanlig Unix
  text fil till en deskjet fr vi en utskrift enligt fljande:


       This is line one.
                        This is line two.
                                         This is line three.




  osv. En PostScript fil som skrivs till denna k resulterar i en vacker
  listning av PostScript kommandon, utskrivna med denna trappstegseffekt
  (staircase effect), men ingen anvndbar utskrift.

  Tydligen behvs ngot mer, och detta r syftet med filtrering
  (filtering). De mer observanta av er som lste manualsidan till
  printcap kanske uppmrksammade spool-attributen if och of.  Just if,
  eller 'input-filter' r precis vad vi behver hr.

  Om vi skriver ett litet script som lgger till vagnretur fre radbyten
  och kallar det filter kan trappstegseffekten elemineras. Vi mste
  ocks lgga in en if rad i vr printcap-post  hr ovan:


       lp|dj|deskjet:\
               :sd=/var/spool/lpd/dj:\
               :mx#0:\
               :lp=/dev/lp0:\
               :if=/var/spool/lpd/dj/filter:\
               :sh:




  Ett enkelt filterscript skulle kunna vara:


       #!perl
       # Raden ovan skall ha hela skvgen till perl
       # Scriptet mste vara krbart: chmod 755 filter
       while(<STDIN>){chop $_; print "$_\r\n";};
       # Eventuellt behver du avsluta med att mata ut papperet: print "\f";




  Om vi gjorde som ovan skulle vi f en skrivark till vilken vi kunde
  skriva ut vanliga Unix textfiler och f ett meningsfullt resultat.
  (Ja, det finns fyra miljoner bttre stt att skriva detta filter men
  f som r s illustrativa. Du uppmuntras att gra detta mer effek
  tivt.)

  Det enda kvarvarande problemet r det att det inte r alltfr 'hett'
  att skriva ut vanlig text - visst skulle det vara bttre att kunna
  skriva ut PostScript och annan formaterad eller grafisk typ av
  utskrift. Jo det r klart att det vore bttre, och det r inte svrt
  att fixa till. Metoden r helt enkelt ett tillgg till ovanstende
  radmatnings-fixar filter. Om du kan skriva ett filter som kan
  acceptera godtyckliga filformat som input och producera DeskJet-kosher
  output fr var och en av dessa har du verkligen ett smart utskrifts
  system.

  Ett sdant filter kallas ett magic filter.  Bry dig inte om att skriva
  ett sdant sjlv svida du inte skriver mycket underliga saker - Det
  finns mnga redan skrivna t dig p ntet. APS Filter r bland de
  bsta, eller din Linuxdistribution kan ha ett
  skrivarkonfigureringsprogram som gr detta vldigt enkelt.


  7.2.  Filrttigheter

  P allmn begran lgger jag in en lista p filrttigheterna p
  intressanta filer i mitt system. Det finns flera bttre stt att lsa
  detta, idealiskt genom att anvnda bara SGID binrfiler och inte gra
  allt SUID root, men s hr var mitt system frn brjan och det funkar
  bra fr mig.  (Uppriktigt sagt, om din leverantr inte ens kan
  leverera ett fungerande lpd s r du ute p djupt vatten).


       -r-sr-sr-x   1 root     lp    /usr/bin/lpr*
       -r-sr-sr-x   1 root     lp    /usr/bin/lprm*
       -rwxr--r--   1 root     root  /usr/sbin/lpd*
       -r-xr-sr-x   1 root     lp    /usr/sbin/lpc*
       drwxrwxr-x   4 root     lp    /var/spool/lpd/
       drwxr-xr-x   2 root     lp    /var/spool/lpd/lp/


  Lpd mste fr nrvarande kras som root s att den kan ansluta till
  `low-numbered lp service port'. Den borde bli UID lp.lp eller ngot
  sdant efter anslutning, men jag tror inte att den blir det. Det r
  inte bra.


  8.  Skaffa utskriftsmjukvara

  Mnga frdigskrivna filterpaket (och annan utskriftsrelaterad
  mjukvara) finns tillgngliga frn SunSite
  <ftp://sunsite.unc.edu/pub/Linux/system/printing/>. Program som
  psutils, a2ps, mpage, dvitodvi, flpr, etc kan alla hittas dr.


  Ett tag fanns det flera olika mjukvarupaket ute som frskte gra
  skrivarkonfigureringen enklare. De finns troligen kvar, men en av de
  bsta och aktuellaste r Andreas Klemm's APS Filter paket, som har
  menystyrd printcap konfigurerare och hanterar praktiskt taget alla
  tnkbara typer av indata. Om din distributr inte skickar med ett
  trevligt konfigureringsprogram, r APS Filter rtt vg.


  9.  Distributioners lsningar

  Detta avsnitt r, per definition, inte komplett. Skicka grna in
  detaljer om din favoritdistribution.


  9.1.  Red Hat

  Red Hat har ett grafiskt verktyg fr skrivaradministration (i
  kontrollpanelen) som kan lgga till ntverksskrivare och lokala
  skrivare. Det lter dig vlja en skrivartyp stdd av ghostscript och
  en Unixenhetsfil att skriva till, och installerar en post i
  /etc/printcap och skriver ett kort PostScript-och-ascii magic filter
  baserat p gs och  nenscript.  Denna lsning fungerar ganska bra och
  r enkel att konfigurera fr vanligt frekommande fall.


  9.2.  Andra Distributioner

  Snlla, skicka mig info om vad andra distributioner gr!


  10.  Ghostscript.

  Ghostscript r ett otroligt betydelsefullt program fr utskrifter
  under Linux. De flesta unixprogram som genererar utskrifter genererar
  PostScript, vilket oftast r ett $100 tillbehr till en skrivare.
  Ghostscript,  andra sidan, r gratis, och genererar din skrivares
  sprk frn PostScript. Kombinerat med ditt lpd input filter, fr du en
  virtuell PostScript skrivare och frenklar livet avsevrt.

  Ghostscript finns i tv versioner. Den kommersiella versionen av
  Ghostscript, kallad Aladdin Ghostscript, fr anvndas fritt fr
  personligt bruk men fr inte distribueras med kommersiella
  Linuxdistributioner. Den r generellt stt ett r fre den fria
  versionen. Just nu till exempel s stder den kommersiella Adobe
  Acrobat's Portable Document Format, medan den ldre inte gr det.

  Den fria versionen av Ghostscript r GNU Ghostscript, och r helt
  enkelt en ldre version av Aladdin ghostscript som vnligt sknkts
  till GNU. (Heder till Aladdin fr detta arrangemang; flera
  mjukvarufretag borde stda free software p detta stt).


  Vad du n gr med gs, var riktigt sker p att det krs med argumentet
  fr att omjliggra filaccess (-dSAFER). PostScript r ett komplett
  programsprk, och ett dligt PostScript program skulle kunna ge dig en
  rejl huvudvrk.

  P tal om PDF, Adobe's Portable Document Format r faktiskt inte
  mycket mer n organiserad PostScript i en komprimerad fil. Ghostscript
  kan hantera PDF precis som PostScript. S du kan bli den frsta i ditt
  kvarter med en PDF kapabel skrivare.

  10.1.  Anropa Ghostscript

  Vanligtvis krs ghostscript av vilket magic filter du n anvnder, men
  i debuggingsyfte r det ofta lmpligt att kra det direkt.

  gs -help ger dig en kort informativ lista p argument och tillgngliga
  drivrutiner (observera att listan med drivrutiner r inkompilerad, och
  inte huvudlistan p alla tillgngliga drivrutiner).

  Du kan kra gs i testsyfte som: gs options -q -dSAFER
  -sOutputFile=/dev/lp1 test.ps.


  10.2.  Ghostscript output justering

  Det finns flera saker du kan gra om inte gss output blir till
  beltenhet (faktisk, kan du gra vad f..n som helst eftersom du har
  kllkoden).


  10.2.1.  Output placering och storlek

  Placering, storlek och utseende av en bild p en sida kontrolleras av
  de skrivarspecifika drivrutinen i ghostscript. Om utskriften p dina
  sidor blir fr hoptryckt och kort, eller utdragen och lng, eller fr
  stor med en faktor tv, br du titta i din drivrutins kllkod och
  justera vilka parametrar du n hittar. Olyckligtvis r alla
  drivrutiner olika, s jag kan inte bertta vad du skall justera, men
  de flesta r skapligt kommenterade.


  10.2.2.  Gamma, punktstorlekar, etc.

  De flesta icke-laser skrivare lider av det faktum att deras punkter r
  relativt stora. Detta resulterar i att bilder blir fr mrka. Om du
  upplever detta problem skall du anvnda din egen verfringsfunktion.
  Skapa fljande fil i ghostscripts lib-katalog och lgg dess namn till
  gs anropet fre sjlva filen. Du mste kanske finjustera vrdena fr
  att passa din skrivare. Lgre vrden resulterar i ljusare utskrift.
  Framfr allt om din skrivare anvnder en Floyd-Steinberg algoritm fr
  att rastera frger r troligen lgre vrden ( 0.2 - 0.15 ) ett bra
  val.



       ---8<---- gamma.ps ----8<---
       %!
       %transfer functions for cyan magenta yellow black
       {0.3 exp} {0.3 exp} {0.3 exp} {0.3 exp} setcolortransfer
       ---8<------------------8<---






  Det r ocks mjligt att fixa skrivare som har ngot typ av frgfel
  genom att justera dessa vrden. Om du gr ngot sdant rekommenderar
  jag att du anvnder filen colorcir.ps, som finns med ghostscript (i
  examples/ katalogen), som en provsida..


  11.  Hur man skriver ut p en skrivare ver ntverket

  En av finesserna med lpd r att den stder utskrift ver ntverket
  till skrivare fysiskt anslutna  till en annan maskin. Med en noggran
  kombination av filter scripts och tillhrande program kan du anvnda
  lpd till att p ett raktframt stt skriva ut p skrivare anslutna till
  alla sorters ntverk.


  11.1.  Till en Unix/lpd vrd

  Fr att lta andra maskiner skriva till din skrivare mste du lista
  dem i /etc/hosts.equiv eller /etc/hosts.lpd.  (Observera att
  hosts.equiv medfr andra effekter, var sker p att du vet vad du gr
  innan du listar ngon maskin dr). Du kan tillta bara vissa anvndare
  p andra maskiner att skriva till din skrivare genom att anvnda rs
  attributet; ls lpd manualsidan fr information om detta.


  11.1.1.  Med  lpd

  Fr att skriva ut till en annan maskin skapar du en /etc/printcap post
  som denna:


       # REMOTE djet500
       lp|dj|deskjet:\
               :sd=/var/spool/lpd/dj:\
               :rm=machine.out.there.com:\
               :rp=printername:\
               :lp=/dev/null:\
               :sh:




  Observera att det fortfarande finns en spoolkatalog p den lokala
  maskinen som hanteras av lpd. Om den andra maskinen r upptagen eller
  offline kommer utskriftsjobben att vnta i spoolkatalogen tills de kan
  sndas.


  11.1.2.  Med rlpr

  Du kan ocks anvnda rlpr fr att skicka ett utskriftsjob direkt till
  en k p en annan maskin utan att behva g igenom krnglet med att
  konfigurera lpd fr att fixa det. Detta r anvndbart framfr allt d
  du skriver till olika skrivare bara ngon enstaka gng. Frn
  introduktionen av rlpr:


  Rlpr anvnder TCP/IP fr att skicka utskriftsjobb till lpd servrar var
  som helst i ett ntverk.


  Till skillnad frn lpr krver rlpr *inte* att den andra skrivaren r
  knd fr maskinen som du vill skriva frn (t.ex. genom /etc/printcap)
  och kan drfr anses vara mer flexibel och krver mindre
  administration.

  rlpr kan anvndas verallt dr traditionell lpr kan anvndas och r
  baktkompatibel med traditionell BSD lpr.


  Den strsta styrkan med rlpr r frmgan att skriva ut p fjrrenheter
  *frn var-som-helst till var-som-helst* utan att bry sig om hur det
  andra systemet du vill skriva ut frn r konfigurerat. Kan anvndas
  som ett filter precis som traditionell lpr s att klienter som krs p
  en avlgsen maskin som netscape, xemacs, etc, etc kan skriva ut till
  din maskin med sm anstrngningar.

  Rlpr finns tillgngligt frn SunSite
  <ftp://sunsite.unc.edu/pub/Linux/system/printing/>.


  11.2.  Till en  Win95, WinNT, LanManager, eller Samba skrivare

  Det finns en Print to Windows mini-HOWTO dr ute som innehller mer
  info om detta n vad som finns hr.

  Det r mjligt att leda en lpd k genom smbclient programmet (en del
  av samba-sviten) till en TCP/IP baserad SMB print service. Samba
  inkluderar ett script fr detta som kallas smbprint.  Kortfattat gr
  det till s att du lgger en konfigurationsfil fr skrivaren i frga i
  spool katalogen och installerar smbprint scriptet som if.

  /etc/printcap posten ser ut s hr:


       lp|remote-smbprinter:\
           :lp=/dev/null:sh:\
           :sd=/var/spool/lpd/lp:\
           :if=/usr/local/sbin/smbprint:




  Du skall lsa dokumentationen i smbprint scriptet fr ytterligare
  information om hur du konfigurerar detta.

  Du kan ocks anvnda smbclient fr att snda en fil direkt till ett
  SMB printing system utan att blanda in lpd.  Se manualsidan.


  11.3.  Till en NetWare Printer

  ncpfs sviten inkluderar en funktion som kallas nprint som
  tillhandahller samma funktion som smbprint fast for NetWare. Du kan
  skaffa ncpfs frn SunSite.  Utdrag ur LSM posten fr version 0.16:


       With ncpfs you can mount volumes of your netware server
       under Linux. You can also print to netware print queues and
       spool netware print queues to the Linux printing system. You
       need kernel 1.2.x or 1.3.54 and above. ncpfs does NOT work
       with any 1.3.x kernel below 1.3.54.



  Fr att f nprint att fungera via lpd mste du skriva ett litet script
  som skriver stdin p NetWare skrivaren och installera detta som if
  till en lpd skrivark. Du fr ngot som liknar:




  sub2|remote-NWprinter:\
          :lp=/dev/null:sh:\
          :sd=/var/spool/lpd/sub2:\
          :if=/var/spool/lpd/nprint-script:




  nprint-scriptet borde se ut ungefr s hr:


       #! /bin/sh
       # You should try the guest account with no password first!
       /usr/local/bin/nprint -S net -U name -P passwd -q printq-name -





  11.4.  Till en EtherTalk (Apple) skrivare

  Netatalk paketet innehller ngonting som liknar nprint och smbclient.
  Andra har dokumenterat proceduren fr att skriva till och frn ett
  Apple ntverk mycket bttre n vad jag ngonsin kommer att gra, se
  Linux Netatalk-HOWTO <http://thehamptons.com/anders/netatalk/>.



  11.5.  Till en HP eller annan ethernet skrivare

  HP och ngra andra skrivare levereras med ett ethernet interface som
  du kan skriva till direkt med lpd. Du skall flja instruktionerna som
  fljer skrivaren eller dess ntverskadapter. Generellt sett "kr"
  dessa skrivare lpd och har en eller flera ker till vilka du kan
  skriva. En HP, till exempel, borde fungera med en printcap post som:


       lj-5|remote-hplj:\
               :lp=/dev/null:sh:\
               :sd=/var/spool/lpd/lj-5:\
               :rm=printer.name.com:rp=raw:




  HP Laserjet skrivare med Jet Direct interfaces har vanligtvis tv
  stycken inbyggda lpd ker - "raw" som accepterar PCL (och mjligtvis
  PostScript) och "text" som accepterar ren ascii (och hanterar
  automatiskt trappstegseffekten). Om du har en JetDirect Plus3 tre-
  portsburk, heter kerna "raw1", "text2", o.s.v.

  I en storskalig milj, framfr allt dr inte alla skrivare stder
  PostScript, kan det vara lmpligt att utse en speciell skrivarserver
  till vilken alla maskiner skriver och p vilken alla ghostscript jobb
  krs.

  Detta lter ocks din Linuxburk att agera som en spool server till
  skrivaren s att dina ntverksanvndare snabbt kan avsluta sina
  utskriftsjobb och forstta med annat utan att vnta p att skrivaren
  skall skriva ut ngot som ngon annan har skickat.

  Fr att stadkomma detta, stt upp en k p din Linuxburk som pekar p
  den ethernetutrustade HP LJ (som ovan). Sen konfigurerar du alla
  klienter p ditt LAN att skriva till denna k (ex. lj-5 i exemplet
  ovan).

  Till en del HP ntverksskrivare behver troligen inte
  frsttsbladsinstllningen skickas av klienterna, du kan stnga av
  deras internt genererade frsttsblad genom att 'telnetta' till
  printern, trycka retur tv gnger, skriva "banner: 0" fljt av "quit".
  Det finns flera instllningar som du kan ndra p detta vis, skriv "?"
  fr att se en lista.


  11.5.1.  Till ldre HPs

  En del skrivare (och skrivarrutiner i ntverk som "black boxes")
  stder bara ett dligt litet icke-protokoll med rena TCP anslutningar.
  Att mrka i denna kategori r tidiga JetDirect (inkluderande en del
  JetDirectEx) kort. Kortfattat, fr att skriva till skrivaren mste du
  ppna en TCP anslutning till skrivaren p en speciell port (vanligtvis
  9100 eller 9100, 9101, 9102 fr tre-ports) och stoppa in ditt
  utskriftsjobb i skrivaren. Detta kan, bland annat, implementeras med
  Perl:
















































  #!/usr/bin/perl
  # Thanks to Dan McLaughlin for writing the original version of this
  # script (And to Jim W. Jones for sitting next to Dan when writing me
  # for help ;)

  $fileName = @ARGV[0];

  open(IN,"$fileName") || die "Can't open file $fileName";

  $dpi300     = "\x1B*t300R";
  $dosCr      = "\x1B&k3G";
  $ends = "\x0A";

  $port =  9100 unless $port;
  $them = "bach.sr.hp.com" unless $them;

  $AF_INET = 2;
  $SOCK_STREAM = 1;
  $SIG{'INT'} = 'dokill';
  $sockaddr = 'S n a4 x8';

  chop($hostname = `hostname`);
  ($name,$aliases,$proto) = getprotobyname('tcp');
  ($name,$aliases,$port) = getservbyname($port,'tcp')
      unless $port =~ /^\d+$/;;
  ($name,$aliases,$type,$len,$thisaddr) =
          gethostbyname($hostname);
  ($name,$aliases,$type,$len,$thataddr) = gethostbyname($them);
  $this = pack($sockaddr, $AF_INET, 0, $thisaddr);
  $that = pack($sockaddr, $AF_INET, $port, $thataddr);

  if (socket(S, $AF_INET, $SOCK_STREAM, $proto)) {
  #    print "socket ok\n";
  }
  else {
      die $!;
  }
  # Give the socket an address.
  if (bind(S, $this)) {
  #    print "bind ok\n";
  }
  else {
      die $!;
  }

  # Call up the server.

  if (connect(S,$that)) {
  #    print "connect ok\n";
  }
  else {
      die $!;
  }

  # Set socket to be command buffered.

  select(S); $| = 1; select(STDOUT);

  #    print S "@PJL ECHO Hi $hostname! $ends";
  #    print S "@PJL OPMSG DISPLAY=\"Job $whoami\" $ends";
  #    print S $dpi300;

  # Avoid deadlock by forking.

  if($child = fork) {
      print S $dosCr;
      print S $TimesNewR;

      while (<IN>) {
          print S;
      }
      sleep 3;
      do dokill();
  } else {
      while(<S>) {
          print;
      }
  }

  sub dokill {
      kill 9,$child if $child;
  }





  11.6.  Kra ett if  fr fjrrskrivare

  En underlighet men lpd r att if inte krs fr fjrranslutna skrivare.
  Om du finner att du behver kra ett if, s kan du gra detta genom
  att konfigurera en dubbel k och ka om jobbet. Som ett exempel
  studera fljande printcap:


       lj-5:\
               :lp=/dev/null:sh:\
               :sd=/var/spool/lpd/lj-5:\
               :if=/usr/lib/lpd/filter-lj-5:
       lj-5-remote:lp=/dev/null:sh:rm=printer.name.com:\
               :rp=raw:sd=/var/spool/lpd/lj-5-raw:




  belyst av detta filter-lj-5 script:


       #!/bin/sh
       gs <options> -q -dSAFER -sOutputFile=- - | \
               lpr -Plj-5-remote -U$5




  Argumentet -U till lpr fungerar bara om lpr krs som en daemon och
  stter begrarens namn fr jobbet i den andra kn p rtt stt. Du br
  anvnda en mer rubust metod fr att f anvndarnamnet eftersom det i
  vissa fall inte r argument 5. Se manualsidan fr printcap.


  11.7.  Frn Windows.

  Att skriva frn en Windows (eller frmodligen OS/2) klient till en
  Linuxserver r direkt stdd ver SMB genom anvndande av SAMBA
  paketet, som dessutom stder fildening av ditt Linux filsystem till
  Windowsklienter.

  Samba inkluderar en ganska komplett dokumentation, och det finns en
  bra Samba FAQ som ocks tcker det. Du kan antingen konfigurera ett
  magic filter p Linuxburken och skriva PostScript till detta eller
  springa runt och installera skrivarspecifica drivrutiner p alla
  Windowmaskiner och ha en k fr dem utan ngot filter. Att frlita sig
  p Windows drivrutiner kan i en del fall leda till bttre utskrifter,
  men ar mer administrativt krvande om det r mnga Windowsmaskiner. Du
  br testa PostScript frst.


  11.8.  Frn en Apple.

  Netatalk stder utskrift frn Apple klienter ver EtherTalk. Se
  Netatalk HOWTO Page <http://thehamptons.com/anders/netatalk/> fr mer
  information.


  11.9.  Frn Netware.

  ncpfs paketet inkluderar en daemon som heter pserver som kan anvndas
  till att serva en NetWare skrivark. Vad jag har frsttt krver ett
  sdant system "Bindery-Based NetWare" d.v.s. 2.x, 3.x eller 4,x med
  "bindery access" aktiverad.

  Fr ytterligare information om ncpfs och dess pserver progam, se the
  ncpfs FTP site <ftp://ftp.gwdg.de/pub/linux/misc/ncpfs/>.


  12.  Windows-only skrivare

  Som jag tidigare nmnt r en del skrivare i sig inte stdda i Linux
  eftersom de inte talar normalt skrivarsprk utan istllet anvnder
  datorns CPU fr att skapa bitmappar som sedan skickas till skrivare i
  en bestmd hastighet. I ngra f fall talar dessa skrivare ocks ngot
  normalt, som PCL, men oftast inte. I en del (verkligt lgklass) fall
  anvnder inte skrivaren ens en normal parallellanslutning utan
  frlitar sig p att tillverkarens drivrutin skall emulera hur
  hrdvaran skall uppfra sig (det viktigaste r handskakningen
  `handshaking').


  I alla fall, det finns ngra f trix att komma runt problemet om du
  har fastnat med en sdan otrevlighet.



  12.1.  Ghostscripts Windowsbaserade omdirigerare

  Det finns nu en Windows skrivardrivrutin tillgnglig (heter mswinpr2)
  som kr ett skrivarjobb genom Ghostscript innan det slutligen skriver
  ut det. (Istllet fr ett if filter i Unix's LPD). Det finns ocks en
  ny Ghostscript drivrutin som skriver genom att anvnda Windows GDI
  anrop. Tillsammans, br detta tillta en Windows maskin att skriva
  PostScript till en Windows-only skrivare genom tillverkarens
  drivrutin.

  Om du fr det att funka, kan du flja instruktionerna ovan fr att
  skriva till en Windows skrivare ver ntverket frn Linux fr att lta
  Unix (och andra Windows, Mac, etc) vrdar att skriva till din
  otrevliga skrivare.

  Det skall sgas att jag aldrig testat detta eftersom jag inte har
  ngon Windowsskrivare, s du fr testa sjlv. All inblandad mjukvara
  skall g att hitta p Ghostscript's hemsida (se lnkarna i
  Ghostscriptavsnittet i detta dokument).





  12.2.  Programmet pbm2ppa

  En del HP skrivare anvnder "Printing Performance Architecture"
  (marknadsfringssprk fr "vi r fr billiga fr att implementera
  PCL"). Detta stds via en omvg ver pbm2ppa versttaren, skriven av
  Tim Norman. Vanligtvis anvnder du Ghostscript fr att verstta
  PostScript till en bitmappad bild i pbm format och sedan anvnder
  pbm2ppa fr att verstta denna till ett skrivarspecifikt ppa format
  klart fr att dumpas till skrivaren. Detta program kan ocks ha kommit
  i en Ghostscript drivare vid det hr laget.


  ppa mjukvaran kan hmtas frn the ppa home page
  <http://www.rpi.edu/~normat/technical/ppa/>. pbm2ppa stder en del
  modellar av HP 720, 820, och 1000; ls dokumentationen som fljer med
  paketet fr detaljer om ppa skrivarstd.



  13.  Hur skriver man ut till en fax.

  13.1.  Med ett faxmodem

  Det finns ett flertal faxprogram dr ute som lter dig faxa och ta
  emot dokument. Ett av de mest komplexa r Sam Leffler's HylaFax,
  tillgngligt frn ftp.sgi.com. Det stder allt frn flera modem till
  broadcasting (=snda till flera samtidigt).

  SuSE levererar en Java HylaFax klient som psts fungera p vilken
  Java plattform som helst (inkluderande Windows och Linux). Det finns
  ocks icke-Java fax klienter till de flesta plattformar, Linux kan med
  strsta sannolikhet hantera dina ntverks fax behov.

  Dessutom finns, och ett bttre val fr de flesta Linuxburkar, efax,
  ett enkelt program som skickar fax. Getty-programmet mgetty kan ta
  emot fax (och till och med voicemail p en del modem!).


  13.2.  Anvnda Remote Printing Service

  Det finns en experimentell service som lter dig snda ett e-
  postmeddelande som innehller det du vill skriva ut p en fax
  ngonstans. Trevliga format som postscript stds, s ven om global
  tckning r gles kan detta vara en anvndbar service. Fr ytterligare
  information om att skriva ut till en fax via remote printing service,
  se Remote Printing WWW Site <http://www.tpc.int/>.



  14.  Hur generar jag ngot vrt att skriva ut.

  Hr gr vi in i ett riktigt rttbo av mjukvara. Normalt kan Linux kra
  flera typer av binrfiler med varierande grad av framgng: Linux/x86,
  Linux/Alpha, Linux/Sparc, Linux/foo, iBCS, Win16/Win32s (med dosemu
  och, ngon dag, med Wine), Mac/68k (med Executor), och Java. Jag
  kommer bara att ta upp rena Linux och vanliga Unix program.

  Till Linux sjlvt faller valet oftast begrnsat till de program som
  normalt finns till Unix:


  14.1.  Markeringssprk (Markup languages)

  De flesta markeringssprk passar bst till stora eller repetitiva
  projekt dr du vill att datorn skall ta hand om layouten av texten fr
  att gra den enhetlig. Att frska gra ett snyggt tecken i ett
  markeringsprk kommer frmodligen att gra ont...


     nroff
        Detta var ett av de frsta markeringssprken till Unix.
        Manualsidorna r de vanligaste exemplen p jobb som formaterats
        med *roff macros; mnga lskar dem, men nroff har, tminstone
        fr mig, en krngligare syntax n ndvndigt, och r frmodligen
        ett dligt val  fr nya arbeten. Det r dock vrt att veta att
        du kan typstta en manualsida direkt till postscript med groff.
        De flesta man kommandon gr det t dig med man -t foo | lpr.


     TeX
        TeX, och macropaketet LaTeX, r en av de mest anvnda
        markeringssprken anvnda i Unix. Tekniska arbeten skrivs ofta i
        LaTeX eftersom det verkligen underlttar layoutproblem och r
        forfarande ett av de f ordbehandlar system som stder matematik
        bde komplett och bra. TeX's output format r dvi, som
        konvereras till PostScript eller Hewlett Packard's PCL med dvips
        eller dvilj.


     SGML
        Det finns tminstone en fri sgml analyserare fr Unix och Linux;
        den formar grunden fr Linuxdoc-SGML's egna dokumentsystem. Det
        kan stdja andra DTDs (dokument-typ-deklarationer) ocks.


     HTML
        Ngon freslog att man fr enkla projekt kan skriva i HTML och
        sedan skriva ut med Netscape. Jag hller inte med, men det str
        fr mig.


  14.2.  WYSIWYG Ordbehandlare

  Det r inte lngre ngon brist p WYSIWYG ordbehandlings mjukvara.
  Flera kompletta Office paket finns tillgngliga. Ett av dem r gratis
  fr personligt bruk (StarOffice).

     StarOffice
        Ett tyskt fretag distribuerar StarOffice p Internet gratis fr
        Linux. Detta fullfjdrade office paket har allt du kan frvnta
        dig, och du slr inte priset. Det finns en mini-HOWTO dr ute
        som beskriver hur du skaffar och installerar det. Det generear
        PostScript eller PCL s det fungerar med i stort stt alla
        skrivare som normalt fungerar med Linux.

     LyX
        LyX r ett skal till LaTeX som verkar mycket lovande. Se the LyX
        Homepage <http://www.lyx.org/> fr mer information. Det finns en
        KDE version av LyX som heter KLyX. Frfattaren till Lyx och
        upphovsmannen till KDE r samma person.

     The Andrew User Interface System
        AUIS inkluderar ez, en WYSIWYG-liknande editor med de vanligaste
        ordbehandlings tillbehren, HTML kapabilitet coh full MIME e-
        post och newsgroup std. Tyvrr underhlls inte AUIS lngre.

     Koffice
        The KDE project arbetar p en hel office svit. Jag tror inte att
        den r redo fr att presenteras nnu.

     GNOME
        The GNOME project arbetar ocks p ngra GNU-licensierade
        office-verktyg. Inget finns tillgngligt nnu, dock.

     Kommersiella alternativ
        tminstone Caldera och Red Hat sljer programpaket innehllande
        de vanliga office applikationerna som en WYSIWYG ordbehandlare
        och ett kalkylprogram. Jag antar att de gr ett snyggt jobb, men
        jag har aldrig testat dem. Jag tror att Caldera sljer Sun's
        WABI ocks, s du kan frmodligen kra ngonting som MS Office
        under det om du mste integrera med andras filer.


        Jeff Phillips <jeff@I_RATUS.org> anvnder Caldera's WordPerfect
        fr Linux (p Slackware, av alla) och sger att det fungerar
        bra. Det inkluderar tydligen inbyggt skrivarstd, som man borde
        frvnta sig. Caldera borde ha mer information p
        <http://www.caldera.com/>. Du kan ocks kpa en nyare version av
        WordPerfect direkt frn en av Corels utvalda Unix
        terfrsljare.


        RedHat och SuSE levererar ett paket som heter Applixware; du
        hittar deras hemsida p  <http://www.redhat.com/>. Applix finns
        tillgnglig till mnga plattformar och inkluderar,
        kalkylprogram, ordbehandlingsprogram, presentationspaket, osv.
        Det finns en separat version av Applix tillgnglig i Java som
        heter ApplixAnyWhere, jag antar att den r ganska lika som den
        andra men lngsammare och med mindre finesser.


        Andra handlare kan grna skicka mig en rad med deras
        erbjudanden.



  15.  Frhandsgranskning av utskrivbara saker p skrmen.

  Nstan allt du kan skriva ut kan ocks frhandsgranskas p skrmen.

  15.1.  PostScript

  Ghostscript har en X11 drivrutin som fungerar bst under kontroll av
  PostScript frhandsgranskaren Ghostview. De senaste versionerna av
  dessa program borde kunna visa PDF filer ocks. Mrk att gv har bytt
  ut den gamla frhandsgranskaren "Ghostview", det nya
  anvndargrnssnittet r mycket snyggare och har mer finesser n det
  enkla gamla Athena grnssnittet.


  15.2.  TeX dvi

  TeX DeVice Independant filer kan frhandsgranskas under X11 med xdvi.
  Moderna versioner av xdvi anropar ghostscript fr att rendera
  PostScript specialare.

  En VT100 drivrutin finns ocks. Den heter dgvt. Tmview fungerar med
  Linux och svgalib, om det r allt du kan stadkomma.


  15.3.  Adobe PDF

  Adobe's Acrobat Reader finns till Linux; ladda bara hem den frn deras
  hemsida  <http://www.adobe.com/>.

  Du kan ven anvnda xpdf, som r freeware och levereas med kllkod,
  och jag tror att Ghostview stder visning av PDF filer med gs under
  X11 vid den hr tiden.
  16.  Seriella skrivare under lpd

  16.1.  Konfigurera i printcap

  Lpd tillhandahller fem attribut vilka du kan stta i /etc/printcap
  fr att styra instllningarna av den seriella port som skrivaren
  sitter p. Ls printcap manualsidan och notera betydelsen av br#, fc#,
  xc#, fs# och xs#. De siste fyra av dessa attribut r bitmaps som
  indikerar instllningarna fr att anvnda porten. Till exempel br#
  atrributet r helt enkelt baudtalet t.ex. `br#9600'.


  Det r vldigt enkelt att verstta frn stty instllningar till
  printcap argumentinstllningar. Om du behver, titta i manualsidan fr
  stty nu.


  Anvnd stty fr att konfigurera skrivarporten s att du kan `cat' en
  fil till den och den skrivs ut korrekt. D hr ser `stty -a' ut fr
  min skrivarport:


       dina:/usr/users/andy/work/lpd/lpd# stty -a < /dev/ttyS2
       speed 9600 baud; rows 0; columns 0; line = 0;
       intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
       eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
       lnext = ^V; min = 1; time = 0;
       -parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
       -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr
       -igncr -icrnl ixon -ixoff -iuclc -ixany -imaxbel
       -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0
       bs0 vt0 ff0
       -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase
       -tostop -echoprt -echoctl -echoke




  De enda skillnaderna mellan denna och det stt porten initieras vid
  systemstarten r -clocal, -crtscts, och ixon. Din port kan vara annor
  lunda beroende p hur din skrivare gr fldeskontroll.


  Du anvnder faktiskt stty p ett p ngotvis udda stt. Eftersom stty
  kr mot terminalen som r kopplad till dess standard input, anvnder
  du det till manipulera en given serieport genom att anvnda tecknet
  `<' enligt ovan.


  Nr du vl ftt stty instllningarna rtt, s att `cat fil >
  /dev/ttyS2' (i mitt fall) snder filen till skrivaren, tittar du i
  filen /usr/src/linux/include/asm-i386/termbits.h. Denna innehller en
  en hel del #defines och ngra structs. (Du kanske vill `cat'a denna
  fil till skrivaren (det funkar ju nu, eller hur?) och anvnda den som
  ett kladdpapper) G till sektionen som brjar med



       /* c_cflag bit meaning */
       #define CBAUD   0000017




  Denna sektion listar betydelsen av fc# och fs# bitarna. Du kommer att
  mrka att namnen dr (efter baudtalen) matchar en av raderna av stty
  output. Sa jag inte att detta skulle bli enkelt?


  Notera vilken av instllningarna som inleds med ett - i din stty
  output. Summera ihop alla dessa siffror (de r oktala). Detta
  representerar de bitar som du vill "clear"a, s resultatet r din fc#
  mjlighet. Naturligvis, kom ihg att du kommer att stta dessa bitar
  direkt efter du har "clear"at, s du kan anvnda `fc#0177777' (Det gr
  jag).


  Nu gr du detsamma fr instllningarna (listade i denna sektion) som
  inte har ett - fre dem i din stty output. I mitt exempel r de
  viktiga CS8 (0000060), HUPCL (0002000), och CREAD (0000200). Notera
  ocks argumenten fr ditt baudtal (mitt r 0000015). Lgg ihop dessa,
  och i mitt exempel fr du 0002275. Det skall in i din fs# mjlighet
  (`fs#02275' funkar bra i mitt exempel).


  Gr samma sak med set och clear fr nsta sektion av include filen,
  "c_lflag bits". I mitt fall behvde jag inte "set"a ngot s jag
  anvnde bara `xc#0157777' och `xs#0'.


  16.2.  ldre seriella skrivare som tappar tecken

  Jon Luckey pekar ut att ngra ldre seriella skrivare med billiga
  seriella interface och sm buffers verkligen menar stopp nr de sger
  s med fldeskontrollen. Han kom p att stnga av FIFO'n p hans
  Linuxburks 16550 serieportar med setserial fixade problemet med
  tappade tecken (du till synes bara specificerar uart typen till 8250
  fr stadkomma detta).


  17.  Tack till

  smbprint informationen r frn en artikel av Marcel Roelofs
  <marcel@paragon.nl>.


  nprint informationen fr att anvnda Netware skrivare tillhandahlls
  av Michael Smith <mikes@bioch.ox.ac.uk>.


  Seriella skrivare under lpd sektionen r frn Andrew Tefft
  <teffta@engr.dnet.ge.com>.


  Stoffet om gammas och sdant fr gs skickades in av Andreas
  <quasi@hub-fue.franken.de>.


  De tv paragraferna om 30 sekunders closing_wait fr den seriella
  drivrutinen tillhandahlls av Cris Johnson <cdj@netcom.com>.


  Robert Hart skickade in ngra utmrkta paragrafer om konfigureringen
  av en utskriftsserver till ntverks HPs som jag anvnde ordagrant.


  Och speciellt tack till er dussin p dussin som ppekat stavfel,
  brustna URL:er och fel i dokumentet ver ren.




