Ophavsret © 2001 Kurt Pfeifle
Tilladelse er hermed givet til at kopiere, videregive og/eller ændre dette dokument under betingelserne i GNU's Fri Dokumentation License, Version 1.1 eller en vilkårlig senere version publiceret af Free Software Foundation; uden invariante afsnit, uden tekster før omslaget, og uden tekster efter omslaget. En kopi af licensen er inkluderet i afsnittet ved navn " Medvirkende og licens".
Denne vejledning beskriver KDEPrint. KDEPrint er ikke et alenestående program. Det er den nye udskriftsomgivelse for KDE 2.2. KDEPrint er et mellemlag mellem KDE (eller andet) programmer og det valgte (og installerede) udskriftssystem for dit OS (operativsystem).
Indholdsfortegnelse
Eksempelliste
Denne vejledning beskriver KDEPrint. KDEPrint er ikke et alenestående program. Det er den nye udskriftsomgivelse for KDE 2.2. KDEPrint er et mellemlag mellem KDE (eller andet) programmer og det valgte (og installerede) udskriftssystem for dit OS (operativsystem).
Det bør bemærkes at både udvikleren af dette program, og forfatteren af dette dokument kender mest til CUPS som et udskriftssystem. På det tidspunkt hvor dette skrives er CUPS det bedst understøttede udskriftssystem, og det bedst dokumenterede.
Denne vejledning er under udarbejdelse, og senere versioner af KDEPrint programmellet og udgaver af denne vejledning vil understøtte og udforske andre printsystemer nærmere.
I mellemtiden opmuntres du til at udforske Udskriftshåndteringsmodulet i KControl også selvom dit udskriftssystem ikke er dækket godt. Du vil forhåbentlig finde dets virkning temmelig selvindlysende, uanset hvilket udskriftssystem du bruger.
Lauri Watts, KDE dokumentationsholdet
Formålet med dette kapitel er at give et teknisk overblik af KDEPrint som ikke-programmører kan forstå.
KDEPrint er et nyt og revolutionerende værktøj til at give adgang til udskriftsservicer både for KDE-brugere og KDE-udviklere.
Du kan få adgang til KDEPrint's funktioner på forskellige måder: gennem udskriftshåndteringen i KControl, gennem kprinter-kommandoen eller gennem du dialoger der popper op hvis du ønsker at udskrive.
KDEPrint er ikke en erstatning for selve udskrifts-undersystemet. KDEPrint sørger altså ikke for printkøen og den udfører ikke den basale behandling af PostScript® eller anden udskriftsdata
KDEPrint er et mellemlag mellem køen og databehandlings-udskriftsundersystemet (som installeret), og programmet der prøver at udskrive. KDEPrint giver en fælles grænseflade, for KDE-udviklere og KDE-brugere til forskellige understøttede udskrifts-undersystemer. På samme tid er den højst indstillelig både som standard og i brug.
KDEPrint er nem at bruge både for KDE-udviklere og slutbrugere. Udviklerne kan overføre deres programmer med minimal ændringer til at bruge KDEPrint i stedet for det gamle Qt™ udskrifts“system”. Brugeren kan nemt vælge og indstille deres udskrifts-undersystem.
Som en reference til nye KDE-brugere: Qt™ er det basale bibliotek og grafiske værktøj, som bruges af alle KDE-programmer; Qt™ er udvikler af TrollTech, et norsk software-firma.
KDEPrint har forskellige ansigter for forskellige folk.
KDEPrint tillader brugere og/eller administratorer, afhængig af deres rettigheder, at få adgang til udskrifts-undersystemer (CUPS, LPD, RLPR, LPRng, PDQ osv.) gennem en grafisk KDE-grænseflade (GUI). Ved brug af KDEPrint kan de udskrive, administrere job, printere og printerdæmonen, alt på en behagelig måde.
Erfarne brugere vil kunne lide muligheden for at stikke et fungerende filter for udskriftsdata mellem uddata fra deres program og inddata til det valgte udskrifts-undersystem. Nogle eksempler på dette leveres allerede med “almindelig” KDEPrint. Læs videre.
Hvis en KDE-udvikler har brug for adgang til udskrift fra sit program, behøver han/hun ikke indkode udskriftsfunktionerne fra bunden af. Før KDE 2.2 blev denne service givet af QPrinter
-klassen, en biblioteksfunktion fra Qt™-værktøjssamlingen. QPrinter
-klassen afhang af den forældede “Linje Printer Dæmon” (LPD). KDEPrint-biblioteket baseres fast på det mere moderne "Common UNIX® Printing System" (CUPS), mens den på samme tid bevarer bagud kompatibilitet med LPD og andre ældre eller mindre udviklede udskrifts-systemer. Den lader også “lader døren være åben” for nye udviklinger der måtte opstå.
For at KDE-udviklerne skal kunne bruge den nye KDEPrint-klasse i deres programmer, kræves der blot minimale ændringer i deres kode: for hvert kald af QPrinter
, skal de blot ændre dette til KPrinter
. Erstatning af ét (!) bogstav nogle få steder, og så er de automatisk færdige; deres program kan nu bruge alle egenskaber i det nye KDEPrint bibliotek.
Mere ambitiøse udviklere, eller de der har specielle krav kan gøre mere: på trods af KDEPrint's egenskabsrige rammer, kan de stadigvæk brugerindrette udskriftsdialogen for deres program ved at lave et ekstra “Faneblad”, hvor deres udvidelse til standard-KDEPrint vil kunne føle sig rigtig hjemme.
Den sidstnævnte egenskab er ikke blevet brugt særlig meget indenfor KDE indtil videre, da udviklerne endnu ikke er fuldt klare over KDEPrint's styrke. Forvent mere af dette i den nære fremtid. Et eksempel jeg opdagede er KCron-programmet. Det lader dig redigere crontab gennem et GUI. Udviklerne har implementeret en udskriftsegenskab der lader dig (eller root
) vælge om du ønsker at udskrive hele crontab (for alle brugere) eller blot den del der er markeret. Du kan se virkningen på KDEPrint i følgende skærmbilleder.
Dette billede giver et eksempel fra KCron-redskabet.
Dialogen til at indstille KCron's udskriftstilvalg: det ekstra faneblad der hedder Cron-indstillinger er indefra KCron, ikke KDEPrint; det er en speciel udvidelse tilføjet af KCron-udviklerne til udskriftsformål, det kommer ikke fra, men udføres af KDEPrint. Udviklere af andre programmer kan frit implementere deres egne ting, hvis de føler der er behov for det.
KCron's tilføjelse til KDEPrint-dialogen.
KDEPrint's nem-at bruge grænseflade for alle understøttede udskrifts-undersystemer eliminerer naturligvis ikke de basale traditionelle svagheder i nogle af disse systemer. Men det glatter de rå kanter ud. Forskellige brugere kan bruge forskellige udskriftssystemer på den samme felt. En bruger står frit for endog at skifte udskrifts-undersystemet “midt i det hele”, fra udskriftsdialogen, for det næste job. (Dette er muligt hvis forskellige systemer er installerede på en sådanmåde at de ikke “går i vejen for hinanden”.)
De fleste UNIX®-brugere er vant til LPD udskrift. LPD giver kun meget basale udskriftsfunktioner, er meget ufleksibel og udnytter ikke de mange muligheder i mere moderne udskriftssystemer såsom CUPS. Selvom det også virker eksternt over en vilkårlig afstand (som enhver TCP/IP-baseret protokol), manglerLPD bi-direktionel kommunikation, godkendelse, adgangskontrol og krypteringsstøtte.
KDEPrint kan bruge CUPS til at understøtte:
Forespørgsel på LAN for tilgængelige printere,
Basal-, Digest- og Certifikat-godkendelse,
Adgangskontrol baseret på IP-adresser, netadresser, netmasker, vært- og domænenavne,
og 128-Bit TLS eller SSL3 kryptering af udskriftsdata, for at forhindre hemmelige lyttere eller i det mindste at gøre det meget sværere.
Dette gør KDEPrint en meget mere robust og troværdig løsning end at bruge den ærværdige LPD.
Du får adgang til KDEPrint eller dele af den på fire forskellige måder:
Gennem dine programmer: hvis du kalder udskriftsdialogen (enten Fil+Udskriv...) eller knappen med den lille printerikon på; dette åbner udskriftsdialogen.
gennem den skrevne kommando kprinter i et terminal eller et Konsole-vindue eller fra Kør kommando... mini-CLI-vinduet: dette åbner også udskriftsdialogen.
fra -knappen ved at starte KControl, og så gå til System+Udskriftshåndtering. Dette åbner for KDEPrint-administration som en del af KDE's kontrolcenter og også tillader dig at skifte til andre dele af KControl
fra en kommandolinje (Konsole eller mini-CLI) skrives kcmshell
. Dette åbner kun KDEPrint-delen af KControl for at ændre din opsætning printers
Start af kprinter-dialogen fra et Kør kommando...-vindue.
Her er en Kivio-tegning af kprinter-dialogen som den kommer frem efter den er startet... Du kan altid tilføje en ny printer ved at klikke på den lille Guide-knap (markeret rød/gul i denne tegning).
kprinter-dialog startet (Kivio kladdetegning)
Det nye KDEPrint-system har mere end et hovedpunkt. Når man har arbejdet i omgivelser tidligere, der ikke netop kan siges at være sofistikerede hvad udskrift angår, prøv engang at kigge på hvad der kommer med KDEPrint
KDEPrint har en “Tilføj printer guide”. .Tilføj printer'-guiden hjælper dig med at tilføje og indstille en ny printer. Du kan naturligvis også gøre dette manuelt.
KDEPrint hjælper dig med at “opdage” printere. Den kan scanne miljøet for tilgængelige enheder og køer. Dette virker for netværksforbindelser ved brug af TCP (AppSocket, også kendt som HP® JetDirect®, eller IPP) eller SMB/Samba (“shared” Windows®)-printere og delvist for direkte forbundne printere over parallel, seriel eller USB-forbindelser.
Guiden gør installation og håndtering af driverne “pærenemt”. Valg, indstilling og testning skal være nemt som aldrig før på et vilkårligt Linux®-lignende system.
Udskrifts-jobfremviseren startes automatisk af kprinter. Den kan være sænket ned i KDE-panelet (i statusfeltet). Udskrifts-jobfremviseren tillader fuld jobhåndtering, hvis dette er understøttet af udskriftsundersystemet.
Du kan:
Holde og give slip på jobs,
Flytte ventende jobs til en anden printer,
Annullere ventende jobs, eller jobs der bliver behandlet.
Et skærmbillede af KDEPrint's udskriftjob-fremviser viser de oplysninger du får: Job-ID, den brugte printer, job-navn, job-ejer, job-status og job-størrelse. I den næste udgave af KDEPrint vil du også få oplyst antal sider (som CUPS beregner dem; se kapitlet om sideoptælling hvis du vil vide mere om hvor godt og skidt dette fungerer).
Et skærmbillede af KDEPrint's udskriftjob-fremviser.
En alternativ måde at kigge på de samme oplysninger (og få den samme mængde kontrol er gennem KDE's kontrolcenter ved at vælge System+Udskriftshåndtering. Hvis du ikke ser Printer-information, så kan du -klikke på vinduets baggrund og vælge Vis Printer-information. Gå derpå til Jobs fanebladet for at se dette:
KDEPrint bruger forskellige moduler til at realisere grænsefladen til de mulige udskrifts-undersystemer. Ikke alle moduler er helt udviklede endnu, men du vil have basal udskrifts-funktionalitet med:
LPD (BSD-stil)
LPRng (Red Hat®, hvis du blot bruger dets BSD-stil delmængde),
RLPR (et kommando-linje LPR-redskab, som ikke bruger en printcap
-fil.
“eksterne” udskriftskommandoer (Netscape®-lignende).
Men vigtigst af alt, fuld støtte for CUPS er der allerede. Moduler for andre udskriftssystemer såsom PLP, PPR og PDQ vil muligvis være tilgængelige senere.
KDEPrint gør KDE meget mere fleksibel. Den giver frit valg til brugere af KDE 2.2. For at bruge de forskellige tilgængelige udskrifts-undersystemer, skal disse selvfølgelig være installerede uafhængigt af KDE. I tidligere udgaver, var brugerne tvunget til at bruge det gamle LPD-style udskrifts-undersystem. Nu kan de endog bruge CUPS. I fremtiden vil der være nem integration af nye undersystemer, som de dukker op efterhånden.
Visse specielle egenskaber ved KDEPrint afhænger af det valget udskrifts-undersystem. Denne afhængighed kan eksistere fordi disse egenskaber kun er implementeret der; husk at, KDEPrint er et lag mellem KDE-programmer og udskrifts-undersystemet, men den er ikke en erstatning for selve udskrifts-undersystemet. Sådan afhængighed kan være der af en anden grund: at KDEPrint endnu ikke har implementeret en grænseflade til alle undersystemerne egenskaber.
Andre egenskaber inkluderer fordele fra KDEPrint som er uafhængige af det valgte udskrifts-undersystem, og er tilgængelige for alle. For øjeblikket er der “specielle” eller “virtuelle” printere, og visse generiske “præ-filtre”.
Fra udskriftsdialogen, kan du vælge at kigge på forhåndsvisningen. Til dette formål sendes udskriftsfilen gennem filtre, der gør dem passende til at se dem på skærmen ved brug af KGhostView.
Blandt de øvrige KDEPrint-egenskaber er der nogle få “specielle” eller “virtuelle” printere:
Disse specielle printere kan:
Konvertér dit dokument til en PDF-fil ved hjælp af et eksternt program.
Sende dit dokument som en e-mail med en vedlagt PDF-fil.
Gemme dit dokument som en PostScript®-fil.
Sende det gennem et tilgængelig underliggende program såsom Hylafax som en fax.
Disse “specielle” printere kommer frem i brugerens udskriftsdialog nøjagtig ligesom “normale” printere. De kan indstilles fuldstændig hver bruger for sig som andre printere.
KDEPrint giver dig en omgivelse, så du kan definere og indstille dine egne “præ-filtre”. Disse præ-filtre kan få virkning før de gives videre til dit udskrifts-undersystem til yderligere behandling, men efter (PostScript®, almindelig tekst eller andet) udskriftsfilerne er blevet genereret af dit program.
Der er nogle få nyttige filtre allerede prædefinerede. De er:
“Flere sider pr ark”-filtret,
“enscript”-tekstfiltret,
og tre filtre til at hjælpe med at udskrive pamfletter.
Du kan lave dine egne filtre baseret på et vilkårligt program som kan behandle PostScript®-, almindelige tekst- eller billedfiler, og producere uddata til et vilkårligt af disse formater.
Disse filtres bliver indstillet gennem XML-filer. Dette er gør en udvidelse af begrebet meget enkel for meget erfarne udviklere, men slutbruger-indstilling bliver også gjort gennem en intuitiv grafisk brugerflade. Så hav ingen angst, du behøver ikke at lære XML på grund af KDEPrint!
Dette r et prædefineret filter der bliver installeret med KDEPrint. Det tillader dig at lave modificeret PostScript®-uddata, fra PostScript®-inddata, som bliver udskrevet som 1, 2 eller 4 logiske sider på et enkelt ark papir.
Dette er et prædefineret filter der bliver installeret sammen med KDEPrint. Det lader dig producere PostScript®-uddata fra en vilkårlig tekstfil, det inkluderer syntaksfremhævning for programlistninger, pretty-printing og pæne indstillelige siderammer og hoveddele.
Hvis din printer kan producere dupleks-uddata, ved brug af en- ellerto-gennemgange-teknologi, kan du måske et eller en kombination af “pamflet”-filtrene.
For dupleks printere, sørg for at bruge dupleks-tilvalget som “drejer” uddata langs den korte papirkant. Når du så folder det udskrevne papir langs midten bliver dit dokument en lille bog eller pamflet.
Hvis du kun har en enkelsimpleks-enhed, kan du gøre det samme, ved at bruge to forskellige filtre og nogle få ekstra skridt.
Afhængig af din model, skal du først bruge filtret for udskrift på “ulige” sider, derpå skal du indsætte papiret i den rigtige rækkefølge i papirbakken for at udskrive de ulige sider skrevet på bagsiden. Disse kan så foldes til en lille bog.
KDEPrint indeholder et modul for CUPS. CUPS, “Common UNIX® Printing System” (http://www.cups.org/), er det mest avancerede, stærke og fleksible af alle udskrifts-undersystems på UNIX® og andre UNIX®-lignende operativsystemer. Den er stadig ret ny, men er baseret på IPP, Internet Printing Protocol, den nye og kommende standard for fremtidig netværksudskrift. CUPS er klart det foretrukne udskriftssystem for Michael Goffioul, KDEPrint's hovedudvikler.
Erfarne KDE-brugere kender muligvis allerede Michael's redskaber qtcups og kups (udviklet sammen med Jean-Eric Cuendet). De var indtil nu den grafiske GUI-forende for CUPS med en stræk relation til KDE.
Begge redskaber bruges formodentlig stadigvæk meget. For dem der ikke kender til dem er der en kort forklaring her.
qtcups var en grafisk forende for lp eller lpr-udskriftskommandoerne som bliver installeret af CUPS. Når qtcups blev åbnet åbnedes en dialog. Denne dialog lader dig vælge din printer og tilvalg for udskriftjobbet på en behagelig måde. qtcups virkede fra kommandolinjen, eller indefra programmerne, når programmet havde en indstillelig udskriftskommando.
kups var en grafisk indpakning for administrationsopgaverne for din CUPS-server, og for CUPS-dæmonen i dens centrum. Du kunne tilføje, slette, ændre, indstille, starte og stoppe printere. Du kunne annullere, slette, flytte, stoppe og genstarte udskriftjob, og du kunne ændre opsætningen af dæmonen, starte, stoppe og genstarte den.
CUPS-modulet i KDEPrint indeholder nu alle (og flere) funktioner der blev stillet til rådighed af qtcups og kups i tidligere KDE-udgaver.
I stedet for qtcups kan du nu bruge kprinter-kommandoen. Og i stedet for kups vil du formodentlig bruge kcmshell printers fra nu af.
KDEPrint-modulet for CUPS lader dig også administrere udskrifts-undersystemet ligesom kups gjorde tidligere. Den kan starte, stoppe og indstille din CUPS-dæmon. Den kan også starte, stoppe, tilføje og slette “printere” (dvs. printerkøer) og printer-“udgaver”. Printer-udgaver er printerkøer der peger på den samme fysiske uddata-enhed, men med en anden standard opsætning af udskriftstilvalgene.
KDEPrint's CUPS-modul giver dig adgang til en “grafisk udskriftskommando”, ligesom qtcups gjorde tidligere.
Brug kprinter i et vilkårligt program, selv ikke-KDE-programmer der lader dig indstille din udskriftskommando. Eksempler på sådanne er Netscape® og StarOffice, men ikke de fleste præ-KDE 2.2 programmer.
Et skærmbillede der viser hvordan man bruger den nye kprinter udskriftskommando i stedet for den gammeldags lpr... Du må selvfølgelig have kprinter i din sti $PATH
, eller angive den fulde sti i dialogen; f.eks.
. Netscape® vil huske dette og fra nu af vil du altid få kprinter-dialogen til at indstille dine udskrifter./usr/bin/kprinter
Du kan også bruge kprinter fra kommandolinjen og se den resulterende dialog poppe op:
Husk blot at du også skal angive filen der skal udskrives fra kommandolinjen: kprinter
. Dette vil videregive CUPS-Software Administrator Manual til kprinter dialogen, som så vil poppe op med standardprinteren valgt./usr/share/doc/packages/cups/sam.pdf
For at vælge en bestemt printer på forhånd fra kommandolinjen, bruges -d
option, f.eks.: kprinter
. Du kan stadig afvælge printeren -d DANKAcolorC2000
/home/kurt/linuxtag2001-paper.ps
DANKAcolorC2000
og vælge en anden.
Du kan imidlertid ikke kalde kprinter
uden en udskriftsfil og håbe på at åbne en filvalgs-dialog fra kprinter-vinduet. Dette er en egenskab der først vil blive implementeret i næste version.
Ved brug af kprinter kan du bruge “alle de avancerede egenskaber” for din printer. Du vil få brug for en enheds-specifik såkaldt PPD (PostScript® Printer Description) for at aktivere CUPS for at få dette tandem-hold til at gøre det for dig. Læs mere om dette i “Enhedsuafhængige udskriftsvalg”.
Hvad du har nu er den første, allerede meget avancerede udgave af KDEPrint. Denne version er, naturligvis, fuldt brugbar til udskrift. Du kunne endda mene at “det har aldrig været så nemt” (ikke engang i den mørke tidsalder hvor du blev nødt til at bruge Microsoft® Windows®.
I fremtiden vil, KDEPrint blive endnu bedre. Den vil blive bedre til at “detektere” selve dit installerede udskrifts-undersystem. KDEPrint er allerede temmelig god til at detektere om du har CUPS på dit system automatisk. Men i mange tilfælde vil du blive nødt til at fortælle KDEPrint hvad du bruger, hvis du ønsker at beholde et tidligere udskriftssystem.
Den vigtigste forbedring i den nære fremtid, vil være kompletteringen af et LPRng-plugin. Dette er for øjeblikket stadig meget basal. Det er begrænset til den rene klassiske LPD-del af LPRng.
Du vil muligvis også kunne tilføje printere direkte printdialogen på dit system “når du har brug for det”, uden at gå til KControl først.
Nogle mindre forbedringer der allerede er planlagt er:
tilføj en filvalgsdialog fra kprinter-vinduet for at tillade at kombinere flere filer til det aktuelle udskriftsjob
tilføj en “historik”-knap til KJobViewer-vinduet og også en søjle der viser det antal sider CUPS beregner for jobbet.
Endelig vil der være en “IO-slave” som vil give dig adgang til dit udskrifts-undersystem, for eksempel via Konqueror. Med dette vil du snart kunne gennemse dit udskrifts-undersystem fra Konqueror gennem en URL-lignende genvej såsom print://printers/printername
. En KPart vil tilføje en virtuel mappe til serviceafsnittet af Konqueror's navigeringspanel, hvilket giver en rar integreret måde at gennemse og håndtere dit udskriftssystem via URL'en print:/manager
.
Kontakt venligst Michael Goffioul på (kdeprint AT swing.be)
med yderligere bruger- eller udvikler-forslag.
Formålet med dette kapitel er at give en smule af den teoretiske baggrund for udskrift i almindelighed og for CUPS i særdeleshed. Hvis du ikke har brug for dette vil du måske hellere skippe frem til næste kapitel. Jeg vil regne med du kommer tilbage til dette kapitel på et eller andet tidspunkt alligevel, for sommetider har man brug for lidt ekstra teori for at løse et praktisk problem.
Udskrift er et af de mere komplicerede kapitler i IT-teknologi.
Tidligere i historien måtte enhver udvikler af et program, der skulle kunne producere udskriveligt materiale ud, også selv skrive sine egne printer-drivere. Dette var temmelig kompliceret, fordi forskellige programmer har forskellige filformater. Selv programmer med det samme formål, for eksempel, tekstbehandlingsprogrammer, forstår ofte ikke hinandens formater. Der var derfor ingen fælles grænseflade for alle printere, og derfor understøttede programmørerne ofte kun nogle få udvalgte modeller.
Når en ny enhed kom på markedet var det nødvendigt at programforfatterne skulle skrive en ny driver, hvis de ønskede deres program skulle understøtte den. Det var også umuligt for fabrikanter at sørge for at deres enhed var understøttet af noget som helst program i hele verden (selvom der var langt færre end i dag).
Det at skulle understøtte ti programmer og et dusin printere betød, at en systemadministrator skulle håndtere 120 drivere. Så udviklingen af forenede grænseflader mellem programmer og printere blev et påtrængende behov.
Fremkomsten af “Sidebeskrivelsessprog”, som beskriver den grafiske repræsentation af blæk og toner papirark (eller andre uddata enheder som skærme fotosættere, osv.) i på en fælles måde udfyldte et stort tomrum.
En sådan udvikling var PostScript® af Adobe. Det betød at en programmør kunne koncentrere sig om at få programmet til at lave en PostScript®-sprog beskrivelse af udskriftssiden, mens udskriftsenhed-udviklerne kunne fokusere på at få deres enheder til at forstå PostScript®.
Naturligvis kom der med tiden en udvikling af andre beskrivelsesmetoder. De vigtigste konkurrenter til PostScript® var PCL (“Print Control Language”, fra Hewlett-Packard®), “ESC/P” (fra Epson) og GDI (“Graphical Device Interface” fra Microsoft®).
Fremkomsten af disse sidebeskrivelsessprog gjorde livet nemmere og hjalp udviklingen for alle. Men det faktum at der stadig var forskellige, inkompatible og konkurrerende sidebeskrivelsessprog gør livet svært nok endda for brugere, administratorer, udviklere og fabrikanter.
PostScript® er den mest brugte i professionel printmiljøer såsom PrePress og udskriftsservice industrier. Indenfor UNIX® og Linux® domænerne, er PostScript® den dominerende standard som et PDL. Her genererer næsten alle programmer en PostScript®-repræsentation af dens sider når du trykket på “Udskriv”-knappen. Lad os kigge på et simpelt eksempel på (hjemmelavet) PostScript®-kode. Følgende listning beskriver to simple tegninger:
Eksempel 4.1. PostScript®-kode
%!PS 100 100 moveto 0 50 rlineto 50 0 rlineto 0 -50 rlineto closepath .7 setgray fill % first box over; next 160 100 moveto 0 60 rlineto 45 10 rlineto 0 -40 rlineto closepath .2 setgray fill
Dette beder den imaginære PostScript®-“pen” om at tegne en sti af en bestemt form, og så udfylde den med forskellige afskygninger af gråt. Den første del oversættes til mere forståeligt engelsk som “Gå til koordinat (100,100), tegn en linje med længde 50 opad; så en derfra til højre, så ned igen, og til sidst lukkes denne del af. Udfyld nu den tegnede form med 70% grå.”
PostScript® kan naturligvis være meget mere kompliceret end dette simplistiske eksempel. Det er et fuldt udviklet programmeringssprog med mange forskellige operatorer og funktioner. Du kan endog skrive PostScript®-programmer der beregner Pi's værdi, formatere en disk eller skriver til en fil. Hovedværdien og styrken ved PostScript® er imidlertid i evnen til at beskrive layout af grafiske objekter på en side: den kan også skalere, spejle, translatere, transformere, rotere og forvrænge alt du kan forestille dig på et stykke papir -- såsom bogstaver i forskellige skrifttyperepræsentationer, figurer, forme, skygger, farver, linjer, prikker, raster...
En PostScript®-fil er en repræsentation af en eller flere sider der skal udskrives, beskrevet på en relativ abstrakt måde. Ideelt set er det meningen at siderne skal beskrives uafhængigt af enheden. PostScript® er ikke direkte “synlig”; det lever kun på disken og i RAM som en indkodet repræsentation af fremtidige udskrifter.
Det du ser på et stykke papir er næsten altid et “rasterbillede”. Selv om din hjerne får dig til at se en linje: så tag et godt forstørrelsesglas og du vil opdage masser af små prikker... (Et eksempel på det modsatte er linjer der er tegnede med “pen-plottere”). Og det er det eneste som nutidens printeres “markeringsmaskiner” kan putte på papir: simple prikker i forskellige farve, størrelse og resolution til at lave et fuldstændigt “sidebillede” komponeret af forskellige bitmap-mønstre.
Forskellige printere skal have rasterbilledet tilberedt på forskellig måde. Hvis du tænker på en inkjet-enhed: afhængig af dens resolution, antallet af blækpatroner (de meget gode har brug for 7 slags blæk, mens en billigere måske vil bruge 3), antallet af tilgængelige dyser (nogle printhoveder har mere ned 100!) der fordeler blæk samtidigt, “dithering-algoritmen” der bruges og mange andre ting, er det endelige rasterformat og overførselsrækkefølge til markeringsmaskinen stærkt afhængig af den nøjagtige model der bruges.
I et tidligere liv af “Linje Printer Dæmon”, printere, var det maskiner der hamrede rækker af ASCII-tekst mekanisk på lange medier, foldet som en zig-zag papirslange, trukket fra kartonfelte nedenunder bordet... Sikke en forskel til i dag!
Før de endelige rasterbilleder bliver putte på papir skåret ud i ark, skal de beregnes på en eller anden måde ud fra deres abstrakte PostScript®-repræsentation. Dette er en meget beregnings-intensiv proces. Den kaldes “Raster Imaging Process”, eller hyppigere “RIP”).
Med PostScript®-printere bliver RIP-ning sørget for i selve enheden. Du sender blot en PostScript®-fil til den. “Raster Imaging Processor” (også kaldet RIP) indeni printeren er ansvarlig for (og specialiseret til) at udfylde opgaven at fortolke PostScript®-sidebeskrivelserne og putte rasterbilledet på papir.
Mindre PostScript®-enheder har en hardware-RIP indbygget, den skåret i silicon, på en særlig chip. Store professionelle printere har ofte deres RIP implementeret som en software-RIP indeni en dedikeret hurtig UNIX®-kørt computer, ofte en Sun SPARC Solaris eller en SGI™ IRIX® maskine.
Men hvad sker der hvis du ikke er så heldig at du har en PostScript®-printer tilgængelig?
Du bliver nødt til at gøre RIP-ningen før udskriftsdata sendes til markeringsmaskinerne. Du må selv fordøje PostScript® genereret af dit program på værtsmaskinen (udskriftsklienten). Du bliver nødt til at vide hvordan nøjagtige rasterformat for målprinterens markeringsmaskine skal komponeres.
Med andre ord, da du ikke kan regne med at printeren selv kan forstå og fortolke PostScript®, bliver problemet en hel del mere kompliceret. Du har brug for programmel der prøver at løse de involverede problemer for dig.
Dette er nøjagtigt hvad den allestedsnærværende ghostscript-pakke gør for mange Linux®, *BSD og andre UNIX® maskiner der har brug for at udskrive til ikke-PostScript® printere: ghostscript er en PostScript®-fortolker, en programmeret RIP der er i stand til at køre mange forskellige enheder.
For at producere rastede bitmaps fra PostScript® inddata bruges “filter”-begrebet af ghostscript. Der er mange forskellige filtre i ghostscript, nogle af dem specialiseret til en bestemt model af en printer. ghostscript-filter til bestemte enheder er ofte blevet udviklet uden samtykke eller støtte fra vedkommende der fremstillede enheden. Uden adgang til specifikationerne og dokumentation, var det en pinefuld proces at 'reverse engineer' protokoller og dataformater.
Ikke alle ghostscript-filtre virker lige godt for deres printere. Men nogen af de nyere som stp-filtret for Gimp-printprojektet, producerer fremragende resultater der fører til fotografisk kvalitet der er på lige fod eller endog bedre end deres Microsoft® Windows® driver-modstykker.
PostScript® er det de fleste programmer producerer til udskrift i UNIX® og Linux®. Filtre er de sande arbejdsheste for et vilkårligt udskriftssystem der. Det er dem der egentlig producerer de rigtige bitmaps fra en vilkårlig PostScript®-inddata for ikke-PostScript® målmaskiner.
CUPS bruger sine egne filtre selvom filtersystemet er baseret på Ghostscript. Filtrene pstoraster og imagetoraster filters er nemlig direkte afledt fra Ghostscript-kode. CUPS har re-organiseret og strømlinjet hele mekanikken i denne gamle kode og organiseret den i nogle få klare adskilte moduler.
Denne næste tegning (lavet ved hjælp af Kivio) giver et overblik over filtrene og de undeliggende programmer for CUPS og hvordan de passer sammen. “Flydningen” er ovenfra og ned. De underliggende programmer er specielle filtre: de konverterer ikke data til et andet format, men de sender de parate filer til printeren. Der er forskellige underliggende programmer for forskellige overførselsprotokoller.
Foruden den tunge del med at filteropgaven til at generere en udskrifts-parat bitmap, vil udskriftsprogrammel altid behøve en kø-mekanisme: dette er for at sætte forskellige jobs op i rækkefølge fra forskellige brugere til forskellige printere og forskellige filtre og sende dem til deres mål på efter hinanden. Udskriftsdæmonen tager sig af alt dette.
Denne dæmon sørger for husorden: den er også ansvarlig for jobkontrollen: brugere skal have lov til at annullere, stoppe, genstarte osv. deres jobs (men ikke andre menneskers jobs) og så videre.
Nu da du ved hvordan en PostScript®-sprogfil (som beskriver sidelayout på en måde der stort set er enhedsuafhængig) går over til at blive til et rasterbillede, vil du måske spørge: “Nuvel, der er forskellige slags raster-uddataenheder: for det første er de forskellige i opløsning; så kan der være forskellige papirstørrelser (dupleks udskrift, pamfletter, hullet eller klipset uddata med forskellige ark af farvet papir der bliver taget fra forskellige bakker osv.). Hvordan passer dette ind i modellen med enhedsuafhængig PostScript®?”
Svaret kommer med det såkaldte de PostScript® Printer Description (PPD filer. En PPD beskriver alle de enhedsafhængige egenskaber som kan bruges for en bestemt printermodel. Den indeholder også indkodede kommandoer der skal bruges til at kalde visse egenskaber ved enheden. Men PPDer er ikke en lukket bog, de er simpelthen ASCII tekstfiler.
PPDer blev “opfundet” af Adobe for at gøre det nemt fabrikanter at implementere deres egne egenskaber i PostScript®-printere, og samtidigt beholde en standard måde at gøre det på. PPDer er veldokumenterede og beskrevet af Adobe. Deres specifikation er en de-facto åben standard.
Husk at avanceret PostScript®-udskrift oprindeligt kun blev udviklet til brug på Microsoft® Windows® og Apple Mac®-systemer. I lang tid var alle egenskabsrig udskrift på moderne enheder simpelthen ikke tilgængelig for Linux® og UNIX®. CUPS ændrer dette afgørende. CUPS er meget tæt knyttet til PPDer, og derfor kan eksisterende PPDer bruges i fuldt omfang af alle systemer der køres med CUPS.
Ved brug af PPDer kunne printerfremstillerne indsætte enheds-specifikke maskinelegenskaber i deres produkter, for egenskaber såsom dupleks, hæftning, lave huller, afslutning osv.. Printerdriverne indlæser denne PPD lige som en ekstra indstillingsfil. Printerdriveren lærer således om de tilgængelige enhedstilvalg og hvad en skal kalde dem; driveren præsenterer dem også i en GUI til brugeren. Gennem denne mekanisme kan du stadig udskrive “enheds-uafhængigt” PostScript® sidebeskrivelses-sprog filer og angive enheds-uafhængig afslutningstilvalg oveni, som bliver tilføjet til det program-genererede PostScript®.
PPDer var oprindeligt ikke almindeligt brugt på UNIX® og Linux® systemer. Forhandlerne der sørgede for disse PPDer havde aldrig til hensigt at de skulle bruges på noget som helst andet end understøttede operativsystemer, Microsoft® Windows® og Mac® OS. Gennem det brillante træk fuldt ud at understøtte og udnytte eksisterende PPD-specifikation, giver CUPS nu muligheden for at bruge alle egenskaber på moderne printere til brugere af Linux® og Linux®-lignende systemer. KDEPrint gør dens brug endnu mere komfortabel end selv CUPS-udviklerne nogensinde drømte om.
CUPS kan bruge originale Windows® PPDer, distribueret af forhandlerne i tilfælde af PostScript®-printere. Disse koster normalt ikke penge og de kan tages fra en vilkårlig Windows®-computer med en installeret PostScript®-driver for den model det drejer sig om, eller fra de floppydiske der kommer med printeren. Der er også adskillige steder på nettet man kan downloade dem fra.
Nu ved du hvordan PostScript®-printere kan bruge PPDer. Men hvad med ikke-PostScript® printere? CUPS har gjort et meget smart trick: ved at bruge det samme format den samme datastruktur som PostScript® Printer Descriptions (PPDer) i PostScript®-verdenen, kan den beskrive de tilgængelige udskriftjob-tilvalg for ikke-PostScript® printere på samme måde. For sine egne specielle formål har CUPS blot tilføjet et par specielle tilvalg (nemlig linjen som definerer filtret der skal bruges til yderligere behandling af PostScript®-filen).
Så udviklerne kunne bruge den samme software-maskine til at analysere Printer Description Filer for tilgængelige tilvalg for alle slags printere. CUPS-udviklerne kunne naturligcis ikke regne med at ikke-PostScript® fabrikanterne pludselig ville udvikle PPDer. De måtte selv gøre den svære start og skrive dem fra begyndelsen. Mere end 1000 af disse er tilgængelige gennem den kommercielle udgave af CUPS, der hedder ESP PrintPro.
I mellemtiden er der masser af tilgængelige CUPS-specifikke PPDer. Selv nu kommer de ide fleste tilfælde ikke fra dem der laver printerne, men fra udviklere af frit programmel. CUPS-folkene beviste det og andre fulgte efter: hvor Linux® og UNIX® udskrift for et eller to år siden stadig var noget rod, har man nu støtte for et stort område af printere, inkluderende 7-farve inkjets der kan producere fotokvalitet output.
Du kan få PPDer til at bruge med CUPS og ikke-PostScript® printere fra forskellige steder på nettet:
for det første er der lageret på www.linuxprinting.org, som lader dig generere en “CUPS-O-Matic”-PPD online for enhver printer der allerede var understøttet af traditionel ghostscript udskrift. Dette hjælper dig til at skifte over til CUPS uden stort besvær, hvis du ønsker det. Hvis din printer virkede fint med den traditionelle ghostscript-metode, så tag CUPS-O-Matic til at stikke din driver ind i CUPS-systemet, og du vil have det bedste af begge verdener.
dernæst er der CUPS-PPDer for de mere end 120 printermodeller, der drives af den nye universelle stp-driver. stp (stod oprindeligt for Stylus Photo) bliver nu udvikler af gimp-print-projektet; det blev startet af Mike Sweet, den førende CUPS-udvikler og er nu tilgængelig gennem gimp-print.sourceforge.net. Denne driver udskriver rigtig fotokvalitet på mange moderne inkjet-printere og kan indstilles til at lave 120 CUPS-PPDer sammen med sin egen kompilering. HP® Laser- og DeskJet, Epson® Stylus og Photo Color-modeller så vel som Canon® og Lexmark® er dækket.
for det tredje er der en kommerciel udvidelse til CUPS fra selve CUPS-udviklerne: den hedder ESP PrintPro og den kommer med mere end 2.300 printerdrivere. Der er endog forbedrede imagetoraster og pstoraster filtre inkluderede.
CUPS gør det nemt for fabrikanterne at begynde at understøtte Linux® og UNIX® udskrift for deres modeller med en temmelig lav omkostning. De modulære omgivelser som CUPS har gør det let at stikke ethvert filter (=driver) ind med minimal indsats og at få adgang til og bruge hele udskriftsmiljøet som CUPS laver.
Læs mere om de spændende CUPS-egenskaber i den tilgængelige CUPS-dokumentation på http://www.cups.org/documentation.html og http://www.danka.de/printpro/faq.html. Der er også et universelt lager på http://www.linuxprinting.org/ for alle punkter der relaterer til Linux® og UNIX® udskrift.
Mange udviklere var længe meget utilfredse med gode gamle LPD. En hel det nye projekter blev startet for at forbedre udskrift: LPRng er det bedst kendte eksempel. Andre er PDQ, PPR, PLP, GNUlpr og RLPR. Men ingen af de nye programmer blev set som “totalløsningen”; de fleste af dem implementerer blot den samme gamle LPD-specifikation med nogle få (eller mange) nye udvidelser, som igen gør dem inkompatible med hinanden.
Efter at have set udviklingen af ikke blot én, men forskellige brugbare alternativer til den ærværdige BSD-stil LPD, kaldte Grant Taylor, forfatteren til Linux Printing HOWTO, endelig til oprør LPD må dø! i hans “Campagne til at slå 'Line Printer Daemon' ihjel”.
Sammen med ovenstående var der en indsats på industrisiden af tingene for at besejre de velkendte svagheder i LPD. Det begyndte med ikke-åbne udvidelser til den almindelige gamle LPD, og gik så vidt som Hewlett-Packard®'s forsøg på at etablere HP®-JetDirect som en ny standard for en netværksudskriftsprotokol. Resultatet var endnu flere inkompatibiliteter.
Til slut var der et initiativ til at definere en ny fælles industri- og IETF-standard som tog form. “Printer Working Group” eller PWG, en løs forsamling af forhandlere i hardware, software og operativsystemer, skrev kladden til den nye “Internet Printing Protocol”, IPP. IPP v1.1 er nu blevet godkendt af IETF (Internet Engineering Task Force) som en foreslået standard, og nyder nu enstemmig støtte i industrien i Europa, USA og Japan. De fleste aktuelle netværksprinter-modeller har nu indbygget IPP-støtte oveni den traditionelle LPR/LPD eller JetDirect-udskrift.
IPP ser ud til at ville løse masser af de problemer netværksadministratorer står over for. I dette område drejer det sig normalt om heterogene netværks-miljøer og mere end halvdelen af tiden går med udskriftsproblemer.
Ved at lave et forenet sæt forespørgselsfunktioner for printere og servere der forstår IPP, for overførsler af filer og for at sætte job-kontrol-attributters osv., vil IPP før eller siden komme til at virke henover alle operativsystem platforme. Dette vil imidlertid ikke ske på et øjeblik idet mange gammeldags udskriftsenheder stadig vil være i brug i mange år. Derfor er der, i IPP en metode til bagudkompatibilitet for alle IPP-implementationer. CUPS beviser overlevelsesevnen for IPP-udskrift i alle miljøer.
Den mest slående fordel vil være dens integration i det eksisterende sæt af andre robuste IP-protokoller. Som en udvidelse af den trofaste, robust HTTP-1.1 protokol, for den specielle opgave at håndtere udskriftsfil og relateret data, er det også meget let at stikke andre standarder ind samtidig med at de bliver udviklede og taget i brug:
Basal, Digest og Certifikat-godkendelse for brugere der vil have adgang til udskriftsservice.
SSL3 og TLS-indkodning for overførsel af data.
Bidirektionel kommunikation for klienter med udskriftsenheder, ved brug af HTTP/IPP GET og POST mekanismerne.
LDAP-mappe serviceintegration for at kunne holde en konsistent database af tilgængelige printere, deres egenskaber og sideomkostninger, osv., så vel som brugernes kodeord, ACL'er osv..
“Pull” (i modsætningen til den sædvanlige “Push” model)-udskrift, hvor en server eller printer blot behøver at få at vide hvilken URL et dokument har, hvorpå det hentes fra ressourcen på internettet og bliver skrevet ud.
Har du nogensinde set en demonstration af CUPS formåen på et netværk? Du må hæve været ret imponeret hvis du ikke vidste i forvejen hvad du kunne forvente.
Forestil dig som administratoren for et “LAN”. For testformål installerede du en KDE/CUPS-felt på dit net fuldt ud, med et dusin printere indstillede og funktionelle: PostScript®, LaserJets, InkJets og BubbleJets og så videre. Dine KDE-brugere på den felt er meget glade, de kan udskrive som aldrig før, “med brug af hele pibetøjet” for hver printer. Det tog dig 2 timer at få dethele til at køre perfekt... og nu vil alle de andre 100 brugere på netværket gerne have det samme. To timer igen for hver felt? Ikke tale om du kan gøre dette før næste år, tror du?
Forkert. En enkelt ændring i en indstilling i den originale CUPS-felt gør den til en “server”. Installér CUPS på fem andre felte, som “klienter”. På dettidspunkt du vender tilbage til din første klient, vil du finde at brugerne er i gang med at lege med indstillingerne for det dusin printere du havde defineret tidligere på “serveren”. På en eller anden måde er printerne magisk kommet til syne på alle “Print”-dialogerne på den fem nye CUPS-klient felte.
Dine brugere udskriver, men ikke så meget som én enkelt driver var blevet installeret på klienterne, ej heller er en printerkø blevet defineret.
Så hvordan virker denne magi?
Svaret er slet ikke så kompliceret overhovedet.
Hvis en CUPS-server er på dit LAN, udsender den navnene på alle tilgængelige printere til dit LAN, ved brug af UDP-protokollen og port 631. Port 631 er reserveret som en “velkendt port” af IANA ( “Internet Assigning Numbers Authority”) til IPP-formål. Alle CUPS-klienter lytter efter CUPS-serverinfo sendt til deres port 631. Det er på den måde de kender til tilgængelige printere, og det er også på den måde de lærer om “stien” til printerne.
Ved at bruge IPP, som i birkeligheden er en smart udvidelse af HTTP v1.1, er CUPS i stand til at adressere alle objekter relateret til udskriftssystemet via “Universal Resource Locators” eller URL'er. Udskriftjobs der skal slettes eller genstartes, printere der skal forespørges eller ændres, admin-opgaver der skal udføres på serveren, med IPP og CUPS, er alt adresserbart med en vis URL. Mange vigtige ting kan gøres gennem netgrænsefladen til CUPS, tilgængelig for eksempel med Konqueror.
Og endnu mere, klienterne kan basalt set “administrere” og “bruge” en vilkårlig printer de ser, lige som hvis den var lokalt installeret. Du kan naturligvis sætte restriktioner på den med adgangskontrollister osv., så ikke en vilkårlig klient må bruge en vilkårlig printer som den vil.
Klienterne er ovenikøbet i stand til at udskrive uden det passende filter (eller den passende driver) installeret lokalt.
Så hvordan virker dette? Hvis en klient ønsker at kende til og vælge printer-specifikke tilvalg, sender den en forespørgsel (kaldet CUPS-get-ppd) til serveren. Serveren fortæller klienten alt om alle printer-specifikke tilvalg, som læst fra serversidens PPD. Brugeren på klientsiden kan se tilvalgene og vælge dem der kræves. Han sender så udskriftsfilen, sædvanligvis ufiltreret “raw” PostScript®, med printer-tilvalgene tilføjede til printerserveren, ved brug af IPP som transportprotokol. Al yderligere behandling, særlig filtreringen til at generere det endelige format for målprinteren, udføres så af serveren. Serveren har de nødvendige programmer (“drivere” eller “filtre”) til at gøre dette.
På denne måde udskriver klienterne uden at behøve at installere en driver lokalt.
En vilkårlig ændring på serveren, såsom at tilføje eller ændre en printer, bliver øjeblikkeligt “kendt” for klienterne uden yderligere indstilling.
En anden avanceret egenskab indbygget i CUPS er evnen til at lave “belastnings-balancering”.
Hvis du definerer de samme printerkøer på to eller flere forskellige servere, vil klienterne sende deres jobs til den der først svarer eller er tilgængelig. Dette giver en automatisk belastningsbalancering blandt servers. Hvis du bliver nødt til at tage en server af nettet for vedligeholdelse, vil de andre blot overtage dens opgaver uden at brugerne overhovedet opdager forskellen.
Dette kapitel af KDEPrint-håndbogen vil tage dig ved hånden og gå gennem det meste af indstillingerne eller valg af tilvalg for KDEPrint. Det vil først og fremmest dreje sig om CUPS i denne version, da forfatteren kender mest til den, og også fordi KDEPrint begyndte med at understøtte CUPS bedst. Senere udgaver af KDEPrint-progammellet og udgaver af denne håndbog, vil understøtte og udforske andre printsystemer nærmere.
Du må definere dit udskriftsundersystem, før du kan installere en printer med KDEPrint-systemet. Der er to områder hvor du kan definere dette: enten i KControl (afsnittet Udskriftshåndtering), eller direkte og “uden videre” fra udskriftsdialogen.
Gå til ->->->. Forneden kan du se en knap der lader dig vælge hvilket udskriftsundersystem du ønsker at bruge. I KDE 2.2 kan du vælge mellem følgende alternativer:
CUPS, Common UNIX® Printing System (Fælles UNIX®-udskriftssystem)
Udskriv gennem et eksternt program (generisk)
LPR (Standard BSD Udskriftssystem)
Generisk UNIX® LPD udskriftssystem (standarden)
RLPR-miljøet (udskriv til eksterne LPD-servere fra kommandolinjen).
Det valgte system skal selvfølgelig være installeret, og køre på din maskine før dit valg, eller før det får virkning.
Ved første opstart vil KDEPrint prøve en autodetektion. Dette virker kun for:
CUPS, idet den tjekker om der er en kørende CUPS-dæmon
LPD, idet den tjekker om der er en kørende LPD-dæmon, plus en printcap
-fil.
Det system du vælger skal være installeret på dit system før dit valg. Forfatterens personlige anbefaling er CUPS.
Når det er autodetekteret, valgt eller ændret, vil det aktive udskriftsundersystem få virkning for alle KDE-programmer. Forskellige brugere kan have forskellige udskriftsundersystemer i brug, hvis de findes på computeren og kan passes ind sammen. Deres indstillinger er gemt i kdeprintrc
. Denne fil er entydig for hver bruger, og er normalt installeret i $
.HOME
/.kde/share/config/kdeprinrc
Det er ikke meningen at denne fil skal kunne redigeres direkte, og alle tilgængelige valg kan sættes fra KDEPrint GUI.
Du kan ovenikøbet vælge et andet udskriftsundersystemet uden videre, fra kprinter-dialogen.
Når du har valgt dit foretrukne og installerede udskriftsundersystem, er du parat til at undersøge, indstille, administrere og arbejde med dette system gennem KDEPrint-omgivelserne.
Gå til ->->->. I den højre del af vinduet vil du se mindst 4 prædefinerede printere. Det er de virtuelle printere eller printere til et specielt formål, som forklaret i afsnit . Du vil formodentlig se en værktøjslinje med 13 ikoner foroven i vinduet, og mindst 4 faneblade i den nederste halvdel af vinduet, der hedder Information, Jobs, Egenskaber og Udgaver.
Start udskriftsserver-indstilling (nu da du har valgt CUPS, er dette Ækvivalent til indstillingen af CUPS-dæmonen) ved at klikke på den passende knap. Du kan finde den ved langsom at flytte musen henover knapperne og læse værktøjsvinkene. Det skulle være den 11. fra vestre , eller tredje fra højre; dens ikon er en tang.
CUPS Serverindstillingsvinduet kommer frem. Det giver dig et struktureret overblik af alle de indstillinger der har med CUPS-dæmonen at gøre. Indstillingsfilen for denne dæmon findes normalt i /etc/cups/cupsd.conf
. Det er en ren ASCII-fil med en syntaks ligesom indstillingsfilen for Apache netserveren. Det er en god idé at lave en sikkerhedskopi, hvis det skulle ske at noget går galt med indstillingen gennem KDEPrint/CUPS Serverindstillingsdialoger:
cp /etc/cups/cupsd.conf
/etc/cups/cupsd.conf.bak
Da denne grafiske brugerflade til at redigere indstillingsfilen er sådan en ny egenskab, bør du have en til chance for at vende tilbage til den oprindelige. Så husk sikkerhedskopi.
En meget god egenskab er den tilgængelige “Hurtighjælp”. Hvis du klikker på det lille spørgsmålstegn (Hvad er dette?) på dit vindues titellinje, vil du se markøren ændre sin form. Klik nu på et cupsd indstillings-felt for at finde ud af hvad det betyder og hvad dine muligheder er. I de fleste tilfælde vil du kunne forstå betydningen med det samme, ellers må du gå til den fremragende CUPS-dokumentation. (Hvis din CUPS-dæmon kører, har du den online på din egen vært på http://localhost:631/documentation.html.
Hvis CUPS ikke kører, men er installeret på dit system kan du finde den i din egen værts filsystem. Det nøjagtige sted afhænger af dit operativsystem, men på Linux® er standarden /usr/share/doc/cups/
eller /usr/share/doc/cups/documentation.html
.
For den bedste, mest detaljerede om nyeste information bør du altid referere til den originale CUPS-dokumentation. CUPS er, meget ligesom KDE i en hurtig udviklingsproces. Der er konstant nye egenskaber der bliver tilføjet. Nye egenskaber er muligvis kun indstillelige ved direkte redigering af indstillingsfilerne. KDEPrint's GUI har muligvis af og til ikke indhentet CUPS-udviklingen.
Hvis du er interesseret i at kigge i de originale indstillingsfiler for dit CUPS-system -- er de her:
Disse stier er baserede på en standard-installation. Dit operativsystem kan muligvis have installeret dem med en anden præfix, for eksempel, /usr/local/
, men hierarkiet skulle stadig matche der der vises nedenfor.
/etc/cups/
Mappen med indstillingsfilerne
/etc/cups/cupsd.conf
Indstillingsfilen for CUPS-dæmonen
/etc/cups/printers.conf
Indstillingsfilen der indeholder informationen om dine lokalt installerede printere.
/etc/cups/ppd/
Mappen med PPD-filer for dine installerede printere.
Følgende link virker kun hvis din CUPS-dæmon er oppe og kører. For at få adgang til hele den originale CUPS-dokumentation, gå til:
En side med alle link til de andre dokumenter.
Direkte adgang til CUPS Software Administrator Manual i HTML-format.
Direkte adgang til CUPS Software Administrator Manual i PDF-format.
Den nyeste online dokumentation fra CUPS' hjemmeside.
Følgende link giver dig adgang til de samme filer (formodentlig vil ikoner og grafik mangle) selv om din CUPS-dæmon ikke er oppe og kørende. Du skal imidlertid have CUPS installeret på dit system. (Nogle distributioner kunne have placeret filerne et andet sted -- det er dit problem at finde ud af hvor...) For at få adgang til al den originale CUPS-dokumentation, gå til:
Denne dokumentation er tilgængelig selv når CUPS-dæmonen ikke er installeret, selvom du måske vil finde billeder og ikoner mangler når du ser HTML-filerne.
Som bemærket ovenfor skulle hierarkiet nedenfor være intakt, men dit operativsystem kan have installeret CUPS til et andet sted.
/usr/share/doc/cups/documentation.html
En side med alle link til de andre dokumenter.
/usr/share/doc/cups/sam.html
Direkte adgang til CUPS Software Administrator Manual i HTML-format.
/usr/share/doc/cups/sam.pdf
Direkte adgang til CUPS Software Administrator Manual i PDF-format.
Der er nogle få netsider og nyhedsgrupper der diskuterer CUPS (og Linux® udskrift i almindelighed) og giver hjælp til nybegyndere på:
CUPS' hjemmeside.
LinuxPrinting.org, hjemmet for Linuxprinting HOWTO og Linux® printer-database
Og endelig, vil der være en hjemmeside for KDEPrint og relateret dokumentation, på http://kdeprint.sourceforge.net/
I det næste afsnit vil jeg gennemgå de fleste af indstillingsmulighederne for KDEPrint med CUPS skridt for skridt.
Dette afsnit er endnu ikke færdigt
Trævisning, ikonvisning og listevisning
Ikonerne på opgavelinjen
Forskellige skrifttyper for forskellige printere
Forskellige printerikoner betyder forskellige ting
Dette er velkomstskærmen for dine serverindstillingdialoger. Klik på ét af punkterne i trævisningen i Venstre side af skærmen åbner den passende den af indstillingsopsætningen.
Hver indstilling har en standardværdi. Standarderne lader CUPS virke normalt som en fuldt ud funktionel klient. Klienterne lytter på TCP/IP Port 631 for Infoer udsendt af CUPS-servere på LAN. Denne information lader klienterne udskrive umiddelbart efter at have modtaget dem, uden at installere nogen drivere eller indstille nogen printer på klienterne.
For at indstille en CUPS-server (som udsender sin service til dette LAN) må du ændre indstillingerne fra deres standardværdier.
Dialogen til at indstille CUPS-server: velkomstskærm.
Dialogen til at indstille CUPS-serveren: velkomstskærm
For at vælge standardindstillingen for et punkt aktiveres blot afkrydsningsfeltet i højre side af skærmen. For at sætte et punkt til en anden værdi, deaktiveres afkrydsningsfeltet og så går du videre med den indstilling du ønsker i venstre side af skærmen.
Den fuldstændige serverindstilling inkluderer:
Netvæk Generel indstilling
Hvert af disse indstillingspunkter vil blive beskrevet i de følgende afsnit af manualen.
Server generel indstilling gøres på denne skærm. Den inkluderer:
Servernavn
Administrators e-mail
Serverbruger
Servergruppe
Eksternt brugernavn
Fanebladsvinduet til at indstille CUPS-server generel opsætning tillader dig ændring af standardværdierne. Klik på det lille spørgsmålstegn og så på et af felterne for at få en “Hurtighjælp” om betydningen af indstillingen.
Hvis du er usikker, så lad det være og gå til den originale CUPS dokumentation først. Hvis din CUPS dæmon allerede kører, er den læsbar fra Konqueror ved at pege på URL'en http://localhost:631/documentation.html.
Der skal du først “blive venner” med Software Administrator-manualen. Ellers, hvis for eksempel CUPS-dæmonen ikke kører, så prøv at kigge i dit lokale filsystem, som standard på /usr/share/doc/cups/
eller /usr/share/doc/cups/documentation.html
.
Værtsnavnet for din server, som averteret til verden. Som standard vil CUPS bruge værtsnavnet for systemet. For at sætte standard-serveren brugt af klienter, se client.conf
-filen.
Indtast for eksempel myhost.domain.com
Dette er værtsnavnet der rapporteres til klienter. Skulle du nogensinde komme ud for mærkelige problemer med at få adgang til serveren, puttes dens IP-adresse her for problemløsning. På denne måde eliminerer du alle potentielle navneresolutionsproblemer; og du kan nemmere finde ud af hvad det egentlige problem er.
Dette er e-mail-adressen som alle klager eller problemer sendes til. Som standard vil CUPS bruge “root@hostname”.
Indtast for eksempel root@myhost.com
.
I modsætning til hvad hurtighjælp foreslår, er det også lovligt at sende en e-mail fuld af ros og entusiasme om CUPS og KDEPrint til serveradministratoren.
Brugeren som serveren kører under. Normalt skal dette være lp
, men du kan indstille ting for en anden bruger om nødvendigt.
Serveren køres som root i begyndelsen for at understøtte standard IPP-porten på 631. Den ændrer bruger når et eksternt program køres.
Indtast for eksempel lp
.
Dette er den UNIX® brugerkonto som filtre og CGI-programmer kører under. CGI-programmer er ansvarlige for at vise dig den rare internetadministration-grænseflade der er adgang til via http://localhost:631/).
Der er intet behov for at sætte Bruger-direktivet til root
, så gør aldrig dette, da det kun betyder farer. Skulle nogen opdage sikkerhedsrisici i et af de brugte filfiltre, printerdrivere eller CGI-programmer, kan han køre vilkårlige kommandoer på dit system eksternt, med root-privilegier. Brug altid en ikke priviligeret konto for server-direktivet Bruger.
Gruppen som serveren kører under. Normalt skal dette være sys
, du kan imidlertid indstille ting for en anden gruppe efter behov.
Indtast for eksempel sys
.
Navnet på brugeren knyttet il ikke godkendt adgang fra eksterne systemer. Som standard remroot
.
Dette navn vil vise sig i logfiler og i forespørgsler om job-ejeren osv., for alle ressourcer og steder for CUPS-serveren der er indstillet til at tillade adgang uden godkendelse. Godkendte indgange vil bære deres godkendte navne.
Serverlogningsindstillingen gøres på denne skærm. Den inkluderer:
Adgangs-logfil-opsætning
Fejl-logfil-opsætning
Side-log-fil opsætning
Logniveau-opsætning
Maks logfil-størrelse opsætning
Dette er en vigtig skærm for dig. Skulle du nogensinde løbe ind i problemer: er her stedet at sætte Logniveauet til “debug”, genstarte CUPS-dæmonen og så kigge i fejl-logfilen defineret her for indgange der kunne give dig indblik i besværet.
Dette er hvor adgange til serveren bliver logget. Hvis dette ikke begynder med et ledende /
, så antages det at være relativ til serverroden.
Du kan også bruge det specielle navn syslog
til at sende uddata til syslogfilen eller dæmonen.
Indtast en sti, for eksempel
./var/log/cups/acces_log
Formatet for denne fil gemmes i det såkaldte “Almindelige logformat”. På denne måde kan du bruge programmer såsom Webalyzer eller vilkårlige andre netadgangs-rapportværktøjer til at generere rapporter om CUPS serveraktiviteter.
For at inkludere servernavnet i filnavnet brug et %s i navnet. Eksempel:
./var/log/cups/access_log-%s
kurt@transmeta:~ >
tail
/var/log/cups/access_log
127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST /printers/ HTTP/1.1" 200 109 127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST /admin/ HTTP/1.1" 401 0 127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST / HTTP/1.1" 200 210 127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "GET /ppd/DANKA_P450.ppd HTTP/1.1" 200 51021 127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST /jobs/ HTTP/1.1" 200 246 10.160.16.45 - - [04/Aug/2001:20:11:39 +0100] "GET /printers/DANKA_P450 HTTP/1.0" 200 0 127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST / HTTP/1.1" 200 80 127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST / HTTP/1.1" 200 139 10.160.16.45 - - [04/Aug/2001:20:11:40 +0100] "GET /cups.css HTTP/1.0" 200 198 127.0.0.1 - - [04/Aug/2001:20:11:40 +0100] "POST / HTTP/1.1" 200 139 10.160.16.45 - - [04/Aug/2001:20:11:39 +0100] "GET /printers/DANKA_P450 HTTP/1.0" 200 7319 10.160.16.45 - - [04/Aug/2001:20:11:40 +0100] "GET /images/title-logo.gif HTTP/1.0" 200 5729
Du ser en linje for hver enkelt adgang, der viser IP-adressen for adgangsklienten, dato og tid for adgang, adgangsmetode (POST eller GET), den forespurgte ressource, HTTP-versionen brugt af klienten, statuskode og antal overførte byte. Statuskode 200 betyder succes-O.k. 401 i ovenstående eksempel var en uautoriseret adgang som blev afslået. For en detaljeret forklaring af logformatet gå til the CUPS Software Administrator Manual.
Hvis denne ikke starter med et ledende /
, så antages den at være relativ til server-root. Standardopsætning er /var/log/cups/error_log
.
Du kan også bruge det specielle navn syslog
til at sende uddata til syslogfilen eller dæmonen.
Indtast stien, for eksempel
./var/log/cups/error_log
Fejllog-uddraget viser dig den del der er logget for udskrift af testsiden med standardopsætning af Logniveau til “info”. For en forklaring af Logniveau-opsætning se yderligere nedenfor.
kurt@transmeta:~ >
tail
/var/log/cups/error_log
I [04/Aug/2001:23:15:10 +0100] Job 213 queued on 'DANKA_P450' by 'root' I [04/Aug/2001:23:15:10 +0100] Started filter /usr/lib/cups/filter/pstops (PID 18891) for job 213. I [04/Aug/2001:23:15:10 +0100] Started backend /usr/lib/cups/backend/lpd (PID 18892) for job 213.
Hvis denne ikke starter med et ledende /
så antages det at være relativt til server-root. Standarden er /var/log/cups/page_log
Du kan også bruge det specielle navn syslog
til at sende uddata til syslogfilen eller dæmonen.
Indtast stien, for eksempel
./var/log/cups/page_log
Side-logfilen har en linje for hver enkelt side for hvert job udskrevet.
Her er hvordan nogle indgange ser ud:
kurt@transmeta:~ >
tail
/var/log/cups/page_log
GIMP_print_stp_HP kdetest 201 [03/Aug/2001:03:18:03 +0100] 4 1 GIMP_print_stp_HP kdetest 201 [03/Aug/2001:03:18:03 +0100] 5 1 GIMP_print_stp_HP kdetest 202 [03/Aug/2001:11:46:49 +0100] 1 1 GIMP_print_stp_HP kdetest 203 [03/Aug/2001:11:46:54 +0100] 1 1 DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 1 33 DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 2 33 DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 3 33 DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 4 33 DANKA_infotec_P450 root 205 [04/Aug/2001:19:12:34 +0100] 1 14 DANKA_infotec_P450 root 206 [04/Aug/2001:19:15:20 +0100] 1 1
I dette uddrag af filen finder du information om navnene på printerne (GIMP_print_stp_HP
and DANKA_infotec_P450
) brugt gennem denne server, brugernavnene (kdetest
, kurt
og root
), job-ID'er (“201” til “205”), tidspunkt for udskrift, sidenummer indenfor jobbet og antal kopier for siderne. For eksempel job-ID 204 havde 4 sider og 33 kopier blev udskrevet, job-ID 205 havde 14 kopier af blot 1 side) .
CUPS er afhængig (for sin beregning af antallet af sider i et job) af at sende PostScript® gennem “pstops”-filteret. Se Kivio Flowchart om CUPS-filterarkitekturen for en idé om hvor dette filter passer ind i hele udskriftsprocessen). Derudover afhænger pstops for tællingen af en DSC tilpasset (DSC betyder Document Structuring Conventions, en standard defineret af Adobe) til at blive sendt af klienten. I de fleste tilfælde virker dette.
Denne sidekontering virker imidlertid ikke for nogen “raw” printerkøer (da disse pr definition, ikke bruger nogen filtrering på CUPS-værten og går uden om pstops.) Hvert job der går gennem en “raw” kø tælles som et 1-side-job (muligvis med flere kopier). Dette er især sandt for alle job sendt fra Microsoft® Windows® klienter via Samba til CUPS-serveren, da disse job allerede ankommer i det rigtige format for printeren, fordi klienterne bruger den oprindelige printerdriver.
Jeg leder stadig efter nogen der vil skrive et godt CUPS sidelog-analyseværktøj. Det skulle generere en rapport med grafisk uddata ligesom Webalizer's adgangslog-rapporter. På denne måde kunne du have gode statistikker til brug for kontering om brugen af printere, belastningsafhængigt af tiden på dagen eller ugen, brugere osv. Er der nogen der har lyst?
Denne indstilling kontrollerer antallet af breve der logges til fejl-logfilen. Det kan være en af følgende:
Log alt.
Log næsten alt.
Log alle forespørgsler og tilstandsændringer.
Log fejl og advarsler.
Log kun fejl.
Log ingenting.
Hvis du har behov for at løse problemer (eller hvis du ønsker at studere de indre funktioner af CUPS), så sæt logniveauet til debug eller debug2. Så vil error_log have en masse flere indgange (ikke blot fejl, men også informationsindgange).
Du kan bruge dette til at se “levende” hvad CUPS gør når du sender et udskriftsjob. Skriv i en Konsole:
kurt@transmeta:~ >
tail
-f
-n
100
/var/log/cups/error_log
Dette vil give dig de sidste 100 linjer (-n
100
) af filen på skærmen og en “realtids”-opdatering (-f
) af hvad der sker. Følgende listning viser udskriften af en testside (nogle stykker er blevet skåret ud af pladsgrunde... Prøv det selv hvis du har brug for mere info):
I [04/Aug/2001:23:15:12 +0100] Job 214 queued on 'DANKA_P450' by 'root'
D [04/Aug/2001:23:15:12 +0100] StartJob(214, 08426fe0)
D [04/Aug/2001:23:15:12 +0100] StartJob() id = 214, file = 0/1
D [04/Aug/2001:23:15:12 +0100] job-sheets=none,none
D [04/Aug/2001:23:15:12 +0100] banner_page = 0
D [04/Aug/2001:23:15:12 +0100] StartJob: argv = "DANKA_P450","214","root","KDE Print Test",
[....]
D [04/Aug/2001:23:15:12 +0100] StartJob: envp = "PATH=/usr/lib/cups/filter:/bin:/usr/bin", [....]
D [04/Aug/2001:23:15:12 +0100] StartJob: statusfds = 5, 6
D [04/Aug/2001:23:15:12 +0100] StartJob: filterfds[1] = 7, -1
D [04/Aug/2001:23:15:12 +0100] StartJob: filter = "/usr/lib/cups/filter/pstops"
D [04/Aug/2001:23:15:12 +0100] StartJob: filterfds[0] = 8, 9
D [04/Aug/2001:23:15:12 +0100] start_process("/usr/lib/cups/filter/pstops", [....]
I [04/Aug/2001:23:15:12 +0100] Started filter /usr/lib/cups/filter/pstops (PID 18991) for job 214.
D [04/Aug/2001:23:15:12 +0100] StartJob: backend = "/usr/lib/cups/backend/lpd"
D [04/Aug/2001:23:15:12 +0100] StartJob: filterfds[1] = -1, 7
D [04/Aug/2001:23:15:12 +0100] start_process("/usr/lib/cups/backend/lpd", [....]
I [04/Aug/2001:23:15:12 +0100] Started backend /usr/lib/cups/backend/lpd (PID 18992) for job 214.
D [04/Aug/2001:23:15:12 +0100] Page = 595x842; 15,16 to 580,833 [....]
Linjerne mærket “D” i begyndelsen er fejlretningsniveau-indgange, dem der er mærket “I” er der på “info”-niveauet.
Kontrollerer den maksimale størrelse af hver logfil før de roteres. Standard er på 1048576 (1 Mb). Sæt dette til 0 for at deaktivere logrotation.
Indtast en størrelse i byte, for eksempel 1048576
Dialogen til at indstille CUPS-serveren. Forskellige kataloger skal sættes her. Normalt behøver du ikke at ændre noget i dette afsnit. Hvis du har lyst til at lege med flotte (TrueType, PostScript® eller andet) skrifttyper på dit system, er dette stedet at lave opsætningen til brug for disse skrifttyper når der udskrives. Serverkatalog-opsætning inkluderer:
Kørbare: hvor skal serverens kørbare findes
Indstilling: hvor skal serverens indstillingsfiler findes
Data: hvor skal serverens datafiler findes
Midlertidige filer: hvor skal serverens midlertidige udskriftsfiler puttes
Midlertidige forespørgsler: hvor skal serveren findes
Skrifttype-sti: hvor skal serverens skrifttyper findes
Rod-katalog for skemalægger-kørbare. Som standard er dette /usr/lib/cups
(eller /usr/lib32/cups
på IRIX 6.5)
Rod-katalog skemalægger. Som standard /etc/cups
.
På forfatternes SuSE-system, er dette /usr/share/doc/cups
. Det indeholder al HTML- eller PDF-dokumentation for CUPS som er tilgængelig gennem www-grænsefladen på http://localhost:631/documentation.html
Rod-kataloget for CUPS datafiler. Som standard er dette /usr/share/cups
Det indeholder sådanne ting som bannere, tegnsæt, data, drivere, skrifttyper og pstoraster-skabeloner.
Kataloget til at putte midlertidige filer i. Dette katalog skal være skrivbart af brugeren defineret på den forrige skærm. Dette er som standard enten /var/spool/cups/tmp
eller værdien af TMPDIR
miljøvariablen.
Kataloget hvor forespørgselsfiler gemmes. Som standard er dette /var/spool/cups
Stedet at indstille CUPS-serveren for håndtering af dine flotte skrifttyper (TrueType eller PostScript®). CUPS vil kigge her for skrifttyper der skal indlejres i udskriftsfiler. Dette påvirker for øjeblikket kun pstoraster-filteret, og standarden er /usr/share/cups/fonts
.
For at angive mere end et katalog, skal de på en liste med dobbelte koloner som adskillertegn. Gør det sådan her:
/path/to/first/fontdir/:/path/to/second/fontdir/:/path/to/last/fontdir/
For at skrifttypesti-direktivet skal virke efter hensigten, behøver programmet der ønsker at udskrive:
Enten at give korrekt reference til dets ønskede skrifttype i header for den genererede PostScript®
Eller at indlejre skrifttypen i PostScript®-filen.
Reference til skrifttypen ved navn lader det være op til RIP og udskriftsenheden at respektere og rent faktisk bruge den. RIP eller printeren kan kun bruge den ønskede skrifttype, hvis den er tilgængelig på systemet.
I tilfælde af en PostScript® printer, skal dette være en printer-resident skrifttype. Hvis printerne ikke har denne skrifttype, vil den forsøge med at erstatte den med en tilstrækkeligt tilsvarende skrifttype.
I tilfælde af en ikke-PostScript® printer, gøres dette af CUPS og dens RIP-filtersystem. CUPS vil bruge skrifttype-stidirektivet til at tage den rigtige skrifttype når den RIP-per PostScript® i pstoraster-filteret.
I tilfælde af en PostScript® uddataenhed, vil CUPS blot sætte filen i en kø (rent faktisk ved at sende den gennem pstops-filteret for konterings og flerkopi-formål), ikke “arbejde” på den. Derfor, hvis du udskriver til en PostScript® printer er det helt og holdent printerens ansvar at bruge den skrifttype der bliver bedt om. Den kan ikke hvis skrifttypen hverken er indlæst i printeren eller indlejret i PostScript®-filen.
Dialogen til at indstille CUPS-serverens HTTP-opsætning vises her.
CUPS-serverens HTTP-indstillinger er følgende:
Dokument-katalog
Standard-sprog
Standard-tegnsæt
Rod-katalog for HTTP-dokumenter der betjenes. Som standard kompileret i kataloget /usr/share/cups/doc
Standard-sprog, hvis det er angivet af browseren. Hvis det ikke er angivet, bruges den aktuelle lokalitet.
Brug to-bogstavs-koderne, for eksempel sv
eller da
.
Det standard-tegnsæt der skal bruges. Hvis det ikke er angivet er det UTF-8. Dette kan sættes ud af kraft direkte i HTML-dokumenterne.
Dette er dialogen til at indstille CUPS-serverens sikkerhedsindstillinger. Serverkrypteringensstøttens indstillinger er disse:
Servercertifikat: filen der skal læses som indeholder serverens certifikat
Server-nøgle: filen der skal læses som indeholder serverens nøgle
Filen der skal læses som indeholder serverens certifikat. Standard er /etc/cups/ssl/server.crt
.
Filen der skal læses som indeholder serverens nøgle. Standard er /etc/cups/ssl/server.key
Dialogen til at indstille diverse CUPS serverindstillinger vises her. Følgende serveropsætning gøres gennem denne skærm:
Bevar job-historik: om en job-historik skal opbevares til senere gennemsyn
Bevar job-filer: om fuldt RIP-edede job-filer skal opbevares til senere gen-udskrift
Printcap-fil: indstilling af navn på og sti til en printcap-fil
RIP-Cache: indstilling af størrelsen af RIP-cachen i hukommelsen
Filter-grænse: definition af en filter-grænse
Om job-historik skal bevares efter et job er færdigt, annulleret eller stoppet eller ej. Standard er ja
Om job-filer skal bevares efter et job er færdigt, annulleret eller stoppet eller ej. Standard er nej
Navnet på printcap-filen. Standard er ikke noget filnavn. Lad dette være blankt, for at deaktivere printcap-fil-generering.
Printcap-indstillingen behøves kun for at tilfredsstille ældre programmer der behøver sådan en fil.
Mængden af hukommelse som hver RIP skal bruge til at cache bitmaps. Værdien kan være et vilkårligt reelt tal, fulgt af “k” for kilobyte, “m” for megabyte, “g”for gigabyte eller “t” for tile, hvor en tile er 256 x 256 pixels. Standardværdien er 8m.
Sætter den maksimale omkostning af alle jobfiltre der kan køres samtidigt. En grænse på 0 betyder ingen grænse. Et typisk job kan behøve en filtergrænse på mindst 200. Grænser på mindre end det minimale der er krævet af et job, tvinger et enkelt job til at blive udskrevet af gangen. Standardgrænsen er 0 (ubegrænset).
Dialogen til at indstille CUPS-serverens netvæksindstillinger vises her. Den inkluderer:
Kig efter værtsnavn på IP-adresser
Port
Maks forespørgselsstørrelse
Udløb af tid
Om IP-adresser skal slås op eller ej, for at få et fuldt-kvalificeret værtsnavn. Standarden er slået fra, af ydelsesgrunde.
Indtast porte og adresser her som serveren vil lytte til. Standardporten 631 er reserveret for Internet-udskriftsprotokollen, og er det vi bruger her.
Du kan have flere indgange, for at lytte til mere end en port eller adresse, eller for at begrænse adgangen.
Uheldigvis understøtter de fleste browsere ikke TLS eller HTTP-opgraderinger for kryptering. Hvis du ønsker at støtte www-baseret kryptering, vil du formodentlig skulle lytte på port 443, HTTPS-porten.
Brug - og -knapperne til at tilføje og fjerne indgange fra listen.
Du kan indtaste selve portene, f.eks. 631
, eller værtsnavne med porte, f.eks. myhost:80
eller 1.2.3.4:631
.
Kontrollerer den maksimale størrelse af HTTP-forespørgsler og udskriftsfiler. Standardindstillingen er 0, hvilket deaktiverer denne egenskab.
Udløb af tid (i sekunder) før forespørgslen opgives. Standarden er 300 sekunder.
Dialogen til at indstille CUPS netværksklient-opsætning vises her. Den inkluderer:
Acceptér "Hold i live"-forespørgsler
Udløb af tid for hold i live:
Maks klienter:
Om 'Hold forbindelsen i live'-tilvalget skal understøttes eller ej. Standarden er ja.
Udløb af tid (i sekunder) før 'Hold forbindelser i live' automatisk lukkes. Standarden er 60 sekunder.
Kontrollerer det maksimale antal klienter der vil blive håndteret samtidigt. Standard er 100.
Dialogen til at indstille den generelle opsætning af CUPS-netsøgning vises her. Den inkluderer:
Aktivér netsøgning
Brug korte navne når det er muligt
Brug implicitte klasser
Om printerinformation skal udsendes til andre CUPS-servere eller ej. Standard er ja.
Om “korte” navne for eksterne printere skal bruges eller ej, når det er muligt (f.eks. printer
i stedet for printer@host
). Aktiveret som standard.
Om implicitte klasser skal bruges eller ej.
Printerklasser kan angives eksplicit, i classes.conf
-filen, implicit baseret på printerne der er tilgængelige på LAN, eller begge.
Når implicitte klasser er aktiverede, vil printere på LAN med samme navn (f.eks. Acme-LaserPrint-1000
) blive puttet i en klasse med det samme navn. Dette tillader dig at sætte flere ekstra køer op på et LAN uden en masse administrative besværligheder. Hvis en bruger sender et job til Acme-LaserPrint-1000
, vil jobbet gå til den først tilgængelige kø.
Dette tilvalg er aktiveret som standard.
Dialogen til at indstille CUPS-serverens netsøgningsforbindelse vises her. Indstilling af netsøgningsforbindelse inkluderer:
Udsendelses-adresser: (UDP)-broadcast-adresse som printerinformation skal sendes til
Broadcast-port: Portnummeret der bruges til udsendelse
Træk-adresser: Adresserne der skal trækkes for information om printere på servere der muligvis ikke udsender (eller hvis udsendelser måske ikke når dit LAN på grund af routere imellem dem).
Efter at have trykket på -knappen, vil du se følgende dialog til at indtaste en ny værdi for udgående broadcast søge-pakker. Det er den samme slags dialog som til at tilføje andre CUPS-server-adresser til at blive trukket for printerinformation.
Dette tilvalg angiver en broadcast-adresse der skal bruges. Som standard, vil netsøgningsinformation blive udsendt til alle aktive grænseflader.
HP-UX® 10.20 og tidligere håndterer ikke broadcast rigtigt med mindre du har en klasse A, B, C eller D netmaske (dvs., der er ingen CIDR-støtte).
Porten brugt til UDP-broadcast. Som standard er dette IPP-porten; hvis du ændrer dette, vil du skulle gøre det på alle servere. Kun en Browse-port bliver genkendt.
Træk de navngivne servere for printere.
Dialogen til at indstille CUPS-serverens tilladte og/eller nægtede søge-pakker fra andre servere vises her.
Tillad netsøgning:
Nægt netsøgning:
Netsøgningsrækkefølge:
Dialogen til at indtaste en ny værdi for adressen på en anden CUPS-server til at acceptere søge-pakker fra vises her. Den åbnes ved at klikke på -knappen ved siden af feltet der hedder Tillad netsøgning:. Det er den samme dialog som til at tilføje “nægtede” broadcast-udsendelsesadresser.
Dialogen til at indtaste en ny værdi for adresserne på en anden CUPS-server til at acceptere søge-pakker fra vises her.
Tillad netsøgning angiver en adressemaske til at tillade for indkommende søge-pakker. Standarden er at tillade pakker fra alle adresser.
Nægt netsøgning angiver en adressemaske til at tillade for indkommende søge-pakker. Standarden er at nægte adgang for pakker fra alle adresser.
Både Tillad netsøgning og Nægt netsøgning accepterer følgende notationer for adresser:
Alle
Ingen
*.domain.com
.domain.com
host.domain.com
nnn.*
nnn.nnn.*
nnn.nnn.nnn.*
nnn.nnn.nnn.nnn
nnn.nnn.nnn.nnn/mmm
nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
Værtsnavn/domænenavn restriktioner vil kun virke hvis su har slået opslag af værtsnavne til!
Angiver rækkefølgen af tillad/nægt sammenligninger.
Dialogen til at indstille udløb af tid for CUPS-serverens browser-opsætning vises her. Udløb af tid opsætningen inkluderer:
Søgeinterval
Udløb af tid for søgning
Tiden mellem søgeopdateringer i sekunder. Standarden er 30 sekunder.
Bemærk at netsøgningsinformation også sendes hver gang en printers tilstand ændres, så dette repræsenterer den maksimale tid mellem opdateringer.
Sæt dette til 0 for at deaktivere udgåemde broadcast så dine lokale printere ikke averteres, men du stadig kan se printere på andre værter.
Udløb af tid (i sekunder) for netværksprintere - hvis vi ikke får en opdatering indenfor dette tidsrum, vil printeren blive fjernet fra printerlisten.
Dette tal skal bestemt ikke være mindre end netsøgningsinterval-perioden ar oplagte grunde. Standard er 300 sekunder.
Dialogen til at indstille CUPS-serveren som et netsøgnings-relay vises her. Browser-relay-opsætning inkluderer:
Browser-pakker-relay
Dialogen til at indtaste en ny værdi for et adressepar til at definere browser-relay mellem en CUPS-server og et netværk vises her.
Relay browser-pakker fra en adresse eller netvæk til et andet.
Dialogen til at indstille CUPS-serverens sikkerhedsopsætning for en vilkårlig af de definerede server-steder vises her. Den indeholder følgende indstillinger, som kan defineres separat for en vilkårlig gyldig ressource (eller sted) på CUPS-serveren:
Systemgruppe:
Adgangstilladelser:
Godk.-type:
Godk.-klasse:
Godk. gruppenavn:
Kryptering:
Tillad:
Nægt:
Rækkefølge:
Gyldige ressourcer (eller steder) for CUPS-serveren er:
Servers rod-sted: /
Serveradministration-sted: /admin
Alle printere på serveren: /printers
Vilkårlig individuel printer på serveren: f.eks. /printers/infotec_P320
Alle printerklasser på serveren: /classes
:
Vilkårlig individuel printerklasse serveren: f.eks. /classes/all_infotecs_P320_or_P450
For alle steder der ikke er defineret separat er opsætningen af stedet “ovenfor” gyldigt.
For eksempel har du måske en printer der hedder infotec_P450
uden sikkerhedsvalg sat. Så vil sikkerheden for stedet /printers
tage ansvaret for denne printer da det er et under-sted af/printers
. Hvis, på den anden side ingen sikkerhed er sat for /printers
, så vil sikkerheden for /
(den generelle sikkerhed) for serveren overtage ansvaret. Enten har du sat denne for dine formål eller værdier der er kompileret ind som standard overtages.
Gruppenavnet for System
eller printeradministrationsadgang. Standarden varierer afhængig af operativsystemet, men vil være sys
, system
eller root
(tjekket i denne rækkefølge).
Adgangstilladelser for hvert katalog betjent af skemalæggeren. Stederne er relative til dokument-roden.
Godkendelsen der skal bruges:
Udfør ingen godkendelse.
Udfør godkendelse ved brug af HTTP basal metode.
Udfør godkendelse ved brug af HTTP sammendragsmetode.
Lokal certifikat-godkendelse kan substitueres af klienten for basal eller sammendrag, når der forbindes til localhost-grænseflade.
Godkendelsesklasse. For øjeblikket er kun “Anonym”, “Bruger”, “System” (gyldig bruger der tilhører gruppen sat som systemgruppe), og “gruppe” (gyldig bruger der tilhører den angivne gruppe) understøttet.
Gruppenavnet for “Gruppe”-godkendelse
Om kryptering skal bruges eller ej. Dette afhænger af at have OpenSSL linket ind i CUPS-biblioteket og skemalæggeren.
Mulige værdier er:
Brug altid kryptering (SSL)
Brug aldrig kryptering.
Brug TLS-krypteringsopgradering.
Brug kryptering hvis serveren kræver det.
Tillader adgang fra det angivne værtsnavn, domæne, IP-adresse eller netværk. Mulige værdier er:
Alle
Ingen
*.domain.com
.domain.com
host.domain.com
nnn.*
nnn.nnn.*
nnn.nnn.nnn.*
nnn.nnn.nnn.nnn
nnn.nnn.nnn.nnn/mmm
nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
Vært- og domæneadresse forudsætter at du aktiverer navneopslag, som tidligere beskrevet.
Nægter adgang fra det angivne værtsnavn, domæne, IP-adresse eller netværk. Mulige værdier er:
Alle
Ingen
*.domain.com
.domain.com
host.domain.com
nnn.*
nnn.nnn.*
nnn.nnn.nnn.*
nnn.nnn.nnn.nnn
nnn.nnn.nnn.nnn/mmm
nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
Vært- og domæneadresse forudsætter at du aktiverer navneopslag, som tidligere beskrevet.
Rækkefølgen for tillad- og nægt-behandling.
Dialogen til at indstille CUPS-serverens sikkerhedsopsætning diskuteres her. Vi bruger eksemplet til at tilføje sikkerhedsdefinitioner udover de standardiserede for ressourcen der hedder alle printere
. For CUPS netserveren, er dette det sted du får adgang til gennem http://localhost:631/printers/ eller (eksternt) gennem http://cups.server.name:631/printers/
Det første skærmbillede viser det generelle sted for denne indstilling. Markér eller en ressource for hvilken du ønsker at afgøre dens sikkerhedsopsætning.
Denne dialog er til at tilføje en ny ressource. Det ser ligesådan ud hvis du ønsker at ændre en allerede eksisterende ressource. Her er de generelle muligheder:
Dette er den anden del eller dialogen til at tilføje en ressource. Det ser ligesådan ud hvis du ønsker at ændre en allerede eksisterende ressource. Her definerer du de faktiske adgangsmasker for den ressource det drejer sig om.
Klik på ikonen længst til venstre på værktøjslinjen i den øverste del af vinduet starter “'Tilføj printer' guiden”.
Denne guide tager dig gennem forskellige skærme for at installere en ny printer. For øjeblikket virker denne guide for CUPS og RLPR miljø-modulet. Antallet af trin afhænger af det aktuelle udskrifts-undersystem som er aktivt og tilgængeligt for dig på din felt.
Velkomstskærmen informerer dig om at du kan standse på et vilkårligt tidspunkt uden at ændre noget.
Vælg den “printersystem”-protokol som CUPS skal bruge med din nye printer. Der er:
lokal printer (seriel, parallel, USB)
ekstern LPD-kø
SMB-delt printer (Windows®)
Netværksprinter (TCP, HP® JetDirect, AppSocket)
Netværksprinter med IPP (IPP/HTTP)
Filprinter
seriel fax /modem-printer
Klasse af printere
Hvis nogle valg er grå, er de ikke tilgængelige. For eksempel, har du måske ingen underliggende fax-software eller intet modem installeret til at bruge det.
Indholdet af din næste skærm afhænger af dit valg i den forrige skærm. Hvis du kender detaljerne, så skriv dem blot ind for at indstille din netværksopsætning direkte.
I andre tilfælde kan guiden skanne netværket for dig, for at hjælpe dig med at afgøre hvilken opsætning der vil være nyttig.
Hvis du bruger en af netværksforbindelserne (ekstern LPD, SMB, ekstern CUPS, netværksprinter med IPP), har du muligheden for at skanne netværket. Vær forsigtig med at anvende dette; i nogle miljøer vil netværksskanning blive opfattet som at være fjendtlig og skadeligt!
I tilfælde af SMB, vil KDEPrint bruge Samba-redskaberne nmblookup og smbclient (som skal være installeret for at dette skal virke) for at hente den information den præsenterer i en træ-struktur.
I tilfælde af IPP (Port 631) og TCP Network/AppSocket (Port 9100) vil KDEPrint prøve at åbne porten, og hvis det lykkes, sende en ipp-get-printer-attribute-forespørgsel til printeren. For nyere HP®-printere lykkes dette som regel, fordi de understøtter både AppSocket og IPP.
Nogle printere eller fabrikanter bruger andre portnumre for direkte TCP/IP-udskrift. Du bliver muligvis nødt til at slå op hvilken der skal bruges. Opsætning-knappen i dialogen lader dig indstille din scanning, inkluderende IP-adresser, porte og timeout der skal bruges.
Én gang til: vær forsigtig med ikke at blive taget for at være indbryder på dit netværk, hvis du bruger scanne-teknikken.
Den sværeste det er formodentlig “Valg af printermodel”. I tidligere år var situationen besværlig, fordi man næsten ikke kunne finde nogle drivere. Nu er det svære at der er for mange; og selvom nogle af dem er meget gode, er der mange der slet ikke duer.
Hvis du har en aktuel “database” af tilgængelige drivere på dit system, så vælg fremstilleren i venstre side af vinduet først, så enhedsmodellen i højre side. Dette opdelte vindue viser alle PPDer fundet af CUPS i dens standard lager af installerbare PPDs. Dette lager er normalt /usr/share/cups/model/
. Hvis du ønsker at din driver skal findes automatisk af CUPS og KDEPrint, så placér den der.
På den næste skærm vil du se en beskrivelse af den driver der tidligere blev valgt. Denne beskrivelse er trukket ud af den aktuelle PPD der bliver brugt.
For en rigtig PostScript® printer skal du aldrig prøve at installere en “Foomatic” eller “Gimp-Print” PPD, selvom det bliver tilbudt. Du vil ikke blive glad for det. Fin i stedet den originale PPD fra fremstilleren, helst den der er skrevet for Windows® NT og brug den.
Nogle Linux®-distributioner har vedlagt CUPS enhver mulig kombination af Ghostscript-filtre og “foomatic” PPD-filer de kunne finde på nettet. Mange af disse er ikke brugbare; de blev genereret for et år siden, da folkene på www.linuxprinting.org begyndte deres første eksperimenter med PPDer for CUPS. Selvom de blev kaldt “Alfa” dengang, fik disse ligesom deres eget liv og kan nu findes forskellige steder på nettet, hvilket er meget dårligt for CUPS.
Hvis du er usikker på hvilke du skal bruge gå til:
Og bed om hjælp. På et senere tidspunkt vil et dokument med detaljer om forskellene mellem de forskellige driver- og PPD-modeller vise sig på http://kdeprint.sourceforge.net/ Kig efter dette!
Via -knappen vil du kunne hente en vilkårlig PPD placeret et eller andet sted på det tilgængelige filsystem.
Angiv dine første driver-opsætning nu. Den vigtigste er standardpapirstørrelse. Dette er ofte sat til “Letter”. Hvis du bor i et “A4”-land og ikke vil at din første testside skal hænge fast: så er det nu dette skal forhindres.
Du er parat til at starte en testudskrift. Tryk på -knappen.
Den næstsidste skærm lader dig vælge, om du ønsker bannere, og hvilke du ønsker at bruge til at markere begyndelsen og/eller slutningen på hvert udskriftsjob på denne printer. Du kan også vælge og fravælge bannere før udskrift i job-tilvalgsdialogerne.
Hvis du h=vil bruge dine egne bannere, så kopiér dem ind i /usr/share/cups/banners/
for at gøre dem tilgængelige for valg. De skal imidlertid være PostScript®-filer.
Den sidste skærm lader dig indsætte et navn for din nye printer.
Navnet skal starte med et bogstav og kan indeholde tal og understregningstegn med et maksimalt antal af 128 tegn. Hold dig til dette hvis du ønsker at undgå at din CUPS-dæmon opfører sig mærkeligt. Printernavnene i CUPS er ikke versalfølsomme! Dette er et krav fra IPP. Så navnene DENAL_minegen
, Denal_MinEgen
og denal_minegen
repræsenterer alle den samme printer.
Dette kapitel giver dig nogle vink om yderligere indstillingsmuligheder som muligvis ikke er tilgængelige gennem KDEPrint's GUI-grænseflade til CUPS.
Alle de mest ofte brugte egenskaber og funktioner CUPS har er understøttede i KDEPrint.
Printerhåndtering er understøttet: tilføj, fjern, ændr, indstil, test, deaktivér, aktivér ...
Job-håndtering er understøttet: annullér, hold, slip fri, flyt til anden printer
Udskriftstilvalg: for fuld kontrol som giver af CUPS.
En masse information om de indre funktioner i CUPS er tilgængelige gennem net-grænsefladen som CUPS altid vil understøttet. Den virker med en vilkårlig browser (ja, selv tekst-baserede). Gå blot til http://localhost:631/ til en begyndelse. Der finder du et link til den lokalt tilgængelige CUPS-dokumentation i HTML og PDF hvis du er ny bruger af CUPS.
CUPS er tilgængelig gennem andre metoder end KDEPrint: kommandolinje og browser er to indfødte CUPS-grænseflader. De mange kommandolinje-redskaber giver i alt den mest fuldstændige kontrol der findes for CUPS. www-grænsefladen er kun en delmængde af alle tilgængelige indstillings eller kontrolmuligheder.
Dette er også sandt for KDEPrint. Generelt, når CUPS udvikles, vil de fleste egenskaber først blive implementeret gennem kommandolinjen. Sørg for at tjekke de seneste versioner af man-sider for CUPS for at være opdateret med nye egenskaber efter du installerer en ny udgave.
Afhængig af din opdateringsmetode for CUPS, er din aktive indstillingsfil muligvis ikke blevet erstattet af en ny; så din nye, mere ydedygtige CUPS-dæmon er måske ikke blevet fortalt af den gamle indstillingsfil om de nye egenskaber der kan bruges.
En fuldstændig liste af tilgængelige filer og man-sider skulle altid være i CUPS's "Software Administrator Manual" (http://localhost:631/sam.html#FILES. Skriv følgende i Konqueror URL/stedfelt man:/lpadmin
og man:/cupsd.conf
for at finde ud af de vigtigste kommando- og indstillingsfiler. Du kendte allerede til Konqueror's behagelige måde at vise dig de traditionelle UNIX® man-sider gjorde du ikke? Læs dette. Derfra vil du finde flere interessante vink og link til andre man-sider og dokumentation.
Her er en måde at finde ud af hvilke CUPS-relaterede man-sider der er på dit system:
kurt@transmeta:~ >
apropos
cups
cups-calibrate (8)- ESP Printerkalibreringsværktøj lpstat (1) - udskriv cups statusinformation cups-lpd (8) - modtag udskriftsjobs + rapportér printerstatus til lpd-klienter classes.conf (5) - klasse-indstillingsfil for cups backend (1) - cups-program transmissionsgrænseflader filter (1) - cups filkonverteringsfilter-grænseflader cups-polld (8) - cups printer-trækdæmon mime.types (5) - mimetype beskrivelsesfil for cups cupsd (8) - common unix printing system daemon lpadmin (8) - indstil cups-printere og klasser cupsd.conf (5) - server indstillingsfil for cups mime.convs (5) - mimetype konverteringsfil for cups printers.conf (5) - printerindstillingsfil for cups mime.convs (5) - mimetype konverteringsfil for cups cups-polld (8) - cups printer trækdæmon
Her er nogle få eksempler på tilvalg der for øjeblikket kun er tilgængelige hvis du bruger kommandolinjen.
Når en printer installeres (eller ændres) gennem kommandolinjen, kan du enten nægte eller tillade brugen af denne printer for bestemte brugere:
lpadmin -p
HeidelbergDigimaster9110
-v
lpd:/10.160.16.99/mqueue
-u
allow:kurt,sylvi,hansjoerg
-E
-P
/home/kurt/PPDs/DVHV.ppd
vil kun tillade brugen af denne (du kan stole på mig: meget gode og også meget professionelle) printer til de fem nævnte brugere og samtidig nægte adgang for alle andre. Hvis en anden bruger ønsker at udskrive på denne DigiMaster via denne CUPS-server, vil han modtage en fejlbesked nogenlunde sådan her client-error-not-possible.
lpadmin -p
HeidelbergDigimaster9110
-v
lpd:/10.160.16.99/mqueue
-u
deny:tackat,boss,waba
-E
-P
/home/kurt/PPDs/DVHV.ppd
vil nægte brugen af denne samme printer til de tre nævnte brugere og samtidig tillade brugen for alle andre. Hvis “nægtede” brugere ønsker at udskrive på denne DigiMaster via denne CUPS-server, vil de modtage en fejlbesked der siger client-error-not-possible.
Kun en af de to muligheder kan bruges på en gang; for øjeblikket er der ingen støtte for at have en lignende valgmulighed pø en pr-gruppe baseret måde. Dette vil blive implementeret i fremtiden.
Sommetider ønsker du at sætte kvotaer for visse printere. Med kvotaer kan du sætte øvre grænser for antallet af sider eller mængden af data der kan udskrives over en vis periode til en bestemt printer.
Kvotaer kan sættes med -o
flaget når en printer installeres, med lpadmin-kommandoen eller senere for en allerede eksisterende printer. Følgende er nogle retningslinjer (som mangler i den officielle CUPS dokumentation på det tidspunkt dette skrives):
Med CUPS kan du have sidetæller- og filstørrelses-baserede kvotaer for individuelle printere.
Kvotaer beregnes for hver bruger individuelt (så et enkelt sæt grænser anvendes på alle brugere for den printer det drejer sig om).
Kvotaer inkluderer bannersider (hvis disse bruges).
Dette betyder: du kan begrænse hver bruger til 20 sider pr dag på en dyr printer, men du kan ikke begrænse hver bruger undtagen Erik
eller root
.
Der er job-k-limit
, job-page-limit
og job-quota-period
-tilvalg at give når en printer sættes op.
job-quota-period
sætter et tidsinterval for kvotaberegning (intervaller bestemmes i sekunder; så en dag er 60x60x24=86.400, en uge er 60x60x24x7=604.800 og en måned er 60x60x24x30=2.592.000 sekunder.)
For at kvotaer kan blive gennemtvunget må tidsperioden plus mindst en job-grænse sættes til ikke at være nul.
Standardværdien på 0 for job-k-limit
angiver at der ingen grænse er.
Standardværdien på 0 for job-page-limit
angiver at der ingen grænse er.
Standardværdien på 0 for job-quota-limit
angiver at grænserne anvendes på alle job der er blevet udskrevet af en bruger der stadig er kendt på systemet.
Virker da både tidsperiode og en eller begge job-grænser er definerede
lpadmin -p
danka_infotec_4850
-o
job-quota-period=604800
-o
job-k-limit=1024
Dette sætter en grænse for filstørrelsen 1 MB (i alt) for hver bruger af den eksisterende printer danka_infotec_4850
for en uge.
lpadmin p
danka_infotec_4105
-o
job-quota-period=604800
-o
job-page-limit=100
Dette sætter en grænse på 100 sider (i alt) for hver bruger af den eksisterende printer danka_infotec_4105
for en uge.
lpadmin -p
danka_infotec_P450
-o
job-quota-period=604800
-o
job-k-limit=1024
-o
job-page-limit=100
Dette sætter en kombineret grænse på 1 MB (i alt) og 100 sider (i alt) for hver bruger af den eksisterende danka_infotec_P450
for en uge. Den grænse først nås vil få virkning.
Virker IKKE da kun én, tidsperiode eller jobgrænse er defineret)
lpadmin
-p
danka_infotec_P320
-o
job-quota-period=604800
lpadmin
-p
danka_infotec_FullColor
-o
job-page-limit=100
lpadmin
-p
danka_infotec_HiSpeed
-o
job-k-limit=1024
Der er forskellige måder at definere en “rå” printer. En komfortabel måde er at bruge lpadmin-kommandoen. Definér blot ikke en PPD-fil til at bruge for denne printer, så vil den være en rå:
lpadmin -p
Raw_Danka_infotec
-E
-v
lpd://10.160.16.137/PORT1
Rå printerkøer er dem der ikke berører udskriftsfilen for at lave den om til et andet filformat. Du har for eksempel brug for dette når du udskriver fra Windows®-klienter via Samba gennem en CUPS-server til en PCL-printer: i dette tilfælde vil Windows®-sidens printerdriver generere den færdige udskriftsfil for mål-printeren og filtrering gennem CUPS-filtre ville kun gøre skade. Under visse omstændigheder (hvis du ønsker at sikre dig at filen går til printeren “ufiltreret” af CUPS) så er “lpadmin uden en PPD” meget nyttig.
Dette afsnit af KDEPrint-håndbogen vil leve af læsernes tilbagemeldinger. Her er blot en lille begyndelse.
Intet system er perfekt. Her er nogle almindeligt sete fælder folk er faldet i.
Printerhåndtering: basale operationer er understøttede (tilføj/fjern/ændr).
Hver bruger kan prædefinere printerne han ønsker at bruge ved at angive værten og relaterede printerkøer. Printere gemmes på en “pr. bruger basis”. Dette modul er bygget omkring rlpr-redskabet rlpr
Modul brugt som standard (for eksempel ved opstart).
Generisk modul der kun tillader at sende printjob. Ingen printer eller job-håndtering understøttet. Det virker på en stor mængde af UNIX®-arter: Linux®/LPR, HP-UX®, Solaris, IRIX®. Det understøtter også visse LPRng-udvidelse (såsom manglen på et "continuation"-tegn \
i printcap
-filer).
Almindelig (gammeldags?) LPR-støtte. En LPRng-modul er i udvikling og forhåbentlig parat til 2.3 udgaven.
Et LPRng-modul for KDEPrint er i udvikling, og er forhåbentligt færdigt til KDE 2.3 udgaven.
Dette modul tillader udskriftskommandoen at blive angivet fuldstændigt (Netscape®-lignende). En redigeringslinje bliver tilføjet til udskriftsdialogen til dette formål. Kan bruges i mange tilfælde, for eksempel med et hjemmelavetudskriftsprogram.
Min arbejdsgiver er Danka Deutschland GmbH, en førende og mærke-uafhængig forhandler af professionel og højhastigheds-udskriftssystemer, sort/hvidt så vel som farve. Danka tager sig af maskinel, programmel, service og vedligeholdelse og brugertilpassede løsninger omkring produkterne er i dens portfolio. Jeg arbejder som systemingeniør der. Blandt de mærker Danka tilbyder er Heidelberg (tidligere Kodak), Canon, Hewlett-Packard®, Hitachi, Infotec og EfI.
Mit kendskab til Linux® og den Frie Software community er ikke særlig gammel. Da jeg begyndte med at lege rundt med Linux® i begyndelsen af af 1999, var min største skuffelse den dårlige støtte for udskrift. Det er rigtigt at jeg kunne få vore maskiner til at spytte simpleksudskrifter ud -- men hvad med dupleks? Hvad med at lave huller i siderne? Hvordan får man sortering til at virke? Eller klammer, Forsider og alle de andre smukke afslutningsvalg vore maskiner tilbød kunderne? Helt umuligt -- i det mindste for mig som en ikke-nørd!
Jeg begyndte en søgning på internettet efter en løsning. Det var heldigvis ikke meget senere, i maj 1999, at Mike Sweet, hovedudvikleren af CUPS, annoncerede den første betaudgave af dette strålende stykke udskriftsprogrammel. Efter at have prøvet det kort tid derefter, vidste jeg at dette var løsningen!
Det næste jeg forsøgte: at gøre; Linux®-distributionerne interesserede i dette nye system. Tro mig -- det var mere end besværligt! De syntes at mene at de allerede havde det bedste de kunne få hvad angår udskrift. Én grund var formodentlig at de (og mange Linux®-udviklere) aldrig havde haft brug for at tænke på hvordan man bedst understøtter printer-duplekser -- fordi de aldrig havde haft en i nærheden af deres desktoppe...
Endelig gav mine forsøg på at få nogle Linux® print-publikationer interesseret i CUPS “bagslag” for mig - en udgiver pressede mig til selv at skrive en serie om emnet. Og det er af den grund nogle mennesker begyndte at give mig kælenavnet “CUPS-evangelist”. Jeg vil ikke komme af med dette foreløbigt nu, da selv KDE-folk pressede mig ind i deres tidsramme for udgivelser. Uha uha...
Under alle omstændigheder er der sket det at CUPS bliver spredt verden over, og det kan meget vel blive triumferende: Jeg er lidt stolt over at have støttet og bidraget til dette helt fra begyndelsen.
Dette skulle opmuntre dig: Selv om mere erfarne Linux®-brugere end dig er skeptiske overfor det og selv om dine programmeringsevner er tæt på nul (som mine) - er der en masse opgaver og job og ideer og talent som du kan bidrage til 'Free Software community' med. Ikke mindst indenfor KDE-projektet... ;-)
Jeg vil gerne takke...
Mike Sweet for at udvikle CUPS i det hele taget
Jean-Eric Cuendet for at starte kups og qtcups, forgængerne til KDEPrint
Michael Goffioul for at have lavet alt det hårde arbejde i den sidste tid
Martin Konold for tænke sig om to gange
Sven Guckes for at lære mig nogle få ting om kunsten at “overleve ved terminalen” (i de få tilfælde hvor KDE ikke er der ;-))
...for mange andre til at nævne hvem der også lod mig opsnappe små stumper viden fra dem
og sidst men ikke mindst: Tom Schwaller for at opmuntre mig til at begynde på “dokumentationsskrivning”
KDEPrint er blevet udviklet på et system der brugte CUPS 1.1.6. KDEPrint er blevet testet på andre udgaver af CUPS og indtil videre er ingen inkompatibiliteter kendte. Når denne håndbog er færdig, er CUPS 1.1.9 ude med nogle få nye egenskaber, der endnu ikke er understøttede af KDEPrint. Du kan naturligvis bruge disse egenskaber, men du vil skulle gå forbi KDEPrint og bruge CUPS-kommandolinjeredskaberne eller redigere indstillingsfiler manuelt. KDEPrint's udvikling vil gå videre og denne håndbog vil forsøge altid at være den bedste tilgængelige brugerdokumentations-ressource for den.
KDEPrint ophavsret 2001, Michael Goffioul (kdeprint AT swing.be)
Dette program er udgivet under betingelserne i GNU General Public License.
Dokumentation ophavsret 2001, Kurt Pfeifle, (kpfeifle AT danka.de)
Dokumentation er udgivet under betingelserne i GNU Free Documentation License.
Dansk oversættelse Erik Kjær Pedersen (erik AT binghamton.edu)
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team