<para>Dette kapitel giver dig nogle vink om yderligere indstillingsmuligheder som muligvis ikke er tilgængelige gennem &tdeprint;'s &GUI;-grænseflade til &CUPS;.</para>
<para>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 <ulink url="http://localhost:631/">http://localhost:631/</ulink> til en begyndelse. Der finder du et link til den lokalt tilgængelige &CUPS;-dokumentation i <acronym>HTML</acronym> og <acronym>PDF</acronym> hvis du er ny bruger af &CUPS;.</para>
<para>&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. </para>
<para>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.</para>
<para>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.</para>
<para>En fuldstændig liste af tilgængelige filer og man-sider skulle altid være i &CUPS;'s "Software Administrator Manual" (<ulink url="http://localhost:631/sam.html#FILES">http://localhost:631/sam.html#FILES</ulink>. Skriv følgende i &konqueror; &URL;/stedfelt <userinput>man:/lpadmin</userinput> og <userinput>man:/cupsd.conf</userinput> 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.</para>
<title>Tillad eller nægt printeradgang for visse brugere</title>
<para>Når en printer installeres (eller ændres) gennem kommandolinjen, kan du enten nægte eller tillade brugen af denne printer for bestemte brugere:</para>
<para>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 <errortype>client-error-not-possible</errortype>.</para>
<para>vil nægte brugen af denne samme printer til de tre nævnte brugere og samtidig tillade brugen for alle andre. Hvis <quote>nægtede</quote> brugere ønsker at udskrive på denne DigiMaster via denne &CUPS;-server, vil de modtage en fejlbesked der siger <errortype>client-error-not-possible</errortype>.</para>
<para>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.</para>
<para>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.</para>
<para>Kvotaer kan sættes med <option>-o</option> flaget når en printer installeres, med <command>lpadmin</command>-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):</para>
<para>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 <systemitem class="username">Erik</systemitem> eller <systemitem class="username">root</systemitem>.</para>
<para>Der er <option>job-k-limit</option>, <option>job-page-limit</option> og <option>job-quota-period</option>-tilvalg at give når en printer sættes op.</para>
<para><option>job-quota-period</option> 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.)</para>
<para>Standardværdien på 0 for <option>job-quota-limit</option> angiver at grænserne anvendes på alle job der er blevet udskrevet af en bruger der stadig er kendt på systemet.</para>
<para>Dette sætter en grænse for filstørrelsen 1 MB (i alt) for hver bruger af den eksisterende printer <systemitem class="resource">danka_infotec_4850</systemitem> for en uge.</para>
<para>Dette sætter en grænse på 100 sider (i alt) for hver bruger af den eksisterende printer <systemitem class="resource">danka_infotec_4105</systemitem> for en uge.</para>
<para>Dette sætter en kombineret grænse på 1 MB (i alt) og 100 sider (i alt) for hver bruger af den eksisterende <systemitem class="resource">danka_infotec_P450</systemitem> for en uge. Den grænse først nås vil få virkning.</para>
<title>Installering af en <quote>rå</quote> printer</title>
<para>Der er forskellige måder at definere en <quote>rå</quote> printer. En komfortabel måde er at bruge <command>lpadmin</command>-kommandoen. Definér blot ikke en &PPD;-fil til at bruge for denne printer, så vil den være en rå:</para>
<para>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 <acronym>PCL</acronym>-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 <quote>ufiltreret</quote> af &CUPS;) så er <quote><command>lpadmin</command> uden en &PPD;</quote> meget nyttig.</para>
<para>Brugeren har enten ikke lov til at udskrive på en bestemt printer eller har overskredet sin kvota (baseret på filstørrelse og/eller sideantal)</para>
<para>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.</para>
<para>For at kunne genstarte din <quote>færdige</quote> job fra netgrænsefladen, har du brug for indstillingen i <filename>/etc/cups/cupsd.conf</filename> file: set <userinput>PreserveJobFiles True</userinput>.</para>
<para>&CUPS; laver <quote>udskriftskontering</quote> ved at sende næsten hvert job gennem <quote>pstops</quote>-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).</para>
<para>Under alle omstændigheder virker dette på samme måde for netværks-, parallelle-, serielle eller <acronym>USB</acronym>-printere. For at pstops skal kunne virke behøver den <acronym>DSC</acronym>-, (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 <filename>/var/log/cups/page_log</filename>.</para>
<para>For resten: på min personlige <quote>ønskeliste</quote> er et hak af <quote>webalizer</quote> til at læse og analysere page_log og give lignende uddata. Er der nogen hjemme?</para>
<para>Den giver imidlertid <emphasis>ikke</emphasis> rigtige resultater i følgende tilfælde:</para>
<para>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)</para>
<para>Derfor er sidekonteringen i &CUPS; <quote>kun</quote> 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 <quote>click price</quote> eller lignende.) Nogle, men ganske få, printere kan spørges eksternt om denne information via <acronym>SNMP</acronym> (Simple Network Management Protocol). Dette betyder, i et større netværk med mange forskellige printere at der <emphasis>er</emphasis> blot ikke noget fuldstændigt troværdigt og præcist sidekonteringsværktøj!</para>
<para>Fra &Windows;-klienter skal jobbene næsten altid sendes som <quote>rå</quote>. 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 <quote>råt</quote>; 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å <quote>1</quote>.</para>
<para>Se man-siden for <command>lpoptions</command>-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; <quote>printersøgnings</quote>egenskaben), vil den også virke eksternt.</para>
<para>For at spørge om en printers valgmuligheder skrives <userinput><command>lpoptions</command> <option>-p</option> <parameter>HitachiDDP70MicroPress</parameter> <option>-l</option></userinput> 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 <systemitem class="systemname">Transmeta</systemitem> og dens &CUPS; dæmon så vel som localhosts &CUPS; dæmon skal være oppe og køre for at dette skal lykkes.</para>
<para>Du ved at for fabrikanter af &PostScript;-printere er det <quote>lovligt</quote> 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 <emphasis>du</emphasis> hvis du ønsker at bruge et eller andet sjældent printer-tilvalg på kommandolinjen? Hvordan finder du ud af dens nøjagtige syntaks?</para>
<para>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?.</para>
<para>Brug <command>lphelp</command>-kommandoen som måske er installeret lokalt på dit system. Der er endnu ikke en man-side for <command>lphelp</command>.</para>
<para>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:</para>
<para>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 <systemitem class="resource">Best_of_Danka</systemitem> vil være den samme som <systemitem class="resource">best_of_danka</systemitem> eller <systemitem class="resource">BEST_OF_DANKA</systemitem>. (Dette er et krav fra &IPP;, som &CUPS; er fuldstændig kompatibel med).</para>
<para>Hvorfor får jeg en <errortype>Unable to connect to SAMBA host: Success</errortype> med mine printershares fra &Windows; med adgang via Samba?</para>
<para>Er rettighederne på den eksterne &Windows;-felt sat rigtigt for dig? Har du rent faktisk lov til at udskrive på den &Windows;-delte printer?</para>
<para>Mine filer for printeren <systemitem class="resource">lp</systemitem> 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?</para>
<para>Tro mig, det er højst usandsynligt at din printer er den eneste med navnet <systemitem class="resource">lp</systemitem>. Måske leger &CUPS; med dig. Da du måske har indstillingen <quote>ImplicitClasses On</quote> aktiveret, prøver &CUPS; at putte alle printere den ser på netværket ind i en <quote>Klasse</quote> 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?</para>
<para>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).</para>