Show
Ignore:
Timestamp:
09/27/08 22:02:37 (16 years ago)
Author:
jerome
Message:

Removed unnecessary spaces at EOL.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/conf/pykota.conf.sample

    r3296 r3413  
    3333# the Free Software Foundation, either version 3 of the License, or 
    3434# (at your option) any later version. 
    35 #  
     35# 
    3636# This program is distributed in the hope that it will be useful, 
    3737# but WITHOUT ANY WARRANTY; without even the implied warranty of 
    3838# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
    3939# GNU General Public License for more details. 
    40 #  
     40# 
    4141# You should have received a copy of the GNU General Public License 
    4242# along with this program.  If not, see <http://www.gnu.org/licenses/>. 
     
    5050[global] 
    5151 
    52 # This directive configures the charset to use when reading PyKota's  
     52# This directive configures the charset to use when reading PyKota's 
    5353# configuration files. All directives values will be decoded and 
    5454# interpreted using the character set defined here. 
     
    7878# e.g. db.example.com:5432 (for PostgreSQL) or db.example.com:3306 (for MySQL) 
    7979# NB : leave the directive empty to use unix sockets (same host only) 
    80 # NB : Using the word 'localhost' for MySQL defaults to a UNIX socket  
     80# NB : Using the word 'localhost' for MySQL defaults to a UNIX socket 
    8181#      connection, which may be unexpected. Using 127.0.0.1 avoids this issue. 
    8282#      See http://bugs.mysql.com/bug.php?id=31577 for more information. 
     
    8787storagename: pykota 
    8888 
    89 #  
     89# 
    9090# Quota Storage normal user's name and password 
    91 # These two fields contain a username and optional password  
     91# These two fields contain a username and optional password 
    9292# which may give readonly access to your print quota database. 
    93 #  
     93# 
    9494# PLEASE ENSURE THAT THIS USER CAN'T WRITE TO YOUR PRINT QUOTA 
    9595# DATABASE, OTHERWISE ANY USER WHO COULD READ THIS CONFIGURATION 
     
    112112#storageserver: ldap://ldap.example.com:389 
    113113#storagename: dc=example,dc=com 
    114 #  
    115 # NB : the user and password below are the ones contained in  
     114# 
     115# NB : the user and password below are the ones contained in 
    116116# the sample LDIF file pykota/initscripts/ldap/pykota-sample.ldif 
    117117# Please adapt these lines to your own needs. 
     
    137137 
    138138 
    139 # Here we define some helpers to know where  
     139# Here we define some helpers to know where 
    140140# to plug into an existing LDAP directory 
    141141# NB : THE DIRECTIVES BELOW MUST BE PRESENT WITH AN LDAP BACKEND 
     
    175175# "below" creates the new accounts/groups as standalone entries 
    176176# below the above defined 'userbase' ou 
    177 #  
     177# 
    178178# attach(objectclass name [, action]) tries to find some existing user/group 
    179179# using the above defined 'userrdn' or 'grouprdn' and 'userbase' 
    180180# 'groupbase', and attach the PyKota specific entries to it. 
    181181# if action is "warn" and no entry exists to attach to, a new 
    182 # entry is created, and a message is logged.  
     182# entry is created, and a message is logged. 
    183183# if action is "fail" and no entry exists to attach to, program 
    184184# logs an error message and aborts. 
     
    256256 
    257257# Where to log ? 
    258 # supported values : stderr, system (system means syslog, but don't use  
     258# supported values : stderr, system (system means syslog, but don't use 
    259259# 'syslog' here). if the value is not set then the default SYSTEM applies. 
    260260# 
     
    265265# Enable debugging ? Put YES or NO there. 
    266266# debug is set to YES in this sample configuration file, so debugging 
    267 # is activated when configuring PyKota, which helps a lot. After all  
     267# is activated when configuring PyKota, which helps a lot. After all 
    268268# works, just put NO instead to save some disk space in your logs. 
    269269# NB : When set to YES, there is a very significant impact on performance 
     
    315315#        - a copy of the software's command line arguments 
    316316#        - a copy of the software's environment variables 
    317 #  
     317# 
    318318# suggested value : 
    319319# 
     
    325325# If the value is not set, and the mail attribute for the user 
    326326# is not set in the PyKota storage, be it LDAP (see usermail directive 
    327 # above) or a relationnal one, then email messages are sent to  
     327# above) or a relationnal one, then email messages are sent to 
    328328# username@smtpserver 
    329329# 
     
    346346# still case sensitive. 
    347347# 
    348 # If usernamecase is 'upper' or 'lower', the usernames received  
    349 # from the printing system are converted to uppercase or lowercase,  
     348# If usernamecase is 'upper' or 'lower', the usernames received 
     349# from the printing system are converted to uppercase or lowercase, 
    350350# respectively, at the start of printing, BUT ONLY when printing. 
    351351# 
     
    365365# This option adds support for Samba's Winbind utility, which 
    366366# prefixes usernames with domain name and separator character. 
    367 # Of course if you set this then you have to use NO separator when  
     367# Of course if you set this then you have to use NO separator when 
    368368# adding users with edpykota. 
    369369# 
     
    372372# (real username) is used. 
    373373# 
    374 # If winbind_separator is not set, which is the default, strict  
     374# If winbind_separator is not set, which is the default, strict 
    375375# username equality checking will be done (modulo the setting 
    376376# of the 'usernamecase' directive), this means that users 'DOMAIN1/jerome', 
    377 # 'Domain2/jerome' and 'jerome' are different.  
     377# 'Domain2/jerome' and 'jerome' are different. 
    378378# 
    379379# winbind_separator: / 
     
    384384# or groups which are unknown from the system ? 
    385385# The default if unset is NO. This means that by default, you 
    386 # can create users or groups for which `getent passwd username`  
     386# can create users or groups for which `getent passwd username` 
    387387# or `getent group groupname` returns nothing. 
    388388# 
     
    400400# If unset, the default value is NO, meaning that jobs' title, filename 
    401401# and options will be saved into the history. 
    402 # This option can't be set on a per printer basis, only into the  
     402# This option can't be set on a per printer basis, only into the 
    403403# [global] section. 
    404404# 
     
    411411# Also should we retry and if yes then how often and how many times ? 
    412412# If you trust your users, set it to "nocharge". 
    413 # If you think they found some mean to kill the real CUPS backend,  
     413# If you think they found some mean to kill the real CUPS backend, 
    414414# then set it to "charge". 
    415415# If your print queues get regularly disabled by CUPS when the printers 
     
    418418# the delay in seconds during which PyKota will sleep before trying again. 
    419419# This 'retry' feature works in a way similar to Till Kamppeter's beh 
    420 # backend wrapper which offers this functionnality but is actually not  
     420# backend wrapper which offers this functionnality but is actually not 
    421421# compatible with PyKota (because of my own inability to master regular 
    422422# expressions). 
     
    467467#    REASON=reason_we_chose_deny_or_cancel 
    468468#    AUTH=NO (equivalent to DENY below) 
    469 #    DENY  
     469#    DENY 
    470470#    CANCEL 
    471471# 
    472 # NB : the output of your command is entirely read, and the latest  
     472# NB : the output of your command is entirely read, and the latest 
    473473# value seen is used, so you command can output several usernames 
    474474# or billing codes and only the latest ones will be used. 
     
    478478# used unchanged. 
    479479# If DENY or CANCEL is output, neither the username nor the 
    480 # billing code can be overwritten.  
    481 # If REASON is output, that will be used in the notification in the case of  
     480# billing code can be overwritten. 
     481# If REASON is output, that will be used in the notification in the case of 
    482482# DENY or CANCEL. Otherwise, the built-in reasons will be used. 
    483483# 
     
    499499# 
    500500# examples : 
    501 #  
     501# 
    502502# overwrite_jobticket : /usr/bin/pknotify --destination $PYKOTAJOBORIGINATINGHOSTNAME:7654 --timeout 180 --denyafter 3 --checkauth --ask "Username:username:$PYKOTAUSERNAME" "Password:password:" "Billing code:billingcode:$PYKOTAJOBBILLING" 
    503503# overwrite_jobticket : /path/to/some/script/or/command 
     
    560560# Should we keep our work files on disk after printing ? 
    561561# If unset, temporary files are deleted once the work is finished. 
    562 # If set to yes, files are kept on disk in the 'directory'  
     562# If set to yes, files are kept on disk in the 'directory' 
    563563# named with the previous directive. 
    564564# This value can be set either globally or on a per printer basis 
     
    576576# will compute the number of pages printed. This directive is the most 
    577577# important one in PyKota's configuration. 
    578 #  
     578# 
    579579# NB : This directive is MANDATORY, there's no default value when not set. 
    580580# 
     
    591591# The big advantages of hardware accounting are lighter CPU usage compared 
    592592# to software accounting described below, although it can take more time 
    593 # because of necessary internal counter stabilization delays, and the fact  
     593# because of necessary internal counter stabilization delays, and the fact 
    594594# that paper jams don't cause users to be charged for pages they couldn't 
    595595# print. 
    596596# For hardware accounting, two special values are accepted in addition 
    597597# to a script name : snmp and pjl. 'snmp' asks PyKota to use its internal 
    598 # SNMP code, 'pjl' asks PyKota to internally send a specially crafter PJL  
     598# SNMP code, 'pjl' asks PyKota to internally send a specially crafter PJL 
    599599# job to the printer's TCP port 9100 (by default). 
    600600# 
     
    627627# 
    628628# Supported resolutions for ink accounting are any number of dots 
    629 # per inch comprised between 72 and 1200.  
     629# per inch comprised between 72 and 1200. 
    630630# IMPORTANT : increasing the resolution increases precision, but 
    631631# increase CPU load a lot at the same time. The default resolution 
     
    634634# coefficients for each color in the colorspace, as explained 
    635635# further below in this file. 
    636 #  
     636# 
    637637# You can get hints on which configuration is best for your printers by 
    638638# typing : pkturnkey --doconf 
    639639# 
    640640# In the lines below "%(printer)s" is automatically replaced at run time 
    641 # with your printer's Fully Qualified Domain Name for network printers,  
     641# with your printer's Fully Qualified Domain Name for network printers, 
    642642# if PyKota can extract it from its environment. 
    643643# 
     
    654654# accounter : hardware(/opt/local/net-snmp/bin/snmpwalk -v 1 -Cc -c public %(printer)s | grep mib-2.43.10.2.1.4.1.1 | cut -d " " -f4) 
    655655# accounter : hardware(/opt/local/net-snmp/bin/snmpwalk -v 1 -Cc -c public -Ov %(printer)s | grep Counter32 | tail -2 | head -1 | cut -d " " -f2) 
    656 # accounter : software(/usr/bin/pkpgcounter "$PYKOTADATAFILE")  
     656# accounter : software(/usr/bin/pkpgcounter "$PYKOTADATAFILE") 
    657657# accounter : software() 
    658658# accounter : ink(cmyk, 150) 
     
    661661# accounter : ink(cmy, 72) 
    662662# accounter : ink(gc, 72) 
    663 #          
     663# 
    664664# This directive can be set either globally or per printer or both. 
    665665# If both are defined, the printer option has priority. 
    666 #          
    667 # IF YOU PLAN TO USE YOUR OWN SCRIPTS FOR HARDWARE ACCOUNTING,       
     666# 
     667# IF YOU PLAN TO USE YOUR OWN SCRIPTS FOR HARDWARE ACCOUNTING, 
    668668# YOU ABSOLUTELY HAVE TO BE SURE YOU HAVE A SCRIPT WHICH WAITS FOR THE 
    669669# PRINTER BEING READY BEFORE ASKING FOR ITS INTERNAL PAGE COUNTER. 
    670 #          
     670# 
    671671# PYKOTA'S 'snmp' and 'pjl' HARDWARE ACCOUNTING METHODS DO THE CORRECT WORK 
    672672# INTERNALLY, BUT SOME OF THE EXAMPLES ABOVE DON'T, YOU HAVE BEEN WARNED. 
     
    677677# AND DO ALL THE HARD WORK AUTOMATICALLY. IF YOU REALLY NEED TO YOU CAN USE 
    678678# YOUR OWN EXTERNAL COMMANDS AS DESCRIBED ABOVE, JUST BE CAREFUL WITH THIS. 
    679 #          
     679# 
    680680# Sane default : 
    681681# 
    682682accounter: software() 
    683683 
    684 # Should we ensure that the printer really is idle before  
     684# Should we ensure that the printer really is idle before 
    685685# sending the job's datas to it ? 
    686686# 
    687 # This directive is only used when you use an internal  
     687# This directive is only used when you use an internal 
    688688#�hardware accounting mechanism, like hardware(snmp) or 
    689689# hardware(pjl), and is not used for external hardware 
     
    691691# 
    692692# If PyKota and CUPS are properly configured, i.e. a single 
    693 # computer (the print server) can access to a particular physical  
     693# computer (the print server) can access to a particular physical 
    694694# printer, or all CUPS+PyKota print servers which access to the 
    695695# same physical printer share a common network directory used 
     
    706706# 
    707707# If not defined, a value of No is assumed. 
    708 #  
     708# 
    709709# This value can be set either globally or on a per printer basis 
    710710# If both are defined, the printer option has priority. 
     
    718718# Supported values are : 
    719719# 
    720 #  preaccounter: software()        
     720#  preaccounter: software() 
    721721#  preaccounter: software(/path/to/your/script) 
    722722#  preaccounter: ink(colorspace, resolution) 
    723723# 
    724 # NB : the preaccounter directive doesn't support hardware() for obvious  
    725 # reasons. If unset, "software()" is assumed. If you use your own script,  
    726 # ensure that it only prints the job's number of pages (or an estimation  
     724# NB : the preaccounter directive doesn't support hardware() for obvious 
     725# reasons. If unset, "software()" is assumed. If you use your own script, 
     726# ensure that it only prints the job's number of pages (or an estimation 
    727727# of it) on its standard output, and that it reads the print job's datas 
    728728# from the file pointed to by the PYKOTADATAFILE environment variable. 
     
    743743# 
    744744# Supported resolutions for ink accounting are any number of dots 
    745 # per inch comprised between 72 and 1200.  
     745# per inch comprised between 72 and 1200. 
    746746# IMPORTANT : increasing the resolution increases precision, but 
    747747# increase CPU load a lot at the same time. The default resolution 
     
    769769# 'stop' means fail and stop the print queue. If an accounter 
    770770# error occurs, most of the time this is a misconfiguration, so 
    771 # stopping the print queue is usually the best thing to do  
     771# stopping the print queue is usually the best thing to do 
    772772# until the admin has fixed the configuration. 
    773773# 
     
    786786# These values can be set either globally or per printer or both. 
    787787# If both are defined, the printer option has priority. 
    788 # If these values are not set, the default admin root  
     788# If these values are not set, the default admin root 
    789789# and the default adminmail root@localhost are used. 
    790790admin: John Doe 
     
    795795# Who should we send an email to in case a quota is reached ? 
    796796# possible values are : DevNull, User, Admin, Both, External(some command) 
    797 # The Both value means that the User and the Admin will receive  
     797# The Both value means that the User and the Admin will receive 
    798798# an email message. 
    799799# The DevNull value means no email message will be sent. 
     
    812812#       '%(printername)s'       will contain the printer's name 
    813813#       '%(email)s'             will contain the user's email address 
    814 #       '%(message)s'           will contain the message if you want  
     814#       '%(message)s'           will contain the message if you want 
    815815#                               to use it. 
    816816# 
     
    820820#     mailto: external(/usr/bin/callpager %(username)s "Quota problem on %(printername)s" >/dev/null) 
    821821# 
    822 #   To automatically send a WinPopup message (this may only work with a PDC,  
     822#   To automatically send a WinPopup message (this may only work with a PDC, 
    823823#   here the same machine does Samba as PDC + CUPS) : 
    824824# 
     
    835835# 
    836836#   NB : in ANY case, don't forget to redirect your command's standard output 
    837 #        somewhere (e.g. >/dev/null) so that there's no perturbation to the  
     837#        somewhere (e.g. >/dev/null) so that there's no perturbation to the 
    838838#        underlying layer (filter or backend) 
    839839# 
     
    868868 
    869869# Poor man's threshold 
    870 # If account balance reaches below this amount, a warning message  
     870# If account balance reaches below this amount, a warning message 
    871871# is sent through the 'mailto' directive above. 
    872872# 
     
    882882# Again this must appear in the global section 
    883883# 
    884 poorwarn : Your Print Quota account balance is low.  
     884poorwarn : Your Print Quota account balance is low. 
    885885 Soon you'll not be allowed to print anymore. 
    886886 
     
    893893softwarn: Your Print Quota Soft Limit is reached. 
    894894 This means that you may still be allowed to print for some 
    895  time, but you must contact your administrator to purchase  
     895 time, but you must contact your administrator to purchase 
    896896 more print quota. 
    897897 
     
    938938# for example to automatically add the user to the quota database, and set 
    939939# page limits on the current printer if he is unknown : 
    940 #  
    941 #   policy: external(/usr/bin/pkusers --add --skipexisting %(username)s && /usr/bin/edpykota --add --skipexisting --printer %(printername)s --softlimit 50 --hardlimit 60 %(username)s)  
     940# 
     941#   policy: external(/usr/bin/pkusers --add --skipexisting %(username)s && /usr/bin/edpykota --add --skipexisting --printer %(printername)s --softlimit 50 --hardlimit 60 %(username)s) 
    942942# 
    943943# NB : If you want to limit users by their account balance value, it is preferable to 
    944944# use the following policy to automate user account creation on first print : 
    945945# 
    946 #   policy: external(/usr/bin/autopykota --initbalance 25.0)  
     946#   policy: external(/usr/bin/autopykota --initbalance 25.0) 
    947947# 
    948948#   This will automatically add the user if he doesn't already exist, and 
    949 #   set his initial balance value to 25.0 (for example). If the user already  
    950 #   exists then his balance value will not be modified.  
     949#   set his initial balance value to 25.0 (for example). If the user already 
     950#   exists then his balance value will not be modified. 
    951951#   Please don't use autopykota if you want to limit your users by page 
    952952#   quota, and in any case, carefully read autopykota's help or manpage 
     
    962962#       '%(printername)s'       will contain the printer's name 
    963963# 
    964 #   On your command line, to pass arguments to your command.  
    965 # 
    966 # If the printer, user, or user quota entry still doesn't exist after  
    967 # external policy command was launched (the external command didn't add it),  
    968 # or if an error occured during the execution of the external policy  
     964#   On your command line, to pass arguments to your command. 
     965# 
     966# If the printer, user, or user quota entry still doesn't exist after 
     967# external policy command was launched (the external command didn't add it), 
     968# or if an error occured during the execution of the external policy 
    969969# command, then the job is rejected. 
    970970# 
     
    975975 
    976976 
    977 # Pre and Post Hooks  
     977# Pre and Post Hooks 
    978978# These directives allow the easy plug-in of any command of your choice 
    979979# at different phases of PyKota's execution. 
     
    988988# List of available environment variables : 
    989989# NB : Most of these variables are also available during the execution 
    990 # of external commands defined in the accounter and mailto  
     990# of external commands defined in the accounter and mailto 
    991991# directives. 
    992992# 
    993993# PYKOTADIRECTORY : The directory containing cupspykota's temporary files 
    994 # PYKOTADATAFILE : The name of the temporary file which contains the  
     994# PYKOTADATAFILE : The name of the temporary file which contains the 
    995995#                  job's datas 
    996 # PYKOTAFILENAME : The name of the file which contains the job's datas or  
     996# PYKOTAFILENAME : The name of the file which contains the job's datas or 
    997997#                  empty if datas come from stdin 
    998998# PYKOTAMD5SUM : Contains an hexadecimal digest of the md5 sum of the job's datas 
     
    10081008# PYKOTAOPTIONS : job's options 
    10091009# PYKOTABALANCE : user's account balance 
    1010 # PYKOTALIFETIMEPAID : user's grand total paid  
     1010# PYKOTALIFETIMEPAID : user's grand total paid 
    10111011# PYKOTALIMITBY : user print limiting factor, for example 'quota' or 'balance' 
    10121012# PYKOTAPAGECOUNTER : user's page counter on this printer 
     
    10201020# PYKOTAPRECOMPUTEDJOBSIZE : contains the precomputed job's size 
    10211021# PYKOTAPRECOMPUTEDJOBPRICE : contains the precomputed job's price 
    1022 # PYKOTAJOBORIGINATINGHOSTNAME : contains the client's hostname if  
     1022# PYKOTAJOBORIGINATINGHOSTNAME : contains the client's hostname if 
    10231023#                                it is possible to retrieve it. 
    10241024# PYKOTAPRINTERHOSTNAME : the printer's hostname or IP address for network 
     
    10261026#                         meaningful. 
    10271027# PYKOTAWARNCOUNT : the number of times the user was forbidden to print but a banner 
    1028 #                   page was still printed on the current printer.                    
     1028#                   page was still printed on the current printer. 
    10291029# PYKOTAOVERCHARGE : user's overcharging factor. 
    10301030# PYKOTAJOBBILLING : Job's billing code if present, possibly modified through the overwrite_jobticket directive. 
     
    10471047# prehook has access to many environment variables : 
    10481048# 
    1049 # PYKOTAACTION contains either "ALLOW", "WARN" or "DENY" and  
     1049# PYKOTAACTION contains either "ALLOW", "WARN" or "DENY" and 
    10501050# represents the action which is to be done wrt the print job. 
    1051 # PYKOTAPHASE contains 'BEFORE' during execution of prehook  
     1051# PYKOTAPHASE contains 'BEFORE' during execution of prehook 
    10521052# 
    10531053# uncomment the line below to see what environment variables are available 
     
    10581058# PostHook : gets executed after the job has been added to the history. 
    10591059# posthook has access to all the environment variables defined above, 
    1060 # as well as two additionnal environment variables : PYKOTAJOBPRICE  
    1061 # and PYKOTAJOBSIZE.  
     1060# as well as two additionnal environment variables : PYKOTAJOBPRICE 
     1061# and PYKOTAJOBSIZE. 
    10621062# PYKOTAPHASE contains 'AFTER' during execution of posthook. 
    10631063# 
     
    10691069# AccountBanner : how should banner accounting be done ? 
    10701070# 
    1071 # If enabled, banner pages printed from StartingBanner and/or EndingBanner  
     1071# If enabled, banner pages printed from StartingBanner and/or EndingBanner 
    10721072# (depending on the value) will be included in the accounting for the 
    10731073# print job 
     
    11131113 
    11141114 
    1115 # If a job is printed by the same person as the last job on the same printer,  
     1115# If a job is printed by the same person as the last job on the same printer, 
    11161116# should banners be avoided to save some paper 
    11171117# 
     
    11201120# If set to no or 0, no banners will be avoided (they will all be printed) 
    11211121# If set to any positive integer, banners will be avoided if printed within 
    1122 #     'integer' seconds of the last job  
     1122#     'integer' seconds of the last job 
    11231123# 
    11241124# This value defaults to no 
    11251125# avoidduplicatebanners: yes 
    11261126# avoidduplicatebanners: no 
    1127 # avoidduplicatebanners: 600    
    1128  
    1129  
    1130 # StartingBanner : if defined will print a banner before the rest of the job  
     1127# avoidduplicatebanners: 600 
     1128 
     1129 
     1130# StartingBanner : if defined will print a banner before the rest of the job 
    11311131# is printed. The argument can be a printable file, or an executable file. 
    1132 # If not executable, the file will be printed as is. If executable, the  
     1132# If not executable, the file will be printed as is. If executable, the 
    11331133# file will be executed and its standard output will be sent to the printer. 
    11341134# 
    11351135# In any case, the banner content which will be sent to the printer 
    1136 # MUST be in a format your printer will accept !!!  
     1136# MUST be in a format your printer will accept !!! 
    11371137# 
    11381138# The pkbanner command included in PyKota can automatically generate 
    11391139# starting and ending banners in the PostScript format. You can use 
    1140 # this command in a pipe through GhostScript if your printer doesn't  
     1140# this command in a pipe through GhostScript if your printer doesn't 
    11411141# accept PostScript as an input format. 
    11421142# NB : pkbanner's default page size is A4 
     
    11491149 
    11501150 
    1151 # EndingBanner : if defined will print a banner after the job  
     1151# EndingBanner : if defined will print a banner after the job 
    11521152# has been printed. The argument can be a printable file, or an executable file. 
    1153 # If not executable, the file will be printed as is. If executable, the  
     1153# If not executable, the file will be printed as is. If executable, the 
    11541154# file will be executed and its standard output will be sent to the printer. 
    11551155# 
     
    11591159# The pkbanner command included in PyKota can automatically generate 
    11601160# starting and ending banners in the PostScript format. You can use 
    1161 # this command in a pipe through GhostScript if your printer doesn't  
     1161# this command in a pipe through GhostScript if your printer doesn't 
    11621162# accept PostScript as an input format. 
    11631163# NB : pkbanner's default page size is A4 
     
    11781178# 
    11791179# Default PyKota banner 
    1180 # endingbanner: /usr/bin/pkbanner  
     1180# endingbanner: /usr/bin/pkbanner 
    11811181 
    11821182 
     
    11851185# 
    11861186# "laxist" is the default if value is not set, and allows users 
    1187 # to be over quota on their last job.  
     1187# to be over quota on their last job. 
    11881188# 
    11891189# "strict" tries to prevent users from ever being over quota. 
    11901190# 
    11911191# Enforcement can be defined either globally, per printer, 
    1192 # or both. If both are defined, the printer specific enforcement  
    1193 # setting has priority.  
     1192# or both. If both are defined, the printer specific enforcement 
     1193# setting has priority. 
    11941194# 
    11951195# valid values : "strict" or "laxist" 
     
    12111211# "trustjobsize : >N:25" : uses 25 if jobsize is >N pages 
    12121212# 
    1213 # General form : ">n:m" where n is a positive integer, and m is  
     1213# General form : ">n:m" where n is a positive integer, and m is 
    12141214# either the word 'precomputed' or a positive integer. 
    12151215# The special form "yes" is also accepted and is the default. 
     
    12171217# This directive can be set either globally or on a per printer 
    12181218# basis. Use this directive when hardware accounting for a particular 
    1219 # printer produces some glitches due to the printer returning  
     1219# printer produces some glitches due to the printer returning 
    12201220# incorrect answers. 
    12211221# 
    12221222# NB : DON'T MODIFY THIS IF YOU DON'T NEED TO. THIS IS ONLY TO BE USED 
    12231223# AS A WORKAROUND FOR SOME PRINTERS. IT'S PROBABLY BETTER TO ALWAYS 
    1224 # SET THIS DIRECTIVE TO 'yes'. THIS DIRECTIVE WILL ONLY BE HONORED  
     1224# SET THIS DIRECTIVE TO 'yes'. THIS DIRECTIVE WILL ONLY BE HONORED 
    12251225# IF PYKOTA DETECTS A DIFFERENCE BETWEEN THE PRECOMPUTED JOB SIZE 
    12261226# AND THE JOB SIZE AS COMPUTED BY PYKOTA EITHER USING HARDWARE OR 
     
    12481248# Possible values are 'yes', 'no', or any other string. 
    12491249# If the string is not recognized as a truth value, 
    1250 # it is considered to be a command to launch.  
     1250# it is considered to be a command to launch. 
    12511251# PyKota launches the command and parses its standard 
    12521252# output. The special keywords 'ALLOW' and 'DENY' are 
    12531253# recognized, allowing an external tool to decide if 
    1254 # the job is to be allowed or denied.  
     1254# the job is to be allowed or denied. 
    12551255# 
    12561256# denyduplicates : /usr/bin/myowncommand with some arguments 
     
    12601260 
    12611261 
    1262 # Sets the delay in seconds after which two identical jobs are  
     1262# Sets the delay in seconds after which two identical jobs are 
    12631263# not considered as being a duplicate. 
    1264 #  
     1264# 
    12651265# This can be defined either globally or on a per printer basis 
    12661266# The default value if not set is 0, for 0 seconds. 
     
    12751275# will never be printed, aborts the hardware accounting 
    12761276# process, and uses the latest internal page counter value seen. 
    1277 #  
    1278 # Increasing this value, or setting it to 0, may help with some  
    1279 # printers which don't conform to RFC3805. Problem reported on a  
     1277# 
     1278# Increasing this value, or setting it to 0, may help with some 
     1279# printers which don't conform to RFC3805. Problem reported on a 
    12801280# Samsung ML2551n gave a way for clever students to bypass 
    12811281# hardware accounting entirely by removing the paper from 
     
    12871287# 
    12881288# This directive can be set either globally or on a per printer 
    1289 # basis.  
     1289# basis. 
    12901290# 
    12911291# When not set, an hardcoded value of 60 seconds is used. 
     
    13021302# 
    13031303# This directive can be set either globally or on a per printer 
    1304 # basis.  
     1304# basis. 
    13051305# 
    13061306# When not set, an hardcoded value of 5 times is used. 
     
    13161316# 
    13171317# This directive can be set either globally or on a per printer 
    1318 # basis.  
     1318# basis. 
    13191319# 
    13201320# When not set, an hardcoded value of 4.0 seconds is used. 
     
    13311331# 
    13321332# This directive can be set either globally or on a per printer 
    1333 # basis.  
     1333# basis. 
    13341334# 
    13351335# The 16 bit values are specified as in RFC3805 (Printer MIB v2), 
     
    13591359#   No Paper, Door Open, Jammed, Offline, Service Requested, 
    13601360#   Input Tray Missing, Output Tray Missing, Output Full, Input Tray Empty 
    1361 #  
     1361# 
    13621362# This value can be specified either in hexadecimal (prefixed with 0x), 
    13631363# in octal (prefixed with 0) or in decimal (no prefix). 
     
    13751375# With these coefficients, the exact cost of each page 
    13761376# can be computed : for each ink color in the colorspace specified 
    1377 # in the preaccounter and/or accounter directives, we multiply the  
     1377# in the preaccounter and/or accounter directives, we multiply the 
    13781378# base cost per page set with pkprinters by this ink color's coefficient 
    13791379# and by the percent of that page covered with such ink. Then we 
     
    14121412# Coefficients can be set either in the [global] section or in any 
    14131413# [printqueuename] section. The latter taking precedence, as always. 
    1414 #  
     1414# 
    14151415#coefficient_cyan : 1.2 
    14161416#coefficient_magenta : 3