Copyright © 2001 Kurt Pfeifle
Härmed ges tillåtelse att kopiera, distribuera och/eller ändra detta dokument under villkoren i GNU Free Documentation License, Version 1.1 eller någon senare version publicerad av Free Software Foundation; utan invarianta avsnitt, utan framsidestexter och utan baksidestexter. En kopia av licensen inkluderas i avsnittet som heter "GNU Free Documentation License".
Den här handboken beskriver KDEPrint. KDEPrint är inte ett eget program. Det är den nya grundstommen för utskrift i KDE 2.2. KDEPrint är ett mellanlager mellan KDE (eller andra) program och det valda (och installerade) utskriftssystemet i operativsystemet.
Innehållsförteckning
Exempelförteckning
Den här handboken beskriver KDEPrint. KDEPrint är inte ett eget program. Det är den nya grundstommen för utskrift i KDE 2.2. KDEPrint är ett mellanlager mellan KDE (eller andra) program och det valda (och installerade) utskriftssystemet i operativsystemet.
Observera att både utvecklaren av det här programmet, och författaren av det här dokumentet, bäst känner till CUPS som utskriftssystem. När det här skrivs är CUPS det utskriftssystem som har bäst stöd, och bäst dokumentation.
Den här handboken är under arbete, och senare versioner av KDEPrint-programvaran och utgåvor av den här handboken kommer att stödja och utforska andra utskriftssystem i större omfattning.
Under tiden, även om ditt utskriftssystem inte är väl täckt, uppmuntras du att utforska Skrivarhanteraren i Inställningscentralen, och du kommer förhoppningsvis att märka att användningen är ganska självklar, oberoende av vilket utskriftssystem du använder.
Lauri Watts, KDE:s dokumentationsgrupp
Det här kapitlets målsättning är att ge en teknisk översikt över KDEPrint som är begriplig för andra än programmerare.
KDEPrint är ett nytt revolutionerande verktyg för att lätt komma åt utskriftsservice både för KDE-användare och KDE-utvecklare.
Du kan komma åt funktionerna i KDEPrint på olika sätt: genom skrivarhanteraren i Inställningscentralen, genom kommandot kprinter eller genom dialogrutan som dyker upp när du vill skriva ut.
KDEPrint är inte en ersättning för utskriftssystemet själv. KDEPrint tillhandahåller därför inte köhantering, och det gör inte den grundläggande hanteringen av PostScript® eller annan utskriftsdata.
KDEPrint är ett mellanlager mellan köhanteringen och datahanteringen i utskriftssystemet (som är installerat), och programmet som försöker skriva ut. KDEPrint tillhandahåller ett gemensamt gränssnitt för KDE-utvecklare och KDE-användare, till de olika utskriftssystem som stöds. Samtidigt är det möjligt att ändra, och i hög grad anpassningsbart.
KDEPrint är lätt att använda för både KDE-utvecklare och slutanvändare. Utvecklare kan skriva om sina program att använda KDEPrint istället för det gamla “utskriftssystemet” i Qt™, med minimala ändringar. Användare kan lätt välja och anpassa sitt utskriftssystem.
Som referens för nya KDE-användare: Qt™ är det grundläggande bibliotek och grafiska verktygslåda som används av alla KDE-program. Qt™ utvecklas av Trolltech, ett norskt programvaruföretag.
KDEPrint visar olika ansikten för olika personer.
KDEPrint låter användare och/eller administratörer, beroende på deras behörigheter, komma åt utskriftssystem (CUPS, LPD, RLPR, LPRng, PDQ etc.) genom ett grafiskt användargränssnitt i KDE. Med KDEPrint, kan de skriva ut, hantera jobb, skrivare och utskriftsdemonen, allt på ett bekvämt sätt.
Erfarna användare kommer att tycka om möjligheten att stoppa in vilket fungerande filter som helst mellan utdata från programmet och indata till det valda utskriftssystemet. Några exempel på det här levereras redan med den “vanliga enkla” KDEPrint. Läs vidare!
Om en KDE-utvecklare behöver tillgång till utskrift för sitt program, kodar han inte utskriftsfunktionerna från början. Innan KDE 2.2 tillhandahölls den här servicen av klassen QPrinter
. en biblioteksfunktion i Qt™-verktygslådan. Klassen QPrinter
använde sig av den urmodiga “radskrivardemonen” (LPD). KDEPrint-biblioteket är i grunden baserat på det modernare UNIX®-utskriftssystemet (CUPS), medan det samtidigt behåller bakåtkompatibilitet med LPD och andra gamla eller mindre sofistikerade utskriftssystem. Dessutom lämnar det “dörren öppen” för nyutveckling som kan ske.
För att KDE-utvecklare ska använda den nya KDEPrint-klassen i sina program, behöver de bara göra minimala ändringar i koden: för varje anrop till QPrinter
, behöver de bara ändra till KPrinter
. Ett byte av en (!) bokstav på några få ställen, och de är automatiskt klara. Deras program kan sedan använda alla funktioner i det nya KDEPrint-biblioteket.
Mer ambitiösa utvecklare, eller de med speciella behov kan göra mer: trots KDEPrints funktionsrika grundstomme, kan de fortfarande ändra utskriftsdialogrutan för sitt program genom att skapa ytterligare en flik, där deras tillägg till standardversionen av KDEPrint passar in.
Den sistnämnda funktionen används hittills inte särskilt ofta inne i KDE, eftersom utvecklare inte ännu helt känner till hur kraftfullt KDEPrint är. Förvänta dig mer av detta i den närmsta framtiden. Ett exempel som jag upptäckte är programmet KCron. Det låter dig redigera schemaläggning av systemjobb via ett grafiskt gränssnitt. Utvecklarna har implementerat en utskriftsfunktion som låter dig (eller root
) välja om du vill skriva ut hela schemat (för alla användare) eller bara den markerade delen. Du kan se effekten för KDEPrint på följande skärmbilder.
Den här bilden visar ett exempel från verktyget KCron
Dialogrutan för att ställa in KCrons utskriftsalternativ: den ytterligare fliken som heter Cron-alternativ kommer inifrån KCron, inte KDEPrint. Det är en speciell utökning som har lagts till av utvecklarna av KCron för utskriftsändamål, som inte härrör från, men körs av KDEPrint. Utvecklare av andra program har möjlighet att implementera sina egna godsaker, om de tycker att det behövs.
KCrons tillägg till KDEPrints dialogruta.
KDEPrints lättanvända gränssnitt för alla utskriftssystem som stöds eliminerar förstås inte traditionella grundläggande svagheter för en del av systemen. Men det jämnar ut en del skarpa kanter. Olika användare kan använda olika utskriftssystem på samma dator. En användare har till och med möjlighet att byta utskriftssystemet som ska användas för nästa jobb “i farten”, från utskriftsdialogrutan (Det här är möjligt om olika system är installerade på ett sådant sätt att de inte “kommer i vägen för varandra”.)
De flesta UNIX®-användare är vana vid LPD-utskrift. LPD tillhandahåller bara grundläggande utskriftsfunktioner, saknar till stor del flexibilitet och använder inte de många alternativ som finns i modernare utskriftssystem som CUPS. Även om det också fungerar för fjärrskrivare med vilka avstånd som helst (som alla TCP/IP-baserade protokoll), så saknar LPD tvåvägskommunikation, behörighetskontroll, åtkomstkontroll och krypteringsstöd.
KDEPrint kan använda CUPS för att stödja:
förfrågningar i det lokala nätverket efter tillgängliga skrivare,
grundläggande-, DIGEST- och certifikatbehörighetskontroll,
åtkomstkontroll baserat på IP-adresser, nätadresser, nätmaskar, värddatorer och domännamn,
och 128-bitars TSL eller SSL3 kryptering av utskriftsdata, för att förhindra avlyssning, eller åtminstone göra det mycket svårare.
Det här gör KDEPrint till en mycket robustare och mer tillförlitlig lösning än att använda det vördnadsbjudande LPD.
Du kan komma åt KDEPrint eller delar av det på fyra olika sätt:
genom ditt program. Om du anropar utskriftsdialogrutan (antingen via Arkiv+Skriv ut... eller knappen med den lilla skrivarikonen), öppnas utskriftsdialogrutan.
genom att skriva in kommandot kprinter i en terminal eller ett terminalfönster, eller från fönstret Kör kommando..., minikommandoraden. Det här öppnar också utskriftsdialogrutan.
från knappen , för att starta Inställningscentralen. Välj sedan System+Skrivarhanterare. Det här visar administrationsdelen av KDEPrint, som är en del av Inställningscentralen, och låter dig också byta till andra delar av Inställningscentralen.
skriv kcmshell
från en kommandorad (terminal eller minikommandorad). Det här öppnar bara KDEPrint-delen av inställningscentralen för att ändra dina inställningar. printers
Starta kprinter-dialogrutan från fönstret Kör kommando....
Här är en Kivio-bild av kprinter-dialogrutan som den ser ut efter den har startats... Du kan alltid lägga till en ny skrivare genom att klicka på den lilla guide-knappen (markerad röd/gul i den här bilden).
kprinters dialogruta efter start (Kivio-utkast)
Det nya KDEPrint-systemet innehåller mer än en huvudattraktion. Efter att ha arbetat i en miljö som inte precis är sofistikerad med avseende på utskrift under tidigare år, ta en titt på några av de godsaker som följer med KDEPrint.
KDEPrint har guiden “Lägg till skrivare”. Guiden hjälper dig att lägga till och anpassa en ny skrivare. Du kan förstås också göra det här för hand.
KDEPrint hjälper dig att “upptäcka” skrivare. Det kan avsöka omgivningen efter tillgängliga enheter och köer. Det här fungerar för nätverksanslutningar med TCP (AppSocket, känd som HP® JetDirect®, eller IPP) eller SMB/Samba (“delade” Windows®) skrivare och delvis för direktanslutna skrivare via parallell-, serie- eller USB-anslutningar.
Guiden gör installation och hantering av drivrutiner “en baggis”. Välja, anpassa och testa ska vara lättare än någonsin på alla Linux®-liknande system.
Utskriftsvisaren startas automatiskt av kprinter. Den kan dockas i KDE:s panel (i systembrickan). Utskriftsvisaren tillåter fullständig jobbhantering, om det stöds av utskriftssystemet.
Du kan:
Hålla och släppa jobb,
Flytta väntande jobb till en annan skrivare,
Avbryta väntande eller pågående jobb.
Skärmbilden av KDEPrints utskriftsvisare illustrerar informationen som du får: jobb-ID, vald skrivare, jobbnamn, jobbägare, jobbstatus och jobbstorlek. I nästa utgåva av KDEPrint kommer du också att se information om antal sidor (som CUPS beräknar det, se kapitlet om sidsammanställning för mer information om förtjänster och begränsningar).
En skärmbild av KDEPrints utskriftsvisare.
Ett annat sätt att se på samma information (och ha samma styrmöjligheter) är via Inställningscentralen, genom att välja System+Skrivarhanterare. Om du inte ser Skrivarinformation, klicka då på fönstrets bakgrund och välj Visa information om skrivare. Gå sedan till fliken Jobb för att se detta:
KDEPrint använder olika moduler för att realisera gränssnittet till de möjliga utskriftssystemen. Alla moduler är inte fullständigt utvecklade ännu, men du har grundläggande utskriftsfunktioner med:
LPD (enligt BSD)
LPRng (Red Hat®, om du bara använder deras delmängd enligt BSD),
RLPR (ett LPR-verktyg för kommandoraden, som inte behöver en printcap
-fil).
“externa” utskriftskommandon (Netscape®-lika).
Fullständigt stöd för CUPS finns redan där, vilket är allra viktigast. Moduler för andra utskriftssystem, som PLP, PPR och PDQ kan bli tillgängliga senare.
KDEPrint gör KDE mycket flexiblare. Det ger valfrihet till användare av KDE 2.2. För att använda olika tillgängliga utskriftssystem, måste de förstås installeras oberoende av KDE. I tidigare versioner, var användare fast vid den gamla sortens LPD utskriftssystem. Nu kan de till och med använda CUPS. I framtiden blir det lätt att integrera nya system, när de dyker upp.
Vissa speciella funktioner i KDEPrint beror på det valda utskriftssystemet. Det här beroendet kan finnas på grund av att de funktionerna bara är implementerade här. Kom ihåg att KDEPrint är ett mellanlager mellan KDE-program och utskriftssystemet, men det ersätter inte något utskriftssystem själv. Ett sådant beroende kan finnas av en annan orsak: att KDEPrint inte har implementerat ett gränssnitt till alla funktioner i alla utskriftssystem.
Andra funktioner innehåller fördelar från KDEPrint som är oberoende av det valda utskriftssystemet, och som är tillgängliga för alla. För närvarande finns det “speciella” eller “virtuella” skrivare, och några generella “förfilter”.
Du kan välja att titta på en förhandsgranskning i utskriftsdialogrutan. För denna skickas filen genom filter som gör den lämplig för visning på skärmen med KGhostView.
Bland de här ytterligare funktionerna i KDEPrint finns några “speciella” eller “virtuella” skrivare:
De här speciella skrivarna kan:
Överföra vårt dokument till en PDF-fil med hjälp av ett externt program.
Skicka dokumentet som en PDF-bilaga till e-post.
Spara ditt dokument som en PostScript®-fil.
Skicka det genom ett tillgängligt gränssnitt, till exempel Hylafax, som ett fax.
De här “speciella” skrivarna visas precis som “normala” skrivare i användarens utskriftsdialogruta. De kan helt och hållet anpassas för varje användare.
KDEPrint tillhandahåller en grundstomme för att definiera och anpassa dina egna “förfilter”. Dessa förfilter kan användas innan data skickas till utskriftssystemet för ytterligare hantering, men efter (PostScript®, vanlig text eller andra) utskriftsfiler har skapats av ditt program.
Ett antal användbara filter är redan fördefinierade. De är:
filtret för “flera sidor per blad”,
“enscript” textfiltret,
och tre filter som hjälper till att skriva ut broschyrer.
Du kan skapa dina egna filter baserade på vilket tredjepartsprogram som helst som kan hantera PostScript®, vanlig text eller bildfiler, och mata ut något av dessa format.
Filtren anpassas genom XML-filer. Det här gör det mycket lätt att utöka konceptet för erfarna utvecklare, men anpassning för slutanvändaren görs också via ett intuitivt grafiskt användargränssnitt. Så frukta inte, du behöver inte lära dig XML på grund av KDEPrint.
Det finne ett fördefinierat filter som installeras tillsammans med KDEPrint. Det låter dig skapa ändrad PostScript®-utdata från PostScript®-indata, som skriver ut 1, 2 eller 4 logiska sidor på ett enda pappersark.
Det här är ett fördefinierat filter som installeras tillsammans med KDEPrint. Det låter dig skapa PostScript®-utdata från vilken textfil som helst, som innehåller syntaxfärgläggning för programlistningar, snygg utskrift och trevliga anpassningsbara sidramar och huvuden.
Om din skrivare kan producera dubbelsidig utmatning, antingen med enstegs- eller tvåstegsteknik, kan du använda ett eller en kombination av “broschyr” filter.
För dubbelsidiga skrivare, försäkra dig om att använda alternativet för dubbelsidig utskrift som “vänder” utmatningen längs den korta papperssidan. Genom att vika sidorna längs mitten, blir ditt dokument en trevlig broschyr.
Om du är fast vid att använda en enhet som bara klarar enkelsidig utskrift, kan du göra samma sak genom att använda två olika filter och några extra steg.
Beroende på din skrivarmodell, välj först filtret för att skriva ut de “udda” sidorna, och stoppa sedan tillbaka arken i rätt ordning i pappersmagasinet för att få de jämna sidorna utskrivna på motsatt sida. Dessa kan sedan vikas för att göra en broschyr.
KDEPrint innehåller en modul för CUPS. CUPS, “Common UNIX® Printing System” (http://www.cups.org/), är det mest avancerade, kraftfulla och flexibla av alla utskriftssystem på UNIX® och andra Linux®-liknande operativsystem. Det är fortfarande ganska nytt under solen, men det är baserat på IPP, Internet Printing Protocol, den nya framväxande standarden för framtida nätverksutskrift. CUPS är helt klart utskriftssystemet som Michael Goffioul, den huvudsakliga utvecklaren av KDEPrint, helst använder.
Erfarna KDE användare kanske redan känner till Michaels verktyg qtcups och kups (utvecklade tillsammans med Jean-Eric Cuendet). De här var tidigare de grafiska gränssnitten för CUPS, med en stark koppling till KDE.
Båda verktygen har troligen fortfarande utbredd användning. För de som inte känner till dem, följer en kort beskrivning.
qtcups var ett grafiskt gränssnitt för lp eller lpr utskriftskommandon som installerats av CUPS. När qtcups användes öppnades en dialogruta. Det här dialogrutan lät dig bekvämt välja skrivare och utskriftsalternativ för jobbet. qtcups fungerade från kommandoraden, eller inifrån program, när programmet i fråga hade ett anpassningsbart utskriftskommando.
kups var ett grafiskt gränssnitt för att utföra administrativa uppgifter för CUPS-servern, och CUPS-demonen i dess mitt. Du kunde lägga till, ta bort, ändra, anpassa, starta och stoppa skrivare. Du kunde avbryta, ta bort, flytta, stoppa och starta om utskriftsjobb, och du kunde ändra inställningarna för demonen, starta, stoppa och starta om den.
CUPS-modulen i KDEPrint innehåller nu alla (och fler) funktioner än som tillhandahölls av qtcups och kups i tidigare KDE-versioner.
Istället för qtcups kan du nu använda kommandot kprinter. Och istället för kups kommer du nog använda kcmshell printers i fortsättningen.
KDEPrint modulen för CUPS låter dig också administrera utskriftssystemet helt och hållet, precis som kups gjorde tidigare. Det kan starta, stoppa och anpassa CUPS-demonen. Det kan också starta, stoppa, lägga till och ta bort “skrivare” (dvs. skrivarköer) och “instanser” av skrivare. Instanser av skrivare är skrivarköer som pekar på samma fysiska utmatningsenhet, men med olika normalinställningar för skrivaralternativ.
KDEPrints CUPS-modul ger dig tillgång till ett “grafiskt utskriftskommando”, som qtcups tidigare gjorde.
Använd kprinter i vilket program som helst, till och med program som inte hör till KDE, som låter dig anpassa utskriftskommandot. Exempel på dessa är Netscape® och StarOffice, men inte de flesta program äldre än KDE 2.2.
En skärmbild som visar hur det nya utskriftskommandot kprinter används istället för det gammalmodiga lpr... (Du måste förstås ha kprinter i din $PATH
, eller ange annars hela sökvägen i dialogrutan en gång, t.ex.
. Netscape® kommer ihåg det här och i framtiden får du alltid kprinter dialogrutan för att anpassa dina utskrifter./opt/kde/bin/kprinter
Du kan också använda kprinter från kommandoraden och se den resulterande dialogrutan dyka upp:
Försäkra dig om att du också åtminstone anger filen som ska skrivas ut från kommandoraden: kprinter
. Det här skickar iväg CUPS handbok för programvaruadministration till kprinter dialogrutan, som då dyker upp med den förvalda skrivaren markerad./usr/share/doc/packages/cups/sam.pdf
För att välja en viss skrivare i förväg från kommandoraden, använd väljaren -d
, t.ex. kprinter
. Du kan fortfarande avmarkera skrivaren -d DANKAcolorC2000
/home/kurt/linuxtag2001-paper.ps
DANKAcolorC2000
och sedan markera en annan.
Du kan dock inte anropa kprinter
utan en fil att skriva ut och hoppas på att kunna öppna filvalsdialogrutan från kprinter-fönstret. Det här är en funktion som kommer att implementeras först i nästa version.
Med kprinter kan du “komma åt alla finesser” för din skrivare. Du behöver en enhetsspecifik så kallad PPD (PostScript® skrivarbeskrivning) för att göra det möjligt för CUPS att låta detta team tillsammans sköta allt åt dig. Läs mer om detta under “Enhetsberoende utskriftsalternativ”.
Vad du nu har är den första, redan mycket funktionsrika, versionen av KDEPrint. Den här versionen är förstås fullt användbar för utskrift. Du kanske till och med tycker att “det aldrig har varit så lätt” (inte ens på den tiden då du var tvungen att använda Microsoft® Windows®).
I framtiden kommer KDEPrint att bli ännu bättre. Det kommer att bli bättre på att “detektera” det installerade utskriftssystemet själv. KDEPrint klarar redan utmärkt av att automatiskt känna igen om du har CUPS på systemet. Men i många fall måste du tala om för KDEPrint vad du använder, om du vill behålla ett gammalt utskriftssystem.
Den viktigaste förbättringen i den närmsta framtiden är att färdigställa insticksprogrammet LPRng. Detta är för närvarande mycket primitivt. Det är begränsat till den rena klassiska LPD-delen av LPRng.
Dessutom ska du kunna lägga till skrivare direkt från utskriftsdialogrutan i ditt system “i farten”, utan att gå till Inställningscentralen först.
Några mindre förbättringar som redan är planerade är:
lägga till en filvalsdialog i kprinter-fönstret för att tillåta att flera filer kombineras med det nuvarande utskriftsjobbet
lägga till en “historik”-knapp till fönstret KJobViewer, och dessutom en kolumn som visar antalet sidor som CUPS beräknar för jobbet.
Till sist kommer det att finnas en “I/O-slav” som ger tillgång till utskriftssystemet till exempel via Konqueror. Med den här kommer du snart kunna bläddra i ditt utskriftssystem från Konqueror via en webbadress, som genvägen print://printers/skrivarnamn
. En KPart lägger till en virtuell katalog till servicedelen i Konquerors navigeringspanel, som ger ett praktiskt integrerat sätt att bläddra och hantera utskriftssystemet via webbadressen print:/manager
.
Kontakta gärna Michael Goffioul på (kdeprint AT swing.be)
med ytterligare användnings- eller utvecklingsförslag.
Det här kapitlets målsättning är att ge en del teoretisk bakgrund till utskrift i allmänhet, och till CUPS i synnerhet. Om du inte är i behov av detta, kanske du vill gå vidare till nästa kapitel. Troligen kommer du tillbaka till det här kapitlet vid något tillfälle i alla fall, eftersom man ibland behöver mer teori för att lösa ett praktiskt problem.
Utskrift är ett av de mer komplicerade delarna av IT-teknologi.
Tidigare i historien, var varje utvecklare av ett program som hade möjlighet att producera utskrivningsbar utmatning också tvungen att skriva egna utskriftsdrivrutiner. Det var ganska komplicerat, eftersom olika program har olika filformat. Till och med program med samma syfte, till exempel ordbehandlare, förstår ofta inte varandras format. Så det fanns därför inget gemensamt gränssnitt för alla skrivare, och alltså stödde programmerarna bara några få utvalda modeller.
En ny enhet som kom ut på marknaden krävde att programupphovsmännen skrev en ny drivrutin om de ville att deras program skulle stödja den. Det var också omöjligt för tillverkare att försäkra sig om att deras enhet stöddes av något välkänt program (även om det fanns mycket färre än idag).
Att behöva stödja tio program och ett dussin skrivare, betydde att en systemadministratör var tvungen att hantera 120 drivrutiner. Så utveckling av ett enhetligt gränssnitt mellan program och skrivare blev en brådskade nödvändighet.
Framkomsten av “sidbeskrivningsspråk”, som beskriver den grafiska representationen av bläck och toner på pappersark (eller andra utmatningsenheter, som bildskärmar, fototypsättare, etc.) på ett enhetligt sätt var en utveckling som täckte in ett stort glapp.
En sådan utveckling var PostScript® av Adobe. Det betydde att en programutvecklare kunde koncentrera sig på att låta programmet skapa en beskrivning i PostScript®-språket av sidan som skulle skrivas ut, medan utvecklare av utskriftsenheter kunde fokusera på att få sina enheter att förstå PostScript®.
Med tiden kom förstås en utveckling av andra beskrivningsmetoder. De viktigaste konkurrenterna till PostScript® var PCL (“Print Control Language”, från Hewlett-Packard®), “ESC/P” (från Epson) och GDI (“Graphical Device Interface” från Microsoft®).
Framkomsten av de här sidbeskrivningsspråken gjorde livet lättare, och möjliggjorde ytterligare utveckling för alla. Trots det gör det faktum att det fortfarande finns olika, konkurrerande sidbeskrivningsspråk som inte fungerar tillsammans, livet svårt nog för användare, administratörer, utvecklare och tillverkare.
PostScript® är används mest i professionella utskriftsmiljöer som PrePress och utskriftsserviceföretag. I UNIX®- och Linux®-domänerna är PostScript® den dominerande standarden som PDL. Här skapar nästan varje program en PostScript®-beskrivning av sina sidor när du trycker på knappen “Skriv ut”. Låt oss ta en titt på ett enkelt exempel med (handgjord) PostScript®-kod. Följande listning beskriver två enkla bilder:
Exempel 4.1. PostScript®-kod
%!PS 100 100 moveto 0 50 rlineto 50 0 rlineto 0 -50 rlineto closepath .7 setgray fill % första rutan klar; nästa 160 100 moveto 0 60 rlineto 45 10 rlineto 0 -40 rlineto closepath .2 setgray fill
Det här talar om för den tänkta PostScript®-“pennan” att rita en figur med en viss form, och sedan fylla den med olika gråa nyanser. Den första delen översätts till begriplig svenska som “Gå till koordinaten (100,100), rita en linje med längd 50 uppåt, sedan en därifrån åt höger, sedan neråt igen och till slut förbind den här delen. Fyll nu den uppritade figuren med grå färg som har 70% svärta.”
PostScript® kan förstås vara mycket mer komplicerad än det här förenklade exemplet. Det är ett fullständigt programmeringsspråk med många olika operatorer och funktioner. Du kan till och med skriva PostScript®-program för att beräkna värdet av pi, formatera en hårddisk eller skriva till en fil. Det huvudsakliga värdet och styrkan hos PostScript®, finns ändå i möjligheten att beskriva grafisk formgivning av objekt på en sida: det kan också skala, spegla, förflytta, omvandla, rotera och förvränga allt du kan tänka dig på ett pappersark, som bokstäver i olika teckensnittsrepresentationer, figurer, former, skuggor, färger, linjer, punkter, raster...
En PostScript®-fil är en representation av en eller flera sidor som ska skrivas ut, på ett relativt abstrakt sätt. I teorin är det meningen att det ska beskriva sidorna på ett enhetsoberoende sätt. PostScript® är inte direkt “synligt”. Det finns bara på hårddiskar och i minnet som en kodad representation av framtida utskrifter.
Vad du ser på ett pappersark är nästan alltid en “rasterbild”. Även om din hjärna säger åt dig att dina ögon ser en linje: ta ett bra förstoringsglas så upptäcker du en mängd små punkter... (Ett exempel på motsatsen är linjer som har ritats upp av en “pennplotter”). Och detta är det enda som “skrivenheter” i dagens skrivare kan fästa på papper: enkla punkter av olika färger, storlek och upplösning för att skapa en fullständig “bild” av sidan som består av olika mönster av punkter.
Olika skrivare kräver att rasterbilden skapas på olika sätt. Tänk dig en bläckstråleskrivare: beroende på dess upplösning, antalet olika bläcker som används (verkligt bra använder sju olika bläcker, medan en billigare kanske använder tre), antalet tillgängliga strålar (vissa skrivarhuvuden har fler än 100!) som avger bläck samtidigt, den använda “dither”-algoritmen, och många andra saker, så beror det slutliga rasterformatet och överföringsordningen till skrivenheten i stor utsträckning på den exakta modellen som används.
Under den tidigaste användningen av “radskrivardemonen”, var skrivare maskiner som mekaniskt hamrade fram rader med ASCII-text på långa papper, som veks i sick-sack, och matades fram från en kartong som stod under bordet... Vilken skillnad mot idag!
Innan de slutliga rasterbilderna fästs på pappersark, måste de på något sätt räknas fram från sin abstrakta PostScript®-representation. Detta är en mycket beräkningsintensiv process (Den kallas “Raster Imaging Process”, eller oftare “RIP”).
För PostScript®-skrivare hanteras RIP av skrivaren själv. Du skickar bara PostScript®-filen till den. “Rasterprocessorn” (också kallad RIP) inne i skrivaren är ansvarig (och specialiserad) för att utföra uppgiften att tolka PostScript®- sidbeskrivningar väl och att fästa rasterbilden på papper.
Mindre PostScript®-enheter har en inbyggd hårdvara för RIP. Den är byggd i kisel, på en särskilt krets. Stora professionella skrivare har ofta sin RIP implementerad med programvara för RIP inne i en snabb dator som kör UNIX®, ofta en Sun SPARC Solaris- eller en SGI™ IRIX®-dator.
Men vad händer om du inte är tursam nog att ha en PostScript®-skrivare tillgänglig?
Du måste utföra RIP-innan du skickar utskriftsdata till skrivenheten. Du måste hantera den PostScript® som skapats av programmet på värddatorn (utskriftsklienten) själv. Du måste veta exakt hur rasterformatet på målskrivarens skrivenhet ska sättas samman.
Med andra ord, eftersom du inte kan lita på att skrivaren själv förstår och tolkar PostScript®, blir förfarandet en hel del mer komplicerat. Du behöver programvara som försöker lösa problemen som uppstår åt dig.
Det här är exakt vad det överallt förekommande ghostscript-paketet gör åt många Linux®-, *BSD- och andra UNIX®-datorer som behöver skriva ut till skrivare utan PostScript®. ghostscript är en PostScript®-tolk, en programvara för RIP, som klarar av att hantera många olika enheter.
För att skapa rasterbilder från PostScript®-indata, används ett koncept med “filter” av ghostscript. Det finns många olika filter i ghostscript, några specialiserade för en viss skrivarmodell. ghostscript filter specialiserade för en viss enhet har ofta utvecklats utan medgivande eller stöd från tillverkaren i fråga. Utan tillgång till specifikationer och dokumentation, var detta en mycket krävande process för att återskapa protokoll och dataformat.
Alla ghostscript-filter fungerar inte lika bra för sina skrivare. Men ändå producerar några av de nyaste, som stp-filtren från utskriftsprojektet för Gimp, utmärkta resultat som ger fotografisk kvalitet jämförbar med eller till och med överlägsen deras motsvarighet bland drivrutiner för Microsoft® Windows®.
PostScript® är det som de flesta program skapar för utskrift på UNIX® och Linux®. Filter är arbetshästarna för alla sådana utskriftssystem. I huvudsak skapar de riktiga bitmappar från vilken PostScript®-indata som helst för skrivare utan PostScript®.
CUPS använder sina egna filter, även om filtersystemet är baserat på Ghostscript. I själva verket är filtren pstoraster och imagetoraster direkt härledda från Ghostscript-kod. CUPS har organiserat om och strömlinjeformat hela mekanismen i den här ärvda koden och organiserat den i ett fåtal klara och distinkta moduler.
Följande bild (gjord med hjälp av Kivio) ger en överblick över filtren och utmatningsrutinerna inne i CUPS och hur de passar ihop. “Flödet” är uppifrån och ner. Utmatningsrutiner är särskilda filter: de konverterar inte data till ett annat format, utan skickar färdiga filer till skrivaren. Det finns olika utmatningsrutiner för olika överföringsprotokoll.
Förutom den tunga delen av filteruppgiften att skapa en bitmapp klar för utskrift, behöver all utskriftsprogramvara använda en kömekanism. Denna är till för att rada upp olika jobb från olika användare för olika skrivare och filter och skicka dem till målen på motsvarande sätt. Utskriftsdemonen tar hand om allt det här.
Den här demonen ser till att det blir ordning på torpet: den ansvarar också för jobbstyrning: användare ska kunna avbryta, stoppa, starta om sina jobb (men inte andras jobb), och så vidare.
När du nu vet hur en PostScript®-fil (som beskriver sidlayout på ett i stort sett enhetsoberoende sätt) förvandlas till en rasterbild, kanske du frågar: “Men det finns ju olika sorters rasterutmatningsenheter, först så skiljer de i upplösning, sedan finns det olika pappersstorlekar, det fortsätter med många efterbehandlingsalternativ (dubbelsidig utskrift, broschyrer, hålslagning och häftning med olika sorters färgat papper från olika magasin, etc.). Hur passar det här in i vår modell med enhetsoberoende PostScript®?”
Svaret följer med de så kallade PostScript® skrivarbeskrivningsfiler (PPD). En PPD beskriver alla enhetsberoende funktioner som kan användas för en viss skrivarmodell. Den innehåller också de kodade kommandon som måste användas för att anropa olika funktioner i enheten. Men PPD:er är inte hemliga på något sätt, de är enkla ASCII textfiler.
PPD:er “uppfanns” av Adobe för att göre det lätt för tillverkare att implementera sina egna funktioner för PostScript®-skrivare, och på samma gång behålla ett standardiserat sätt att göra detta. PPD:er är bra dokumenterade och beskrivna av Adobe. Deras specifikation är en defacto öppen standard.
Kom ihåg att avancerad PostScript®-utskrift utvecklades ursprungligen bara för användning på Microsoft® Windows®- och Apple Mac®-system. Under en lång tid var all funktionsrik utskrift på moderna skrivare inte tillgänglig för Linux® och UNIX®. CUPS ändrar detta i ett svep. CUPS är helt integrerad med PPD:er, och därför kan befintliga PPD:er användas fullt ut av alla system som hanteras av CUPS.
Via PPD:er kunde skrivartillverkare lägga till enhetsspecifika hårdvarufunktioner i sina produkter, för funktioner som dubbelsidig utskrift, häftning, håltagning, efterbehandling etc.. Skrivardrivrutinerna laddar en PPD precis som ytterligare en konfigurationsfil. På detta sätt får skrivardrivrutinen reda på tillgängliga enhetsalternativ och hur de anropas. Drivrutinen visar dem också i ett grafiskt gränssnitt för användaren. Genom den här mekanismen kan du fortfarande skriva ut “enhetsoberoende” filer med sidbeskrivningsspråket PostScript®, och ange enhetsberoende efterbehandlingsalternativ efteråt, som läggs till i PostScript® som skapats av programmet.
PPD:er användes inte rutinmässigt i UNIX®- och Linux®-system från början. Tillverkarna som tillhandahöll dessa PPD:er avsåg aldrig att de skulle användas för något annat än de ursprungligen stödda operativsystemen, Microsoft® Windows® och Mac® OS. Med det lysande draget att stödja och använda den befintliga PPD-specifikation, ger CUPS nu möjligheten att använda alla funktioner hos moderna skrivare för användare av Linux® och Linux®-liknande system. KDEPrint gör dess användning ännu bekvämare än CUPS-utvecklarna någonsin drömt om.
CUPS kan använda Windows® original-PPD:er, som distribueras av tillverkare när det gäller PostScript®-skrivare. De kostar normalt ingenting och kan hämtas från vilken Windows®-dator som helst med en installerad PostScript®-drivrutin för modellen i fråga, eller från disketterna som tillhandahålls med skrivaren. Det finns också flera platser på nätet där de kan laddas ner.
Nu vet du hur PostScript®-skrivare kan använda PPD:er. Men vad gäller för skrivare utan PostScript®? CUPS har gjort ett mycket bra trick: Genom att använda samma format och datastruktur som PostScript® skrivarbeskrivningar (PPD:er) i PostScript®-världen, kan de tillgängliga alternativen för utskriftsjobb beskrivas på samma sätt för skrivare utan PostScript®. För sina egna speciella syften har CUPS bara lagt till några få specialalternativ (nämligen raden som anger filtret som ska användas för ytterligare behandling av PostScript®-filen).
Så utvecklarna kunde använda samma programvara för att tolka skrivarbeskrivningsfilerna för tillgängliga alternativ för alla sorters skrivare. Utvecklarna av CUPS kunde förstås inte lita på att hårdvarutillverkare av skrivare utan PostScript® plötsligt skulle utveckla PPD:er. De var tvungna att göra den svåra starten själva, och skriva dem från grunden. Mer än 1000 av dessa är tillgängliga genom den kommersiella versionen av CUPS, som heter ESP PrintPro.
Under tiden finns det en mängd CUPS-specifika PPD:er tillgängliga. Till och med nu kommer de flesta inte från skrivartillverkarna, utan från utvecklare av fri programvara. CUPS-människorna bevisade det, och andra följde efter: Där utskrift på Linux® och UNIX® fortfarande var en röra för ett eller två år sedan, stöds nu en stor mängd skrivare, inklusive sjufärgers bläckstråleskrivare som leder fram till fotografisk kvalitet på utskrifterna.
Du kan skaffa PPD:er för att använda med CUPS och skrivare utan PostScript® från olika ställen på Internet:
i första hand, finns arkivet på www.linuxprinting.org, som låter dig skapa en “CUPS-O-Matic”-PPD medan du är uppkopplad, för alla skrivare som redan har stöd för traditionell utskrift med ghostscript. Det här hjälper dig att byta till CUPS med liten ansträngning, om du vill. Om din skrivare fungerade bra med den traditionella utskriften med ghostscript, använd CUPS-O-Matic för att koppla in din drivrutin i CUPS-systemet, så får du det bästa från båda världarna.
i andra hand, finns det CUPS PPD:er för de över 120 skrivarmodeller som drivs av den nya allmänna stp-drivrutinen. Stp (betydde Stylus Photo från början) utvecklas nu av GIMP-utskriftsprojektet. Det påbörjades av Mike Sweet, den ledande CUPS-utvecklaren och är nu tillgängligt via gimp-print.sourceforge.net. Den här drivrutinen skriver ut med nästan fotografisk kvalitet på många moderna bläckstråleskrivare och kan anpassas för att skapa 120 CUPS PPD:er samtidigt som den kompileras. HP® Laser- och DeskJet, Epson® Stylus och Photo Color modeller samt vissa Canon® och Lexmark® modeller täcks.
i tredje hand, finns den kommersiella utökningen av CUPS från utvecklarna av CUPS själva: Den kallas ESP PrintPro och levereras med mer än 2.300 skrivardrivrutiner. Det följer till och med med förbättrade imagetoraster- och pstoraster-filter.
CUPS gör det verkligt lätt för tillverkare att lägga till stöd för utskrift på Linux® och UNIX® för sina modeller till en rimlig kostnad. Den modulära grundstommen i CUPS möjliggör anslutning av vilket filter (=drivrutin) som helst med minimal ansträngning, för att komma åt och utnyttja hela grundstommen för utskrifts som CUPS skapar.
Läs mer om de underbara funktionerna hos CUPS i CUPS-dokumentationen, tillgänglig på http://www.cups.org/documentation.html och http://www.danka.de/printpro/faq.html. Dessutom finns ett allmängiltigt arkiv för allt som har med utskrift för Linux® och UNIX® att göra på http://www.linuxprinting.org/.
Många utvecklare var länge djupt missnöjda med gamla goda LPD. En hel del nya projekt startades för att förbättra utskrift: LPRng är det bäst kända exemplet. Andra är PDQ, PPR, PLP, GNUlpr och RLPR, men inga av de nya programmen sågs som en “vinnare”, de flesta implementerar bara samma gamla LPD-specifikation med några (eller många) nya utökningar, vilket återigen gör att de inte kan fungera tillsammans.
Efter att ha sett utveckling av inte bara ett, utan flera olika möjliga alternativ till den vördnadsbjudande BSD varianten av LPD, myntade Grant Taylor, upphovsmannen till Linux Printing HOWTO, till sist uttrycket LPD måste dö! i sin “Kampanj för att avskaffa radskrivardemonen”.
Tillsammans med det ovanstående, på den industriella sidan, fanns det försök att komma förbi de välkända svagheterna med LPD. Det började med egna utökningar till enkla gamla LPD, och gick så långt som Hewlett-Packard®s försök att etablera HP® JetDirect som en ny standard för nätverksutskriftsprotokoll. Resultatet var ännu fler samarbetsproblem.
Till sist tog ett initiativ att definiera en ny gemensam industri- och IETF-standard form, “Printer Working Group” eller PWG, en lös sammanslutning av tillverkare av hårdvara, programvara och operativsystem, tog fram det nya “Internet utskriftsprotokollet”, IPP. IPP v1.1 har nu godkänts av IETF (Internet Engineering Task Force) som en föreslagen standard, och åtnjuter nu enhälligt stöd av industrin i Europa, U.S.A. och Japan. De flesta nya nätverksskrivare har nu inbyggt stöd för IPP, förutom traditionell utskrift med LPR/LPD eller JetDirect.
IPP har förutsättningar att lösa många av problemen som nätverksadministratörer råkar ut för. Det här yrket hanterar heterogena nätverksmiljöer där mer än hälften av arbetsdagen går åt att hantera skrivarproblem.
Genom att skapa en enhetlig uppsättning med frågefunktioner för skrivare och servrar som stöder IPP, för att överföra filer och ställa in jobbstyrparametrar etc., så är IPP förutbestämd att fungera med alla operativsystem. Det kommer dock inte att tas i bruk över en natt, eftersom många äldre utskriftsenheter fortfarande kommer att användas under många år. Därför är bakåtkompatibilitet förberedd för alla IPP-implementationer. CUPS tillhandahåller duglighet för utskrift med IPP i alla miljöer.
Den mest uppenbara fördelen kommer att bli dess integration i den befintliga uppsättningen med robusta IP-protokoll. Eftersom den är en utökning av det beprövade och robusta HTTP 1.1 protokollet, för specialaktiviteten att hantera utskriftsfiler och relaterad data, är det också mycket lätt att koppla in andra standarder när de utvecklas och tas i bruk.
Grundläggande, DIGEST- och certifikatautentisering för användare som försöker komma åt en utskriftsservice.
SSL3 och TLS kryptering för att överföra data.
Tvåvägskommunikation med skrivarenheter för klienter, med användning av HTTP/IPP GET- och POST-mekanismen.
Integration av LDAP-katalogservice för att hålla en samhörande databas med tillgängliga skrivare, deras egenskaper och sidkostnader, etc., samt användarnas lösenord, ACL:er etc.
Utskrift med “Pull” (i motsats till den vanliga modellen med “Push”), där en server eller skrivare bara behöver få reda på webbadressen för ett dokument, där den hämtas från resursen på Internet och skrivs ut.
Har du någonsin sett en demonstration av CUPS möjligheter på nätet? Du måste ha blivit riktigt imponerad om du inte visste i förväg vad du skulle få se.
Tänk dig att du är administratör av ett lokalt nätverk. För teständamål installerade du en dator med KDE/CUPS i ditt nätverk, fullständig med ett dussintal skrivare anpassade och fungerande: PostScript®, LaserJets, InkJets och BubbleJets, och så vidare. Dina KDE-användare på den datorn är mycket glada, de kan skriva ut som aldrig förr, och komma åt alla funktioner på varje skrivare. Det tog dig två timmar att få allt att fungera perfekt... och nu vill alla 100 andra användare på nätverket ha samma sak. Ytterligare två timmar för varje dator? Det finns inget sätt att göra det innan nyår, eller vad tror du?
Fel. Ändra bara en inställning i den ursprungliga CUPS-datorn för att göra den till en “server”. Installera CUPS på fem andra datorer, som “klienter”. Lagom tills du har hunnit återvända till din första klient, märker du att användarna redan leker med inställningarna för det dussintal skrivare som du tidigare hade definierat på “servern”. På något magiskt sätt har skrivarna dykt upp i alla “utskrifts”-dialogrutor på de fem nya CUPS-klientdatorerna.
Användarna skriver ut, men inte en enda drivrutin har installerats på klienterna, och inte heller har några skrivarköer definierats.
Hur fungerar den här magin, då?
Svaret är inte alls komplicerat.
Om en CUPS-server finns på ett lokalt nätverk, sänder den ut namnen på alla tillgängliga skrivare till nätverket, med UDP-protokollet och port 631. Port 631 är reserverad som en “välkänt port” av IANA (“Internet Assigning Numbers Authority”) för IPP-syften. Alla CUPS-klienter lyssnar efter CUPS-serverinformation som skickas till deras port 631. På detta sätt känner de till de tillgängliga skrivarna, och detta är också sättet de får reda på “sökvägen” till skrivarna.
Genom att använda IPP, som egentligen är en smart utökning av HTTP v1.1, kan CUPS adressera alla objekt som hör ihop med utskriftssystemet via webbadresser. Utskriftsjobb som ska tas bort eller startas om, skrivare som ska tillfrågas eller ändras, administrativa uppgifter som ska utföras på servern, alla kan adresseras med olika webbadresser. Många viktiga saker kan utföras genom CUPS webbgränssnitt, som är tillgängligt med till exempel Konqueror.
Och dessutom kan klienterna “administrera” och “använda” alla skrivare som de ser, precis som om de var lokalt installerade. Du kan förstås ange begränsningar för detta med styrlistor för åtkomst etc., så att inte alla klienter kan använda alla skrivare de vill.
Klienterna kan till och med skriva ut utan de nödvändiga filtren (eller drivrutinerna) installerade lokalt.
Hur fungerar det här då? Om en klient vill få reda på och välja skrivarspecifika alternativ, skickar den en begäran (som kallas CUPS-get-ppd) till servern. Servern talar om alla skrivarspecifika alternativ för klienten, som lästs från serversidans PPD. Användaren på klientsidan kan se alternativen och välja de som krävs. Han skickar sedan utskriftsfilen, oftast ofiltrerad “obehandlad” PostScript®, kryddade med skrivaralternativen till utskriftsservern, med IPP som transportprotokoll. All ytterligare behandling, i synnerhet filtreringen för att skapa det slutgiltiga formatet för målskrivaren, görs sedan av servern. Servern har alla nödvändiga program (“drivrutiner” eller “filter”) för att göra detta.
På det här sättet kan klienten skriva ut utan att behöva installera en lokal drivrutin.
Alla ändringar på servern, som att lägga till eller ändra en skrivare, blir omedelbart “kända” för klienterna utan någon ytterligare anpassning.
Några andra avancerade funktioner som är inbyggda i CUPS är möjligheten att göra “lastbalansering”.
Om du definierar samma skrivarköer på två eller flera servrar, skickar klienterna sina jobb till den server som först svarar eller är tillgänglig. Det här innebär en automatisk lastbalansering bland servrar. Om du måste koppla ner en server för administrativt underhåll kommer de övriga bara att ta över dess uppgifter utan att användarna ens märker någon skillnad.
Det här kapitlet i KDEPrints handbok kommer att leda dig igenom de flesta av anpassnings- och valmöjligheterna i KDEPrint. Det hanterar huvudsakligen CUPS i den här versionen, eftersom upphovsmannen känner till det bäst, och eftersom KDEPrint började med att stöda CUPS bäst. Senare versioner av KDEPrint-programvaran och utgåvor av den här handboken, kommer bättre stöda och utforska andra utskriftssystem.
Du måste ange utskriftssystem innan du kan installera någon skrivare i KDEPrints grundstomme. Det finns två ställen där du kan ange detta: antingen i Inställningscentralen (under Skrivarhanterare), eller direkt och “i farten” från utskriftsdialogrutan.
Leta rätt på ->->->. Längst ner ser du en knapp som låter dig välja vilket utskriftssystem du vill använda. I KDE 2.2 kan du välja bland följande alternativ:
CUPS, Common UNIX® Printing System (vanligt utskriftssystem för UNIX®)
Skriv ut genom att externt program (generellt)
LPR (standardutskriftssystem för BSD)
Generellt UNIX® LPD-utskriftssystem (förvalt)
RLPR-miljö (skriv ut till fjärrservrar för LPD från kommandoraden)
Det valda systemet måste förstås vara installerat, och klart att använda på datorn innan du väljer det, eller innan valet börjar gälla.
Första gången det startar, försöker KDEPrint göra en automatisk identifiering. Det här fungerar bara för:
CUPS, eftersom den först letar efter en CUPS-demon som kör
LPD, eftersom den letar efter en LPD-demon som kör, plus en printcap
-fil.
Systemet som du väljer måste vara installerat på datorn innan ditt val. Upphovsmannens personliga rekommendation är CUPS.
Så fort det har detekterats automatiskt, valts eller ändrats, gäller det aktiva utskriftssystemet för alla KDE-program. Olika användare kan ha olika utskriftssystem under användning, om de finns på datorn och fungerar tillsammans. Deras inställningar lagras i kdeprintrc
. Den här filen är unik för varje användare, och installeras normalt under $
.HOME
/.kde/share/config/kdeprintrc
Den här filen är inte avsedd att kunna redigeras direkt, och alla tillgängliga alternativ kan ställas in från KDEPrints grafiska gränssnitt.
Du kan till och med byta utskriftssystem som används i farten, från kprinters dialogruta.
När du väl har valt det installerade utskriftssystem som du föredrar, är du klar att undersöka, anpassa, administrera och arbeta med det här systemet genom KDEPrints grundstomme.
Leta rätt på ->->->. I högra delen av fönstret, ser du åtminstone fyra fördefinierade skrivare. Detta är de virtuella eller specialskrivarna, som förklaras i ett tidigare avsnitt. Du ser troligen en verktygsrad med 13 ikoner längst upp i fönstret, och åtminstone fyra flikar i nedre delen av fönstret, som heter Information, Jobb, Egenskaper och Instanser.
Starta anpassningen av utskriftsservern (nu när du har valt CUPS, är detta samma sak som anpassningen av CUPS-demonen) genom att klicka på den riktiga knappen. Du hittar den genom att långsamt flytta musen över knapparna och läsa verktygstipsen. Det ska vara den elfte från vänster, eller tredje från höger, med ikonen som är en skiftnyckel.
Fönstret för CUPS serveranpassning dyker upp. Det ger dig en strukturerad bild av alla inställningar som gäller CUPS-demonen. Konfigurationsfilen för demonen finns normalt i /etc/cups/cupsd.conf
. Det här är en vanlig ASCII-fil med en syntax som liknar konfigurationsfilen för Apache-webbservern. Det är en bra idé att göra en säkerhetskopia, ifall något skulle gå fel med anpassningen via KDEPrint, dialogrutorna för anpassning av CUPS-servern:
cp /etc/cups/cupsd.conf
/etc/cups/cupsd.conf.bak
Eftersom det här grafiska gränssnittet för att redigera konfigurationsfilerna är en så ny funktion, bör du ha en andra chans att återgå till originalfilen. Så var snäll och gör en säkerhetskopia.
En mycket trevlig funktion är “snabbhjälpen” som finns tillgänglig. Om du klickar på det lilla frågetecknet (Vad är det här?) i fönstrets namnlist, ser du att markören ändrar form. Klicka nu på ett inställningsfält i cupsd för att ta reda på vad det betyder och vilka alternativ du har. I de flesta fall bör du förstå betydelsen omedelbart, om inte vänd dig till den utmärkta CUPS-dokumentationen (om CUPS-demonen kör, finns den direkt tillgänglig på din egen dator under http://localhost:631/documentation.html).
Om CUPS inte kör, men är installerat på ditt system, bör du kunna hitta den i din egen dators filsystem. Den exakta platsen beror på operativsystemet, men på Linux® är det normalt /usr/share/doc/cups/
eller /usr/share/doc/cups/documentation.html
.
För den bästa, mest detaljerade och senaste informationen ska du alltid titta i CUPS originaldokumentation. CUPS är precis som KDE under snabb utveckling. Det läggs hela tiden till nya funktioner. Nya funktioner kan kanske under en viss tid enbart ställas in direkt genom att redigera konfigurationsfilerna. Det grafiska gränssnittet i KDEPrint kanske inte har kommit ikapp utvecklingen av CUPS.
Om det skulle vara så att du vill titta på originalen för konfigurationsfilerna i CUPS-systemet, finns de här:
De här sökvägarna är baserade på en normalinstallation. Ditt operativsystem kan ha installerat dem med ett annat prefix, till exempel /usr/local/
, men hierarkin ska fortfarande stämma med den som visas nedan.
/etc/cups/
Katalogen med konfigurationsfiler
/etc/cups/cupsd.conf
Konfigurationsfilen för CUPS-demonen
/etc/cups/printers.conf
Konfigurationsfilen som innehåller information om dina lokalt installerade skrivare
/etc/cups/ppd/
Katalogen med PPD-filer för dina installerade skrivare.
Följande länkar fungerar bara om CUPS-demonen är igång och kör. För att komma åt all CUPS originaldokumentation, gå till:
En sida med alla länkar till övriga dokument.
Direkt tillgång till CUPS handbok för programvaruadministration på HTML-format.
Direkt tillgång till CUPS handbok för programvaruadministration på PDF-format.
Den senaste dokumentationen från CUPS webbplats.
Följande länkar ger dig tillgång till samma filer (men troligen saknas ikoner och grafik) även om CUPS-demonen inte är igång. Du måste i alla fall ha installerat CUPS på systemet (vissa distributioner kan placera filerna någon annanstans, du måste ta reda på var på egen hand ...) För att komma åt all CUPS originaldokumentation, gå till:
Den här dokumentationen är tillgänglig även om CUPS-demonen inte är installerad, även om du kan märka att bilder och ikoner saknas när du tittar på HTML-filer.
Som tidigare nämnt, bör hierarkin nedan vara intakt, men operativsystemet kan ha installerat CUPS på ett annat ställe.
/usr/share/doc/cups/documentation.html
En sida med alla länkar till övriga dokument.
/usr/share/doc/cups/sam.html
Direkt tillgång till CUPS handbok för programvaruadministration på HTML-format.
/usr/share/doc/cups/sam.pdf
Direkt tillgång till CUPS handbok för programvaruadministration på PDF-format.
Det finns några webbplatser och diskussionsgrupper där CUPS (och utskrift på Linux® i allmänhet) diskuteras, och där hjälp för nybörjare finns:
CUPS hemsida.
LinuxPrinting.org, hemsidan för "Linuxprinting HOWTO" och Linux® skrivardatabas
Och till sist kommer det att finnas en webbplats för KDEPrint med tillhörande dokumentation, på http://kdeprint.sourceforge.net/
I nästa avsnitt leder jag dig igenom de flesta anpassningsalternativ som finns i KDEPrint med CUPS.
Det här avsnittet är ännu inte färdigt
Trädvy, ikonvy och listvy
Ikonerna i verktygsraden
Olika teckensnitt för olika skrivare
Olika skrivarikoner betyder olika saker
Det här är välkomstskärmen för serverns inställningsdialogruta. Genom att klicka på en av objekten i trädvyn till vänster öppnas motsvarande del av inställningarna.
Varje inställning har ett normalvärde. Normalvärden låter CUPS fungera som en normal fullt funktionsduglig klient. Klienten lyssnar på TCP/IP-porten 631 efter information som sänds ut av CUPS-servrar på det lokala nätverket. Den här informationen låter klienterna skriva ut omedelbart efter de har tagit emot den, utan att installera några drivrutiner eller anpassa några skrivare på klienterna.
För att anpassa en CUPS-server (som sänder ut sin service till det lokala nätverket) måste du ändra inställningarna från de normala.
Dialogrutan för att anpassa CUPS-servern: Välkomstskärmen.
Dialogrutan för att anpassa CUPS-servern: Välkomstskärm
För att välja den förvalda inställningen för något alternativ markera bara kryssrutan till höger på skärmen. För att ställa in ett alternativ till ett annat värde, avmarkera kryssrutan och välj sedan inställningen du vill ha till vänster på skärmen.
De fullständiga serverinställningarna omfattar:
Allmänna nätverksinställningar
Var och en av de här inställningarna kommer att beskrivas i de följande avsnitten av handboken.
Den allmänna anpassningen av servern görs på den här skärmen. Den innefattar:
Servernamn
Administratörens e-post
Serveranvändare
Servergrupp
Fjärranvändarnamn
Fönstret med flikar för att anpassa CUPS-serverns allmänna inställningar låter dig ändra de förvalda värdena. Klicka på det lilla frågetecknet och sedan på ett av fälten för att få en “snabbhjälp” om vad inställningen betyder.
Om du är osäker, rör ingenting och vänd dig först till CUPS originaldokumentation. Om CUPS-demonen redan kör, kan den läsas från Konqueror genom att ange webbadressen http://localhost:631/documentation.html.
Bekanta dig där först med handboken för programvaruadministration. Försök annars titta i filsystemet, om CUPS-demonen till exempel inte kör, normalt under /usr/share/doc/cups/
eller /usr/share/doc/cups/documentation.html
.
Värddatornamnet för servern, som visas upp för omvärlden. Normalt använder CUPS systemets värddatornamn. För att ange den förvalda servern som används av klienter, se filen client.conf
.
Skriv till exempel in minvärddator.domän.com
Det här är värddatornamnet som rapporteras till klienter. Får du någonsin underliga problem med att komma åt servern, skriv då in dess nätverksadress här för felsökning. På det här sättet eliminerar du eventuella problem med namnupplösning, och det är lättare att ringa in problemet.
Det här är e-postadressen dit alla klagomål eller problem ska skickas. Normalt använder CUPS “root@värddatornamn”.
Skriv till exempel in root@minvärddator.com
.
I motsats till vad snabbhjälpen föreslår, är det också tillåtet att skicka e-post fullt med beröm och entusiasm för CUPS och KDEPrint till serveradministratören.
Användaren som servern kör som. Normalt måste detta vara lp
, men du kan ställa in saker och ting för en annan användare om det behövs.
Servern måste börja köra som root för att stödja den normala IPP-porten 631. Det ändrar användare så fort ett externt program körs.
Skriv till exempel in lp
.
Det här är UNIX®-användarkontot som används för att köra filter och CGI-program. (CGI-program är ansvariga för att visa det trevliga webbgränssnittet för administration som är tillgängligt via http://localhost:631/).
Det finns ingen anledning att ställa in alternativet Användare som root
, så gör aldrig det, eftersom det bara leder till risker. Skulle någon upptäcka sårbarhet för säkerheten i något av de använda filfiltren, skrivardrivrutinerna eller CGI-programmen, kan han köra godtyckliga kommandon på systemet med användarbehörigheterna som root har. Använd alltid ett konto utan särskilda behörigheter för serveralternativet Användare.
Gruppen som servern kör som. Normalt måste detta vara sys
, men du kan ställa in saker och ting för en annan grupp om det behövs.
Skriv till exempel in sys
.
Namnet på användaren som tilldelas för åtkomst från andra system utan behörighet. Normalt remroot
.
Det här namnet syns i loggfiler och i förfrågningar om jobbägare etc., för alla resurser och platser för CUPS-servern som är anpassade att tillåta åtkomst utan behörighet. Behöriga poster kommer att anges med det behöriga namnet.
Serverns logginställningar görs på den här skärmen. Den omfattar:
Inställning av Logg för åtkomst
Inställning av Logg för fel
Inställning av Logg för sidor
Inställning av Loggnivå
Inställning av Max loggstorlek
Det här är en viktig skärm för dig. Skulle du någonsin stöta på problem, är det här stället där du ändrar loggnivån till “avlusa”, startar om CUPS-demonen och därefter tittar i loggen för fel, som anges här, efter poster som kan ge dig en förståelse för problemet.
Här loggas åtkomst till servern. Om det här inte börjar med ett inledande /
, antas det vara relativt till serverns rotkatalog.
Du kan också använda det speciella namnet syslog
för att skicka utmatningen till syslog-filen eller demonen.
Skriv in en sökväg, till exempel
./var/log/cups/acces_log
Formatet som den här filen lagras med är det så kallade “Vanliga loggformatet”. På det här sättet kan du använda program som Webalyzer eller något annat verktyg som rapporterar webbåtkomst, för att skapa rapporter om CUPS-serverns aktiviteter.
För att inkludera servernamnet i filnamnet använd %s i namnet. Till exempel:
./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 separat rad för varje enskild åtkomst, som visar IP-adressen för klienten, datum och tid för åtkomsten, åtkomstmetod (POST eller GET), begärd resurs, HTTP versionen som används av klienten, statuskod och antalet överförda byte. Statuskod 200 betyder lyckades ok, koden 401 i exemplet ovan var en otillåten åtkomst som inte utfördes. För en detaljerad förklaring av loggformatet se CUPS handbok för programvaruadministration.
Om det här inte börjar med ett inledande /
, antas det vara relativt till serverns rotkatalog. Normalinställningen är /var/log/cups/error_log
.
Du kan också använda det speciella namnet syslog
för att skicka utmatningen till syslog-filen eller demonen.
Skriv in sökvägen, till exempel
./var/log/cups/error_log
Utdraget ur loggen för fel nedan visar dig delen som loggas vid utskrift av testsidan med normalinställningen “info” för Loggnivå. För en förklaring av Loggnivån se längre ner.
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.
Om det här inte börjar med ett inledande /
, antas det vara relativt till serverns rotkatalog. Normalvärdet är /var/log/cups/page_log
.
Du kan också använda det speciella namnet syslog
för att skicka utmatningen till syslog-filen eller demonen.
Skriv in sökvägen, till exempel
./var/log/cups/page_log
Loggen för sidor har en rad för varje enskild sida och varje jobb som skrivs ut.
Här visas hur några poster ser ut:
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 det här utdraget från filen hittar du information om namnet på skrivarna (GIMP_print_stp_HP
och DANKA_infotec_P450
) som används via den här servern, användarnamnen (kdetest
, kurt
och root
), jobb-ID (“201” till “205”), tid för utskriften, sidnummer inne i jobbet och antalet kopior av sidorna. Jobb-ID 204 skrev till exempel ut fyra sidor och 33 kopior, jobb-ID 205 skrev ut 14 kopior med bara en sida).
CUPS förlitar sig på att skicka PostScript® genom filtret “pstops” (för beräkningen av antal sidor i ett jobb). Se Kivio flödesdiagrammet över CUPS-filterarkitektur för en idé om var det här filtret passar in i hela utskriftsprocessen). Dessutom beror pstops beräkning på att DSC följs för det som klienten skickar (DSC betyder Document Structuring Conventions, dokumentstrukturkonventioner, en standard som definierats av Adobe). I de flesta fall fungerar det här.
Den här sidbokföringen fungerar dock inte för någon “obehandlad” skrivarkö (eftersom den, per definition, inte använder någon filtrering på CUPS-värddatorn och går förbi pstops.) Varje jobb som går via en “rå” kö räknas som ett jobb med en sida (möjligen med flera kopior). Det här är i synnerhet sant för alla jobb som skickas från Microsoft® Windows® klienter via Samba till CUPS-servern, eftersom de jobben redan anländer med rätt format för skrivaren, därför att klienterna använder den ursprungliga skrivardrivrutinen.
Jag letar fortfarande efter någon som kan skriva ett trevligt verktyg för att analysera CUPS logg för sidor. Det ska skapa en rapport med grafisk utmatning som liknar Webalizers rapporter från loggen för åtkomst. På det här sättet skulle du kunna ha trevlig statistik för redovisning av skrivaranvändning, lastberoende per dag eller veckodag, användare etc. Någon?
Den här inställningen styr antalet meddelanden som loggas i loggen för fel. Den kan vara något av följande:
Logga allting.
Logga nästan allting.
Logga all begäran och tillståndsändringar.
Logga fel och varningar.
Logga bara fel.
Logga ingenting.
Om du behöver leta fel (eller om du vill studera CUPS interna arbete), ställ in loggnivån på avlusa eller avlusa2. Då kommer loggen för fel att ha många fler poster (inte bara fel, utan också informationsposter).
Du kan använda det här för att se en “direktsändning” av vad CUPS gör när du skickar ett utskriftsjobb. Skriv följande i en terminal:
kurt@transmeta:~ >
tail
-f
-n
100
/var/log/cups/error_log
Det här visar dig de senaste 100 raderna (-n
100
) i filen på skärmen och en uppdatering i “realtid” (-f
) av vad som händer. Följande lista visar utskrift av en testsida (vissa delar har klippts bort av utrymmesskäl ... Försök själv om du behöver mer information):
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 [....]
Raderna som är markerade med “D” i början är avlusningsposter, de som är markerade “I” finns där med “info”-nivån.
Styr den maximala storleken av varje loggfil innan de roteras. Normalvärdet är 1048576 (1 Mibyte). Ange det här som 0 för att stänga av loggrotation.
Ange en storlek i byte, till exempel 1048576
Dialogrutan för att anpassa CUPS-servern. Olika kataloger kan ställas in här. Normalt behöver du inte ändra något i den här delen. Om du leker med avancerade teckensnitt (TrueType, PostScript® eller andra) på systemet, är det här stället där du anger teckensnitten vid utskrift. Inställning av serverkataloger omfattar:
Körbara filer: där serverns körbara filer finns
Inställningar: där serverns konfigurationsfiler finns
Data: där serverns datafiler finns
Tillfälliga filer: där serverns tillfälliga utskriftsfiler placeras
Tillfälliga begäran: var serverns tillfälliga begäran finns
Sökväg för teckensnitt: var serverns teckensnitt finns
Rotkatalogen för schemaläggarens körbara filer. Normalt är det här /usr/lib/cups
(eller /usr/lib32/cups
på IRIX 6.5)
Rotkatalogen för schemaläggaren. Normalt /etc/cups
.
På upphovsmannens SuSE-system, är denna /usr/share/doc/cups
. Den innehåller all HTML- eller PDF-dokumentation för CUPS som är tillgänglig via webbgränssnittet på http://localhost:631/documentation.html.
Rotkatalogen för CUPS datafiler. Normalt är detta /usr/share/cups
.
Den innehåller sådana saker som försättsblad, teckenuppsättningar, data, drivrutiner, teckensnitt och mallar för pstoraster.
Katalogen där tillfälliga filer lagras. Den här katalogen måste vara skrivbar av användaren som anges på föregående skärm. Normalt är detta antingen /var/spool/cups/tmp
eller värdet på miljövariabeln TMPDIR
.
Katalogen där filer med begäran lagras. Normalt är detta /var/spool/cups
.
Platsen där CUPS-servern anpassas för att hantera dina snygga teckensnitt (TrueType eller PostScript®). CUPS letar efter teckensnitt för att infoga i utskriftsfiler här. Det här påverkar för närvarande bara filtret pstoraster, och normalvärdet är /usr/share/cups/fonts
.
För att ange mer än en katalog, lista dem med dubbla kolon som skiljetecken. Gör så här:
/sökväg/till/första/teckensnittskat/:/sökväg/till/andra/teckensnittskat/:/sökväg/till/sista/teckensnittskat/
För att sökvägen till teckensnitt ska fungera som avses, måste programmet som vill skriva ut:
Antingen ange de önskade teckensnitten i huvudet på den PostScript® som skapas,
eller infoga teckensnittet i PostScript®-filen.
Att ange teckensnittet med namn överlämnar ansvaret till RIP- och utskriftsenheten att följa och verkligen använda det. RIP eller skrivaren kan bara använda det önskade teckensnittet om det är tillgängligt på systemet.
I fallet med en PostScript®-skrivare, måste det här vara ett teckensnitt som finns på skrivaren. Om skrivaren inte har det här teckensnittet, försöker den ersätta det med ett liknande teckensnitt som passar.
I fallet med en skrivare utan PostScript®, görs detta av CUPS och dess RIP-filtreringssystem. CUPS använder sökvägen för teckensnitt för att hämta det riktiga teckensnittet när RIP sker till PostScript® i filtret pstoraster.
I fallet med en PostScript®-utmatningsenhet, så köar CUPS bara filen (i själva verket skickas den genom filtret pstops för bokföring eller sidformatering), och “arbetar” inte med den. Om du därför skriver ut till en PostScript®-skrivare är det enbart skrivarens ansvar att använda teckensnittet som begärs. Det kan den inte om teckensnittet varken har laddats till skrivaren, eller infogats i PostScript®-filen.
Dialogrutan för att anpassa CUPS-serverns HTTP-inställningar visas här.
CUPS-serverns HTTP-inställningar är följande:
dokumentkatalogen
det förvalda språket
den förvalda teckenuppsättningen
Rotkatalogen för HTTP-dokument som hanteras. Normalt katalogen /usr/share/cups/doc
som angavs vid kompilering.
Det förvalda språket, om det inte anges av webbläsaren. Om detta inte anges, används nuvarande land och språk.
Använd landskoder med två bokstäver, till exempel en
eller se
.
Förvald teckenuppsättning som ska användas. Om den inte anges, väljs UTF-8. Det här kan också överskridas direkt i HTML-dokument.
Det här är dialogrutan för att anpassa CUPS-serverns säkerhetsinställningar. Serverns inställningar för krypteringsstöd är följande:
Servercertifikat: filen att läsa som innehåller serverns certifikat
Servernyckel: filen att läsa som innehåller serverns nyckel
Filen att läsa som innehåller serverns certifikat. Normalt /etc/cups/ssl/server.crt
.
Filen att läsa som innehåller serverns nyckel. Normalt /etc/cups/ssl/server.key
Dialogrutan för att anpassa diverse inställningar för CUPS-servern visas här. Följande serverinställningar görs via den här skärmen:
Bevara jobbhistorik: om jobbhistoriken ska bevaras för senare granskning
Bevara jobbfiler: om fullständig behandlade jobbfiler ska bevaras för senare utskrift igen
Printcap-fil: anger namnet på och sökvägen till en printcap-fil
RIP-cache: ställer in storleken på RIP-cachen i minnet
Filtergräns: anger en filtergräns
Om jobbhistoriken ska bevaras eller inte efter ett jobb är färdigt, avbrutet eller stannat. Normalvärdet är ja.
Om jobbfiler ska bevaras eller inte efter ett jobb är färdigt, avbrutet eller stannat. Normalvärdet är nej.
Namnet på printcap-filen. Normalt anges inget filnamn. Lämna det här tomt för att förhindra att en printcap-fil skapas.
Inställningen för printcap behövs bara för att tillfredsställa äldre program som behöver en sådan fil.
Mängden minne som varje RIP ska använda för cache-bitmappar. Värdet kan vara vilket flyttal som helst, följt av “k” för Kibyte, “m” för Mibyte, “g” för Gibyte eller “t” för rutor, där en ruta är 256 x 256 bildpunkter. Normalvärdet är 8m.
Anger den maximala kostnaden för alla jobbfilter som kan köras samtidigt. Gränsen 0 betyder ingen gräns. Ett typiskt jobb kan behöva en filtergräns på minst 200. Gränser mindre än minimum som krävs av ett jobb tvingar fram att endast ett jobb skrivs ut åt gången. Normalgränsen är 0 (obegränsat).
Dialogrutan för att anpassa CUPS-serverns nätverksinställningar visas här. Den omfattar:
Leta efter värddatornamn på IP-adresser
Port
Maximal storlek för begäran
Tidsgräns
Om uppslagning av nätverksadresser ska användas eller inte för att hämta ett fullständigt värddatornamn. Normalvärdet är av, på grund av prestandaskäl.
Skriv in portar och adresser som servern ska lyssna på här. Den förvalda porten 631 är reserverad för Internet Printing Protocol, och det är den vi använder här.
Du kan ange flera poster, för att lyssna på mer än en port eller adress, eller för att begränsa åtkomst.
Tyvärr stöder inte de flesta webbläsare TLS- eller HTTP-uppgraderingar för kryptering. Om du vill stödja webbaserad kryptering, måste du troligen lyssna på port 443, HTTPS-porten.
Använd knapparna och för att lägga till och ta bort poster i listan.
Du kan skriva in ensamma portar, t.ex. 631
, eller värddatornamn med portar, t.ex. minvärddator:80
eller 1.2.3.4:631
.
Styr den maximala storleken på en HTTP-begäran och utskriftsfil. Normalvärdet är 0, som stänger av den här funktionen.
Tidsgränsen (i sekunder) innan tiden för en begäran går ut. Normalvärdet är 300 sekunder.
Dialogrutan för att anpassa CUPS-klientens nätverksinställningar visas här. Den omfattar:
Acceptera "Keep-alive"-förfrågningar
Tidsgräns för "Keep-alive"
Maximalt antal klienter:
Om alternativet "Keep-alive" ska stödjas eller inte. Normalvärdet är på.
Tidsgränsen (i sekunder) innan "Keep-alive" anslutningar automatiskt stängs. Normalvärdet är 60 sekunder.
Styr maximala antalet samtidiga klienter som hanteras. Förvalt värde är 100.
Dialogrutan för att anpassa allmänna CUPS inställningar för bläddring visas här. Den omfattar:
Aktivera bläddring
Använd korta namn om möjligt
Använd underförstådda klasser
Om skrivarinformation ska sändas ut till andra CUPS-servrar. Normalt aktiverat.
Om “korta” namn för fjärrskrivare ska användas om möjligt eller inte (t.ex. printer
i stället för printer@host
). Normalt aktiverad.
Om underförstådda klasser ska användas eller inte.
Skrivarklasser kan anges uttryckligen, i filen classes.conf
eller underförstått baserat på tillgängliga skrivare i det lokala nätverket, eller både och.
När underförstådda klasser är aktiverade, så placeras skrivare i det lokala nätverket med samma namn (t.ex. Acme-LaserPrint-1000
) i en klass med samma namn. Det här gör det möjligt att ställa in flera parallella köer i ett lokalt nätverk utan en mängd administrativa svårigheter. Om en användare skickar ett jobb till Acme-LaserPrint-1000
, skickas jobbet till kön som först är tillgänglig.
Det här alternativet är normalt aktiverat.
Dialogrutan för att anpassa CUPS-serverns bläddringsanslutning visas här. Inställningar för bläddringsanslutning omfattar:
Utsändningsadresser: De (UDP) utsändningsadresser dit skrivarinformation ska skickas
Utsändningsport: Portnumret som används för utsändningar
Kontrollera adresser: Adress(er) att kontrollera efter information om skrivare på servrar som kanske inte sänder ut (eller vars utsändningar kanske inte når ditt lokala nätverk på grund av en mellanliggande router).
Efter att ha tryckt på knappen , ser du följande dialogruta för att skriva in ett nytt värde för utgående sändningar av bläddringspaket. Det här är samma sorts dialogruta som för andra CUPS-serveradresser som ska kontrolleras efter skrivarinformation.
Det här alternativet anger en utsändningsadress som ska användas. Normalt sänds bläddringsinformation ut till alla aktiva gränssnitt.
HP-UX® 10.20 och tidigare hanterar inte utsändningar på ett riktigt sätt om du inte har en nätmask av klass A, B, C eller D (dvs. det finns inget stöd för CIDR).
Porten som används för UDP-utsändningar. Normalt är detta IPP-porten. Om du ändrar det här, måste du göra det på alla servrar. Bara en bläddringsport känns igen.
Kontrollera de namngivna servrarna efter skrivare.
Dialogrutan för att anpassa CUPS-serverns tillåtna och/eller nekade bläddringspaket från andra servrar visas här.
Tillåt bläddring:
Neka bläddring:
Bläddringsordning:
Dialogruta för att skriva in ett nytt värde för adressen till en annan CUPS-server, som bläddringspaket tillåts från, visas här. Den öppnas genom att klicka på knappen intill fältet som heter Tillåt bläddring:. Det är samma dialogruta som för att lägga till “nekade” utsändningsadresser.
Dialogruta för att skriva in ett nytt värde för adressen till en annan CUPS-server, som bläddringspaket tillåts från, visas här.
Tillåt bläddring anger en adressmask för att tillåta inkommande bläddringspaket. Normalvärdet är att tillåta paket från alla adresser.
Neka bläddring anger en adressmask för att neka inkommande bläddringspaket. Normalvärdet är att inte neka paket från någon adresser.
Både Tillåt bläddring och Neka bläddring accepterar följande skrivsätt för adresser:
Alla
Ingen
*.domän.com
.domän.com
värddator.domän.com
nnn.*
nnn.nnn.*
nnn.nnn.nnn.*
nnn.nnn.nnn.nnn
nnn.nnn.nnn.nnn/mmm
nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
Begränsningarna för värddatornamn/domän fungerar bara om du har aktiverat uppslagning av värddatornamn.
Anger ordningen för jämförelserna vid tillåt/neka.
Dialogrutan för att anpassa CUPS-serverns inställning av tidsgräns vid bläddring visas här. Inställningar av tidsgräns vid bläddring omfattar:
Bläddringsintervall
Tidsgräns för bläddring
Tiden mellan uppdateringar via bläddring i sekunder. Normalvärdet är 30 sekunder.
Observera att bläddringsinformation skickas också så fort en skrivares status ändras, så det här anger den maximala tiden mellan uppdateringar.
Ställ in det här till 0 för att stänga av utgående sändningar så att de lokala skrivarna inte syns, men du fortfarande kan se skrivare från andra värddatorer.
Tidsgränsen (i sekunder) för nätverksskrivare. Om vi inte får en uppdatering inom den här tiden, tas skrivaren bort från skrivarlistan.
Värdet ska definitivt inte vara mindre än intervallet mellan bläddringar, av uppenbara skäl. Normalt 300 sekunder.
Dialogrutan för att anpassa CUPS servern för vidarebefordran vid bläddring visas här. Inställningar för vidarebefordran vid bläddring omfattar:
Vidarebefordran av bläddrarpaket
Dialogrutan för att skriva in ett nytt värde för ett adresspar som anger vidarebefordran för bläddring mellan en CUPS-server och ett nätverk visas här.
Vidarebefordra bläddrarpaket från en adress eller nätverk till en annan.
Dialogrutan för att anpassa CUPS-serverns säkerhetsinställningar för alla de angivna serverplatserna visas här. Den innehåller följande inställningarna, som kan anges separat för alla CUPS-serverns giltiga adresser (eller kataloger):
Systemgrupp:
Åtkomstbehörigheter:
Behörighetstyp:
Behörighetsklass:
Behörighetsgruppnamn:
Kryptering:
Tillåt:
Neka:
Ordning:
Giltiga adresser (eller kataloger) för CUPS-servern är:
Serverns rotkatalog: /
Serverns administrationskatalog: /admin
Alla skrivare på servern: /printers
Alla enskilda skrivare på servern: t.ex. /printers/infotec_P320
Alla skrivarklasser på servern: /classes
:
Alla enskilda skrivarklasser på servern: t.ex. /classes/all_infotecs_P320_or_P450
För alla platser som inte definieras separat, gäller inställningen för platsen “ovanför”.
Du har till exempel en skrivare som heter infotec_P450
utan några inställda säkerhetsalternativ. Då hanteras säkerheten för den här skrivaren av platsen /printers
, eftersom den tillhör en undergrupp av /printers
. Om det dessutom inte finns någon säkerhetsinställning för /printers
, så hanteras säkerheten av /
(den generella säkerhetsnivån). Antingen har du ställt in den här för ditt syfte, eller så gäller det normala värdet som angavs vid kompilering.
Gruppnamnet för System
eller åtkomst av skrivare för administratörer. Normalvärdet varierar beroende på operativsystem, men är sys
, system
eller root
(kontrolleras i denna ordning).
Åtkomstbehörigheter för varje katalog som hanteras av schemaläggaren. Platser är relativa till dokumentets rotkatalog.
Behörighetskontrollen som ska användas:
Utför ingen behörighetskontroll.
Utför behörighetskontroll med den grundläggande HTTP-metoden.
Utför behörighetskontroll med HTTP-referatmetoden.
Grundläggande eller referatkontroll kan ersättas med lokal behörighetskontroll med certifikat av klienten, vid anslutning till gränssnittet localhost.
Behörighetsklassen. För närvarande stöds bara “anonym”, “användare”, “system” (giltig användare som hör till gruppen som är inställd som systemgrupp) och “grupp” (giltig användare som hör till den angivna gruppen).
Gruppnamnet för “grupp”-behörighet.
Om kryptering ska användas eller inte. Detta beror på om OpenSSL är länkat tillsammans med CUPS-biblioteket och schemaläggaren.
Möjliga värden är:
Använd alltid kryptering (SSL)
Använd aldrig kryptering.
Använd uppgradering med TLS-kryptering.
Använd kryptering om servern begär det.
Tillåt åtkomst från det angivna värddatornamnet, domänen, nätverksadressen eller nätverket. Möjliga värden är:
Alla
Ingen
*.domän.com
.domän.com
värddator.domän.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ärddatorn och domänadressen kräver att du aktiverar uppslagning av värddatornamn, som beskrivits tidigare.
Nekar åtkomst från det angivna värddatornamnet, domänen, nätverksadressen eller nätverket. Möjliga värden är:
Alla
Ingen
*.domän.com
.domän.com
värddator.domän.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ärddatorn och domänadressen kräver att du aktiverar uppslagning av värddatornamn, som beskrivits tidigare.
Ordningen för hantering av tillåt och neka.
Dialogrutan för att anpassa CUPS-serverns säkerhetsinställningar beskrivs här. Vi använder exemplet att lägga till säkerhetsdefinitioner som skiljer sig från de förvalda, för resursen som heter alla skrivare
. För CUPS webbserver, är detta platsen som du kommer åt med http://localhost:631/printers/ eller (från en annan dator) med http://cups.server.namn:631/printers/
Den första skärmbilden visar den allmänna platsen för den här inställningen. Markera, eller en resurs där du vill bestämma säkerhetsinställningarna.
Det här dialogrutan är till för att lägga till en ny resurs. Den ser liknande ut om du vill ändra en redan befintlig resurs. Här är de allmänna alternativen:
Det här är den andra delen av dialogrutan för att lägga till en ny resurs. Den ser liknande ut om du vill ändra en redan befintlig resurs. Här anger du de verkliga åtkomstmaskerna för resursen i fråga.
Genom att klicka på ikonen längst till vänster i verktygsraden i övre delen av fönstret startas guiden “Lägg till skrivare”.
Den här guiden stegar dig igenom olika skärmar för att installera en ny skrivare. För närvarande fungerar den här guiden med CUPS och modulen för RLPR-miljön. Antalet steg beror på vilket utskriftssystem som är aktivt på din dator.
Välkomstskärmen talar om för dig att du kan gå bakåt när som helst för att ändra en inställning.
Anger protokollet för “utskriftsenhet” som det är meningen att CUPS ska använda med den nya skrivaren. Det finns:
Lokal skrivare (serie, parallell, USB)
LPD-fjärrkö
SMB-delad skrivare (Windows®)
Nätverksskrivare (TCP, HP® JetDirect, AppSocket)
Nätverksskrivare med IPP (IPP/HTTP)
Skrivare till filer
Seriefax/modem-skrivare
Skrivarklass
Om vissa alternativ är gråa, är de inte tillgängliga. Du har till exempel kanske inte någon faxprogramvara eller modem installerat för att använda den.
Innehållet på nästa skärm beror på valen i föregående skärm. Om du känner till uppgifterna, skriv in dem direkt för att anpassa nätverksinställningarna.
Annars kan guiden avsöka nätverket åt dig för att hjälpa dig bestämma vilken inställning som kan vara användbar.
Om du använder en av nätverksanslutningarna (LPD-fjärrskrivare, SMB, CUPS-fjärrskrivare, nätverksskrivare med IPP), finns ett alternativ för att avsöka nätet. Var försiktig när du tillämpar det här, i vissa miljöer anses nätverksavsökning vara fientligt och skadligt!
I fallet med SMB, kommer KDEPrint att använda Samba-verktygen nmblookup och smbclient (som måste vara installerade för att det här ska fungera) för att hämta informationen, som sedan visas i en trädstruktur.
I fallet med IPP (port 631) och TCP-nätverk/AppSocket (port 9100) försöker KDEPrint öppna porten, och om det lyckas skicka en begäran ipp-get-printer-attribute till skrivaren. För nyare HP®-skrivare fungerar ofta det senare, eftersom de både stöder AppSocket och IPP.
Vissa skrivare eller tillverkare använder andra portnummer för direkt TCP/IP-utskrift. Du kan behöva slå upp vilken som används. Knappen Inställningar i dialogrutan låter dig anpassa avsökningen, inklusive nätverksadresser, portar och tidsgränser som ska användas.
Återigen, var försiktig så att du inte missförstås som en inkräktare i nätverket, när du använder avsökningstekniken.
Den svåraste delen är troligen “Val av skrivarmodell”. Förr i tiden var situationen svår därför att det knappast fanns några drivrutiner att få. Nu är den det därför att det finns för många, med några av dem mycket bra, men många helt felaktiga.
Om du har en aktuell “databas” med tillgängliga drivrutiner på systemet, välj tillverkare till vänster i fönstret först, och sedan enhetens modell till höger. Det här delade fönstret visar alla PPD:er som CUPS hittat i det standardarkiv med PPD:er, som kan installeras. Det här arkivet är normalt /usr/share/cups/model/
. Om du vill att din drivrutin ska hittas automatiskt av CUPS och KDEPrint, placera den där.
På nästa skärm ser du en beskrivning av drivrutinen som tidigare valdes. Den här beskrivningen hämtas ur den PPD som verkligen används.
Försök aldrig installera en “automatisk” eller “Gimp-utskrifts” PPD för en riktig PostScript®-skrivare, även om det erbjuds en. Du blir inte nöjd med den. Leta istället rätt på den ursprungliga PPD:n från tillverkaren, helst den som skrivits för Windows® NT, och använd den.
Vissa Linux®-distributioner tillhandahåller varje möjlig kombination av ghostscript-filter och “automatiska” PPD-filer med CUPS, som de kunnat hitta på nätet. Många av de här är helt oanvändbara. De skapades för ett år sedan, när personerna på www.linuxprinting.org gjorde de första experimenten med att tillhandahålla PPD:er i andra hand till CUPS. Även om de kallades “alfa” vid den här tiden, fick de ett eget liv, och kan nu hittas på olika ställen på nätet, vilket inte är till någon fördel för CUPS.
Om du inte är säker på vilka du ska använda, gå till:
Och fråga efter hjälp. Vid ett senare tillfälle kommer ett dokument som beskriver skillnaderna för de olika drivrutinerna och PPD-modellerna att finnas på http://kdeprint.sourceforge.net/. Håll utkik efter det!
Via knappen kan du hämta vilken PPD som helst som finns någonstans i det tillgängliga filsystemet.
Gör nu de första drivrutininställningarna. Den viktigaste är förvald pappersstorlek. I många fall är det här inställt till “Letter”. Om du bor i ett “A4”-land, och inte vill att din första testsida ska fastna: nu är det dags att sätta stopp för det.
Du är nu klar att starta en testutskrift. Tryck på knappen .
På den näst sista skärmen kan du välja, om du vill använda försättsblad och vilka du vill använda för att markera början och/eller slutet på varje utskriftsjobb på skrivaren. Du kan också aktivera eller stänga av huvuden innan utskrift i dialogrutan för jobbalternativ.
Om du behöver använda egna försättsblad, kopiera dem till /usr/share/cups/banners/
för att göra dem tillgängliga att välja. De måste dock vara PostScript®-filer.
Den sista skärmen låter dig ange ett namn för den nya skrivaren.
Namnet måste börja med en bokstav, och kan innehålla siffror och understreck med en maximal storlek av 128 tecken. Håll dig till detta om du vill undvika konstigt beteende från CUPS-demonen. Skrivarnamnen i CUPS tar inte hänsyn till små och stora bokstäver! Detta är ett krav från IPP. Så namnen DANKA_infotec
, Danka_Infotec
och danka_infotec
motsvarar alla samma skrivare.
Det här kapitlet ger dig några tips om ytterligare inställningsmöjligheter som kanske inte är tillgängliga via KDEPrints grafiska gränssnitt för CUPS.
Alla de oftast använda funktionerna som CUPS tillhandahåller stöds av KDEPrint.
Skrivarhantering stöds: lägga till, ta bort, ändra, anpassa, testa, inaktivera, aktivera ...
Jobbhantering stöds: avbryta, stanna, återstarta, flytta till annan skrivare
Utskriftsalternativ: för full styrning enligt CUPS.
Mycket information om de interna funktionerna i CUPS är tillgänglig genom webbgränssnittet, som CUPS alltid kommer att stödja. Det fungerar med alla webbläsare (ja, till och med textbaserade). Gå bara till http://localhost:631/ från början. Här hittar du en länk till lokalt tillgänglig CUPS-dokumentation med HTML och PDF om CUPS är nytt för dig.
CUPS är tillgängligt på andra sätt än genom KDEPrint: kommandoraden och webbgränssnittet är två inbyggda CUPS-gränssnitt. De många kommandoradsverktygen ger sammantaget störst kontroll över CUPS. Webbgränssnittet är bara en delmängd av de tillgängliga alternativen för inställning eller styrning.
Det här är också sant för KDEPrint. I allmänhet, allteftersom CUPS utvecklas, implementeras de flesta nya funktioner genom kommandoraden. Försäkra dig om att du kontrollerar de senaste versionerna av manualsidorna för CUPS för att vara uppdaterad med nya funktioner efter installation av en ny version.
Beroende på metoden du använder för att uppdatera CUPS, kanske din aktiva konfigurationsfil inte har bytts ut mot en ny. Därför kanske inte den nya, mer kapabla CUPS-demonen kanske inte har fått reda på de nya funktionerna som ska användas från den gamla konfigurationsfilen.
En fullständig lista på tillgängliga filer och manualsidor ska alltid finnas i CUPS handbok för programvaruadministration (http://localhost:631/sam.html#FILES). Skriv man:/lpadmin
och man:/cupsd.conf
i Konquerors platsrad för att få reda på mer om det viktigaste kommandot och konfigurationsfilen. Du kände väl redan till Konquerors utmärkta möjlighet att visa de traditionella UNIX® manualsidorna, eller hur? Läs det här. Härifrån kan du gå till mer intressanta tips och länkar till andra manualsidor och dokumentation.
Här är ett sätt att ta reda på vilka manualsidor som hör till CUPS som finns på systemet:
kurt@transmeta:~ >
apropos
cups
cups-calibrate (8)- ESP Printer Calibration Tool lpstat (1) - print cups status information cups-lpd (8) - receive print jobs + report printer status to lpd clients classes.conf (5) - class configuration file for cups backend (1) - cups backend transmission interfaces filter (1) - cups file conversion filter interfaces cups-polld (8) - cups printer polling daemon mime.types (5) - mime type description file for cups cupsd (8) - common unix printing system daemon lpadmin (8) - configure cups printers and classes cupsd.conf (5) - server configuration file for cups mime.convs (5) - mime type conversion file for cups printers.conf (5) - printer configuration file for cups mime.convs (5) - mime type conversion file for cups cups-polld (8) - cups printer polling daemon lpstat (1) - print cups status information backend (1) - cups backend transmission interfaces mime.types (5) - mime type description file for cups cupsd (8) - common unix printing system daemon lpadmin (8) - configure cups printers and classes printers.conf (5) - printer configuration file for cups cupsd.conf (5) - server configuration file for cups filter (1) - cups file conversion filter interfaces
Här är några exempel på alternativ som för närvarande bara är tillgängliga om du använder kommandoraden.
När du installerar (eller ändrar) en skrivare via kommandoraden, kan du antingen neka eller tillåta användning av skrivaren för vissa användare:
lpadmin -p
HeidelbergDigimaster9110
-v
lpd:/10.160.16.99/mqueue
-u
allow:kurt,sylvi,hansjoerg
-E
-P
/home/kurt/PPDs/DVHV.ppd
tillåter användning av den här (tro mig: utmärkta och professionella) skrivaren bara för de tre nämnda användarna, och nekar på samma gång alla andra att använda den. Om en annan användare vill skriva ut på DigiMastern via den här CUPS-servern, får han ett felmeddelande som lyder ungefär som 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
nekar användning av samma skrivare för de tre nämnda användarna, och tillåter på samma gång alla andra att använda den. Om en “nekad” användare vill skriva ut på DigiMastern via den här CUPS-servern, får han ett felmeddelande som lyder ungefär som client-error-not-possible.
Bara en av de två alternativen kan användas samtidigt, för närvarande finns det inget stöd för ett liknande alternativ baserat på varje grupp. Det här kommer att implementeras i framtiden.
Ibland vill du tillämpa kvotering för vissa skrivare. Med kvotering kan du ange övre gränser för antalet sidor eller mängden data som ska skrivas ut under en viss tid för en viss skrivare.
Kvotering kan ställas in med väljaren -o
när en skrivare installeras med kommandot lpadmin, eller senare för en redan befintlig skrivare. Det som följer är några hållpunkter (som saknas i den officiella CUPS-dokumentationen när det här skrivs):
För CUPS kan du ha kvotering baserad på sidantal och filstorlek för enskilda skrivare.
Kvoter beräknas separat för varje användare (så en uppsättning med gränser gäller för alla användare med den aktuella skrivaren).
Kvoter innefattar försättsblad (om de används).
Det här betyder att du kan begränsa varje användare till 20 sidor per dag på en dyr skrivare, men du kan inte begränsa alla användare utom Kurt
eller root
.
Alternativen job-k-limit
, job-page-limit
, och job-quota-period
kan anges när en skrivare ställs in.
job-quota-period
ställer in tidsintervallet för beräkning av kvoter (intervall beräknas i sekunder, så en dag är 60x60x24=86.400, en vecka är 60x60x24x7=604.800, och en månad är 60x60x24x30=2.592.000 sekunder.)
För att kvotering ska gälla, måste tidsperioden och minst en jobbgräns anges skilda från noll.
Normalvärdet 0 för job-k-limit
anger att det inte finns någon gräns.
Normalvärdet 0 för job-page-limit
anger att det inte finns någon gräns.
Normalvärdet 0 för job-quota-period
anger att gränserna gäller för alla jobb som har skrivits ut av en användare, och fortfarande är kända av systemet.
Fungerar, eftersom tidsperiod och en eller båda jobbgränserna anges
lpadmin -p
danka_infotec_4850
-o
job-quota-period=604800
-o
job-k-limit=1024
Det här anger en gräns på 1 Mibyte för filstorleken (totalt) för varje användare av den befintliga skrivaren danka_infotec_4850
under en vecka.
lpadmin p
danka_infotec_4105
-o
job-quota-period=604800
-o
job-page-limit=100
Det här anger en gräns på 100 sidor (totalt) för varje användare av den befintliga skrivaren danka_infotec_4105
under en vecka.
lpadmin -p
danka_infotec_P450
-o
job-quota-period=604800
-o
job-k-limit=1024
-o
job-page-limit=100
Det här anger en kombinerad gräns på 1 Mibyte (totalt) och 100 sidor (totalt) för varje användare av den befintliga skrivaren danka_infotec_P450
under en vecka. Den gräns som nås först gäller.
fungerar INTE, eftersom bara en, tidsperiod eller jobbgräns anges
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
Det finns olika sätt att definiera en “obehandlad” skrivare. Ett bekvämt sätt är att använda kommandot lpadmin. Bara låt bli att definiera en PPD-fil att använda för skrivaren och den blir då en obehandlad skrivare:
lpadmin -p
Raw_Danka_infotec
-E
-v
lpd://10.160.16.137/PORT1
Obehandlade skrivarköer är de som inte rör utskriftsfilen för att omvandla den till ett annat filformat. Du behöver till exempel det här för utskrift från Windows®-klienter via Samba genom en CUPS-server till en PCL-skrivare. I detta fall skapar Windows® utskriftsdrivrutinen det färdiga utskriftsformatet för målskrivaren och filtrering genom CUPS-filter skulle bara göra skada. Under vissa omständigheter (om du vill vara säker på att filen skickas “ofiltrerad” till skrivaren från CUPS) passar kommandot “lpadmin utan en PPD” bra.
Det här avsnittet i KDEPrints handbok kommer att växa med läsarnas återmatning. Det här är bara påbörjat.
Inget system är perfekt. Här är några vanliga fällor som en del har trillat i.
Skrivarhantering: grundläggande funktioner stöds (lägg till/ta bort/ändra).
Varje användare kan fördefiniera de skrivare som han vill använda, genom att ange värddator och tillhörande skrivarköer. Skrivare lagras “per användare”. Den här modulen bygger på verktyget rlpr, rlpr.
Modul som är förvald (till exempel vid första uppstart).
Generella moduler som bara tillåter att utskriftsjobb skickas. Ingen skrivar- eller jobbhantering stöds. Fungerar på en stor mängd olika UNIX®-system: Linux®/LPR, HP-UX®, Solaris, IRIX®. De stöder också vissa LPRng-utökningar (som avsaknad av fortsättningstecken \
i printcap
-filer).
Enkelt (gammalt?) LPR-stöd. En LPRng-modul är under utveckling, och finns förhoppningsvis tillgänglig för 2.3 utgåvan.
En LPRng-modul för KDEPrint är under utveckling, och finns förhoppningsvis tillgänglig för KDE 2.3 utgåvan.
Den här modulen tillåter att fullständig ange utskriftskommandot (Netscape®-liknande). En redigeringsrad läggs till i utskriftsdialogen för detta syfte. Kan användas i många fall, till exempel med ett egentillverkat utskriftsprogram.
Min arbetsgivare är Danka Deutschland GmbH, en ledande tillverkaroberoende leverantör av professionella och digitala skrivarsystem med hög hastighet, i både svartvitt och färg. Danka tillhandahåller hårdvara, programvara, service, underhåll, förbrukningsartiklar och kundanpassade lösningar kring produktportföljen. Jag arbetar för dem som systemingenjör. Bland märkena som Danka erbjuder finns Heidelberg (före detta Kodak), Canon, Hewlett-Packard®, Hitachi, infotec och EfI.
Min bekantskap med Linux® och fri programvara är inte alltför gammal. När jag började syssla med Linux® i början av 1999, var min största besvikelse det svaga stödet för utskrift. Det är sant att jag fick alla våra maskiner att spotta ur sig enkelsidiga utskrifter, men vad gäller dubbelsidiga? Hur fungerar hålslagning av utskrifter? Hur får man sortering att fungera? Eller häftning, pärmar och alla andra underbara efterbehandlingsalternativ som våra skrivare erbjuder våra kunder? Helt uteslutet, åtminstone för mig som vanlig användare!
Jag började leta på Internet efter en lösning. Som tur var, annonserade Mike Sweet, huvudsaklig utvecklare av CUPS, den första beta-utgåvan av denna superba utskriftsprogramvara inte så mycket senare, i maj 1999. Efter att ha provat den helt kort, visste jag att den var precis vad som behövdes!
Det nästa som jag försökte: Att få Linux®-distributörer intresserade av de här nyheterna. Tro mig, de var mer än hårdnackade! De tycktes tro att de redan hade det bästa de kunde få för utskrift. En orsak var troligen att de (och många Linux®-utvecklare) aldrig hade behövt tänka på hur man bäst stöder en skrivare för dubbelsidig utskrift, eftersom en sådan aldrig hade varit i närheten av deras egna skrivbord...
Till sist, slog mina försök att få några tryckta Linux®-skrifter intresserade av CUPS bakut: En redaktör pressade mig att själv skriva en serie om ämnet. Det här är orsaken till att vissa personer började kalla mig “CUPS evangeliker”. Jag blir inte av med det här smeknamnet än på länge, nu när till och med KDE-folket har tryckt in mig i sina tidsramar för nya utgåvor. Oj, oj ...
Hur som helst, så sprids nu CUPS runt om i världen, och detta kan mycket väl bli ett triumftåg: Jag är inte lite stolt över att ha stött och bidragit till detta nästan från början.
Det här bör uppmuntra dig: Även om mer erfarna Linux®-användare än du är skeptiska till det, och även om dina programmeringskunskaper är nästan obefintliga (som mina), finns det många uppgifter och jobb och idéer och talanger som du kan bidra med till fri programvara. Inte minst inom KDE-projektet... ;-)
Jag skulle vilja tacka...
Mike Sweet för utveckling av CUPS från första början
Jean-Eric Cuendet för att ha startat kups och qtcups, föregångarna till KDEPrint
Michael Goffioul för att ha gjort allt hårt arbete på senare tid
Martin Konold för att ha tänkt efter mer än en gång
Sven Guckes för att ha lärt mig några saker om konsten att “överleva med en terminal” (bara om inte KDE finns där ;-)
...många andra, för talrika för att nämna, som också lät mig fånga in bitar och bytes av deras kunskap
och sist, men inte minst, Tom Schwaller för att ha uppmuntrat mig att ge mig på att “skriva dokumentation”
KDEPrint är utvecklat på ett system som använder CUPS 1.1.6. KDEPrint har provats på andra versioner av CUPS och hittills är inga samarbetsproblem kända. När den här handboken skrivs, har CUPS 1.1.9 givits ut med några nya funktioner som ännu inte stöds av KDEPrint. Du kan förstås komma åt de här funktionerna, men du måste gå förbi KDEPrint och använda CUPS kommandoradsverktyg eller redigera konfigurationsfiler för hand. KDEPrints utveckling kommer att fortsätta, och den här handboken strävar efter att alltid vara den bästa resursen för användardokumentation åt programmet.
KDEPrint copyright 2001, Michael Goffioul (kdeprint AT swing.be)
Det här programmet licensieras under villkoren i GNU General Public License.
Dokumentation copyright 2001, Kurt Pfeifle, (kpfeifle AT danka.de)
Den här dokumentationen licensieras under villkoren i GNU Free Documentation License.
Översättning Stefan Asserhäll (stefan.asserhall AT telia.com)
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team