&CUPS;-valgmuligheder der for øjeblikket ikke er tilgængelige gennem &kcontrol; Dette kapitel giver dig nogle vink om yderligere indstillingsmuligheder som muligvis ikke er tilgængelige gennem &tdeprint;'s &GUI;-grænseflade til &CUPS;. Overblik over egenskaberne Alle de mest ofte brugte egenskaber og funktioner &CUPS; har er understøttede i &tdeprint;. Printerhåndtering er understøttet: tilføj, fjern, ændr, indstil, test, deaktivér, aktivér ... Job-håndtering er understøttet: annullér, hold, slip fri, flyt til anden printer Udskriftstilvalg: for fuld kontrol som giver af &CUPS;. Hvor findes hjælp med brug af &CUPS; En masse information om de indre funktioner i &CUPS; er tilgængelige gennem net-grænsefladen som &CUPS; altid vil understøttet. Den virker med en vilkårlig browser (ja, selv tekst-baserede). Gå blot til http://localhost:631/ til en begyndelse. Der finder du et link til den lokalt tilgængelige &CUPS;-dokumentation i HTML og PDF hvis du er ny bruger af &CUPS;. &CUPS; er tilgængelig gennem andre metoder end &tdeprint;: kommandolinje og browser er to indfødte &CUPS;-grænseflader. De mange kommandolinje-redskaber giver i alt den mest fuldstændige kontrol der findes for &CUPS;. www-grænsefladen er kun en delmængde af alle tilgængelige indstillings eller kontrolmuligheder. Dette er også sandt for &tdeprint;. Generelt, når &CUPS; udvikles, vil de fleste egenskaber først blive implementeret gennem kommandolinjen. Sørg for at tjekke de seneste versioner af man-sider for &CUPS; for at være opdateret med nye egenskaber efter du installerer en ny udgave. Afhængig af din opdateringsmetode for &CUPS;, er din aktive indstillingsfil muligvis ikke blevet erstattet af en ny; så din nye, mere ydedygtige &CUPS;-dæmon er måske ikke blevet fortalt af den gamle indstillingsfil om de nye egenskaber der kan bruges. En fuldstændig liste af tilgængelige filer og man-sider skulle altid være i &CUPS;'s "Software Administrator Manual" (http://localhost:631/sam.html#FILES. Skriv følgende i &konqueror; &URL;/stedfelt man:/lpadmin og man:/cupsd.conf for at finde ud af de vigtigste kommando- og indstillingsfiler. Du kendte allerede til &konqueror;'s behagelige måde at vise dig de traditionelle &UNIX; man-sider gjorde du ikke? Læs dette. Derfra vil du finde flere interessante vink og link til andre man-sider og dokumentation. Hvordan findes &CUPS;-relaterede man-sider Her er en måde at finde ud af hvilke &CUPS;-relaterede man-sider der er på dit system: kurt@transmeta:~ > apropos cups cups-calibrate (8)- ESP Printerkalibreringsværktøj lpstat (1) - udskriv cups statusinformation cups-lpd (8) - modtag udskriftsjobs + rapportér printerstatus til lpd-klienter classes.conf (5) - klasse-indstillingsfil for cups backend (1) - cups-program transmissionsgrænseflader filter (1) - cups filkonverteringsfilter-grænseflader cups-polld (8) - cups printer-trækdæmon mime.types (5) - mimetype beskrivelsesfil for cups cupsd (8) - common unix printing system daemon lpadmin (8) - indstil cups-printere og klasser cupsd.conf (5) - server indstillingsfil for cups mime.convs (5) - mimetype konverteringsfil for cups printers.conf (5) - printerindstillingsfil for cups mime.convs (5) - mimetype konverteringsfil for cups cups-polld (8) - cups printer trækdæmon Udenfor &tdeprint;: Vink & Tips og Tricks med &CUPS; på kommandolinjen Her er nogle få eksempler på tilvalg der for øjeblikket kun er tilgængelige hvis du bruger kommandolinjen. Tillad eller nægt printeradgang for visse brugere Når en printer installeres (eller ændres) gennem kommandolinjen, kan du enten nægte eller tillade brugen af denne printer for bestemte brugere: lpadmin HeidelbergDigimaster9110 lpd:/10.160.16.99/mqueue allow:kurt,sylvi,hansjoerg /home/kurt/PPDs/DVHV.ppd vil kun tillade brugen af denne (du kan stole på mig: meget gode og også meget professionelle) printer til de fem nævnte brugere og samtidig nægte adgang for alle andre. Hvis en anden bruger ønsker at udskrive på denne DigiMaster via denne &CUPS;-server, vil han modtage en fejlbesked nogenlunde sådan her client-error-not-possible. lpadmin HeidelbergDigimaster9110 lpd:/10.160.16.99/mqueue deny:tackat,boss,waba /home/kurt/PPDs/DVHV.ppd vil nægte brugen af denne samme printer til de tre nævnte brugere og samtidig tillade brugen for alle andre. Hvis nægtede brugere ønsker at udskrive på denne DigiMaster via denne &CUPS;-server, vil de modtage en fejlbesked der siger client-error-not-possible. Kun en af de to muligheder kan bruges på en gang; for øjeblikket er der ingen støtte for at have en lignende valgmulighed pø en pr-gruppe baseret måde. Dette vil blive implementeret i fremtiden. Sætning af kvotaer for visse printere Sommetider ønsker du at sætte kvotaer for visse printere. Med kvotaer kan du sætte øvre grænser for antallet af sider eller mængden af data der kan udskrives over en vis periode til en bestemt printer. Kvotaer kan sættes med flaget når en printer installeres, med lpadmin-kommandoen eller senere for en allerede eksisterende printer. Følgende er nogle retningslinjer (som mangler i den officielle &CUPS; dokumentation på det tidspunkt dette skrives): Med &CUPS; kan du have sidetæller- og filstørrelses-baserede kvotaer for individuelle printere. Kvotaer beregnes for hver bruger individuelt (så et enkelt sæt grænser anvendes på alle brugere for den printer det drejer sig om). Kvotaer inkluderer bannersider (hvis disse bruges). Dette betyder: du kan begrænse hver bruger til 20 sider pr dag på en dyr printer, men du kan ikke begrænse hver bruger undtagen Erik eller root. Der er , og -tilvalg at give når en printer sættes op. sætter et tidsinterval for kvotaberegning (intervaller bestemmes i sekunder; så en dag er 60x60x24=86.400, en uge er 60x60x24x7=604.800 og en måned er 60x60x24x30=2.592.000 sekunder.) For at kvotaer kan blive gennemtvunget må tidsperioden plus mindst en job-grænse sættes til ikke at være nul. Standardværdien på 0 for angiver at der ingen grænse er. Standardværdien på 0 for angiver at der ingen grænse er. Standardværdien på 0 for angiver at grænserne anvendes på alle job der er blevet udskrevet af en bruger der stadig er kendt på systemet. Fungerende eksempler: Virker da både tidsperiode og en eller begge job-grænser er definerede lpadmin danka_infotec_4850 job-quota-period=604800 job-k-limit=1024 Dette sætter en grænse for filstørrelsen 1 MB (i alt) for hver bruger af den eksisterende printer danka_infotec_4850 for en uge. lpadmin danka_infotec_4105 job-quota-period=604800 job-page-limit=100 Dette sætter en grænse på 100 sider (i alt) for hver bruger af den eksisterende printer danka_infotec_4105 for en uge. lpadmin danka_infotec_P450 job-quota-period=604800 job-k-limit=1024 job-page-limit=100 Dette sætter en kombineret grænse på 1 MB (i alt) og 100 sider (i alt) for hver bruger af den eksisterende danka_infotec_P450 for en uge. Den grænse først nås vil få virkning. Ikke fungerende eksempler Virker IKKE da kun én, tidsperiode eller jobgrænse er defineret) lpadmin danka_infotec_P320 job-quota-period=604800 lpadmin danka_infotec_FullColor job-page-limit=100 lpadmin danka_infotec_HiSpeed job-k-limit=1024 Relaterede fejlmeddelelser Når en bruger når sin kvotagrænse, vil han få en client-error-not-possible besked, hvis han ønsker at udskrive. Installering af en <quote>rå</quote> printer Der er forskellige måder at definere en printer. En komfortabel måde er at bruge lpadmin-kommandoen. Definér blot ikke en &PPD;-fil til at bruge for denne printer, så vil den være en rå: lpadmin Raw_Danka_infotec lpd://10.160.16.137/PORT1 Rå printerkøer er dem der ikke berører udskriftsfilen for at lave den om til et andet filformat. Du har for eksempel brug for dette når du udskriver fra &Windows;-klienter via Samba gennem en &CUPS;-server til en PCL-printer: i dette tilfælde vil &Windows;-sidens printerdriver generere den færdige udskriftsfil for mål-printeren og filtrering gennem &CUPS;-filtre ville kun gøre skade. Under visse omstændigheder (hvis du ønsker at sikre dig at filen går til printeren ufiltreret af &CUPS;) så er lpadmin uden en &PPD; meget nyttig. Problemløsning af &CUPS; i &tdeprint; Dette afsnit af &tdeprint;-håndbogen vil leve af læsernes tilbagemeldinger. Her er blot en lille begyndelse. Fejlmeddelelser Hvad betyder client-error-bad-request? Brugeren sendte en fil til &CUPS; som serveren ikke kunne behandle. Du får også dette når du sender en tom fil. Og client-error-not-possible? Brugeren har enten ikke lov til at udskrive på en bestemt printer eller har overskredet sin kvota (baseret på filstørrelse og/eller sideantal) Hvad med client-error-not-found? Brugeren forsøgte at få adgang til en ikke eksisterende ressource på &CUPS;-serveren, såsom at forsøge at udskrive en ikke eksisterende fil, eller en som du ikke har lov til at læse. Spørgsmål og svar Hvorfor kan jeg ikke genstarte mine job? For at kunne genstarte din færdige job fra netgrænsefladen, har du brug for indstillingen i /etc/cups/cupsd.conf file: set PreserveJobFiles True. Hvordan slipper jeg af med den lange liste af færdige job i netgrænsefladen? TODO Hvordan virker sidekontering? &CUPS; laver udskriftskontering ved at sende næsten hvert job gennem pstops-filteret. Dette laver, blandt andet, sidekonteringen. Uddata fra dette filter kan videreledes gennem andre filtre (såsom pstoraster --> rastertopcl) eller sendes direkte til printeren (hvis det er en &PostScript;-printer). Under alle omstændigheder virker dette på samme måde for netværks-, parallelle-, serielle eller USB-printere. For at pstops skal kunne virke behøver den DSC-, (Document Structuring Convention) kompatibel &PostScript; (eller næsten-ækvivalent) som inddata. Så den beregner siderne under filtreringen på udskriftsserveren og skriver info om hver enkelt side (hvilket tidspunkt, hvilken bruger, hvilket job-ID og -name, hvilken printer, hvor mange kopier af hvilke sider af dokumentet, hvor mange kilobyte?) til /var/log/cups/page_log. For resten: på min personlige ønskeliste er et hak af webalizer til at læse og analysere page_log og give lignende uddata. Er der nogen hjemme? Den giver imidlertid ikke rigtige resultater i følgende tilfælde: Printeren låser fast og vil derfor smide jobbet væk (rigtig levende erfaring; eller måske smides jobbet væk på grund af problemer med dataformater) Job udskrevet som tælles altid som størrelse på 1 side (og måske flere kopier). Derfor er sidekonteringen i &CUPS; kun en approksimation (i mange tilfælde en glimrende eller i det mindste god en, i andre rigtig dårlig). Den eneste troværdige udskriftstæller er den der gøres af den indre printertæller. (For det er den du betaler for, hvis du er på en click price eller lignende.) Nogle, men ganske få, printere kan spørges eksternt om denne information via SNMP (Simple Network Management Protocol). Dette betyder, i et større netværk med mange forskellige printere at der er blot ikke noget fuldstændigt troværdigt og præcist sidekonteringsværktøj! Hvorfor virker sidekontering ikke for &Windows;-klienter? Fra &Windows;-klienter skal jobbene næsten altid sendes som . Hvorfor? Hvis &CUPS; virker som en udskriftsserver for &Windows;-klienter der bruger den oprindelige indfødte &Windows;-driver måludskriftsenheden, hvilket garanterer den rigtige formatering af jobbet på klienterne allerede; derfor skal serveren ikke røre den men udskrive råt; derfor startes ingen filtrering (dette er end ikke muligt da inddata fra klienterne ikke er &PostScript; som pstops forventer; derfor er der ingen sideoptælling udover en standard på 1. Hvordan får jeg en liste af tilgængelige tilvalg for en given printer eller &PPD;-fil? Se man-siden for lpoptions-kommandoen. Du kan undersøge en &CUPS;-aktiveret felt for ethvert tilvalg for dens tilgængelige printere. Der er ikke behov for at have printeren installeret lokalt. Når blot printer er tilgængelig lokalt (gennem &CUPS; printersøgningsegenskaben), vil den også virke eksternt. For at spørge om en printers valgmuligheder skrives lpoptions HitachiDDP70MicroPress hvilket vil give en lang liste af alle tilgængelige valg som læst fra &PPD;-filen for den givne Hitachi-Printer (i mit tilfælde installeret på den eksterne server transmeta). Den eksterne server Transmeta og dens &CUPS; dæmon så vel som localhosts &CUPS; dæmon skal være oppe og køre for at dette skal lykkes. Hvordan læser jeg listen der modtages fra lpoptions-kommandoen? Du ved at for fabrikanter af &PostScript;-printere er det lovligt at definere deres egne indre navne og procedurer selv for standard &PostScript;-tilvalg. Når blot driveren kan hente tilvalget fra &PPD;'en og vise den til brugeren på en måde han forstår er alting o.k.. Men hvad gør du hvis du ønsker at bruge et eller andet sjældent printer-tilvalg på kommandolinjen? Hvordan finder du ud af dens nøjagtige syntaks? Lad os tage et eksempel. Lad os kigge på Hitachi's DDP70 printer og hvordan den implementerer duplex-udskrift er på en eller anden måde afslørende. Hvordan finder du ud af at udskrive på begge sider? duplex eller Duplex? Eller et helt andet navn?. lpoptions transmeta Hitachi_DDP70_ClusterPrintingSystem | grep uplex Dette fører til følgende uddata TR-Duplex/Duplex: False *True Dette skal fortolkes som følger: Navnet på det undersøgte tilvalg er ; Bagved skråstregen ser du oversættelsen af tilvalget, som det vil blive vist i en &GUI;- eller www-grænseflade (Duplex); Tilvalget kan tage en af de to værdier False eller True; Den nuværende indstilling er True hvilket genkendes ved markeringen med en stjerne *. For at sætte den aktuelle standardindstilling ud af kraft (duplex) og udskrive et job i simplex, skal du bruge følgende kommando: lpr Hitachi_DDP70_ClusterPrintingSystem TR-Duplex=False /path/to/your/printjob Hvordan får jeg en pænt formateret liste af tilgængelige tilvalg for en given printer eller &PPD;? Brug lphelp-kommandoen som måske er installeret lokalt på dit system. Der er endnu ikke en man-side for lphelp. lphelp infotecP450 Dette giver en liste af tilgængelige tilvalg for den nævnte printer. Den er pænt formateret og forklarer hvert tilgængeligt tilvalg og hvordan det skal bruges. Du kan spørge til forskellige printeres tilvalg på én gang: lphelp infotec7410color DANKA_fullcolor_D2000 HP_ColorLaserJet8550 Dette virker også for &PPD;-filer. Angiv blot stien til &PPD;'en: lphelp /home/kurt/PPDs/HP-ColorLaserJet8550.ppd Løsning af problemer Intet system er perfekt. Her er nogle almindeligt sete fælder folk er faldet i. Min printer der hedder 3-lp-duplex opfører sig mærkeligt. Hvad er der galt? Printernavne brugt i &CUPS; skal starte med et bogstav og kan indeholde op til 128 bogstaver, tal eller understregninger. Brug af bindestreg kan føre til problemer. Nu vi taler om navngivning: printernavne i &CUPS; er ikke versalfølsomme. Så en printer der hedder Best_of_Danka vil være den samme som best_of_danka eller BEST_OF_DANKA. (Dette er et krav fra &IPP;, som &CUPS; er fuldstændig kompatibel med). Hvorfor får jeg en Unable to connect to SAMBA host: Success med mine printershares fra &Windows; med adgang via Samba? Er rettighederne på den eksterne &Windows;-felt sat rigtigt for dig? Har du rent faktisk lov til at udskrive på den &Windows;-delte printer? Mine filer for printeren lp forsvinder sommetider mystisk og to dage senere får jeg at vide at de blev udskrevet på en printer tre etager under mit kontor. Hvad foregår der? Tro mig, det er højst usandsynligt at din printer er den eneste med navnet lp. Måske leger &CUPS; med dig. Da du måske har indstillingen ImplicitClasses On aktiveret, prøver &CUPS; at putte alle printere den ser på netværket ind i en Klasse der hedder lp. Alle job beregnet for lp bliver sendt til denne klasse og det først tilgængelige medlem udskriver den. Så hvis der var denne rare fyr (som lyttede opmærksomt da du roste &CUPS; og &tdeprint; til skyerne) der installerede &CUPS; og rodede rundt i system...er du med? Modtag mit råd: vælg et entydigt navn for en vilkårlig netværksprinter! (Husk, den på din parallelle port vil også vise sig at være en netværksprinter for resten af verden hvis du ikke passer på med din opsætning).