Changeset 3413 for pykota/trunk/conf/pykota.conf.sample
- Timestamp:
- 09/27/08 22:02:37 (16 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/conf/pykota.conf.sample
r3296 r3413 33 33 # the Free Software Foundation, either version 3 of the License, or 34 34 # (at your option) any later version. 35 # 35 # 36 36 # This program is distributed in the hope that it will be useful, 37 37 # but WITHOUT ANY WARRANTY; without even the implied warranty of 38 38 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 39 39 # GNU General Public License for more details. 40 # 40 # 41 41 # You should have received a copy of the GNU General Public License 42 42 # along with this program. If not, see <http://www.gnu.org/licenses/>. … … 50 50 [global] 51 51 52 # This directive configures the charset to use when reading PyKota's 52 # This directive configures the charset to use when reading PyKota's 53 53 # configuration files. All directives values will be decoded and 54 54 # interpreted using the character set defined here. … … 78 78 # e.g. db.example.com:5432 (for PostgreSQL) or db.example.com:3306 (for MySQL) 79 79 # 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 81 81 # connection, which may be unexpected. Using 127.0.0.1 avoids this issue. 82 82 # See http://bugs.mysql.com/bug.php?id=31577 for more information. … … 87 87 storagename: pykota 88 88 89 # 89 # 90 90 # 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 92 92 # which may give readonly access to your print quota database. 93 # 93 # 94 94 # PLEASE ENSURE THAT THIS USER CAN'T WRITE TO YOUR PRINT QUOTA 95 95 # DATABASE, OTHERWISE ANY USER WHO COULD READ THIS CONFIGURATION … … 112 112 #storageserver: ldap://ldap.example.com:389 113 113 #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 116 116 # the sample LDIF file pykota/initscripts/ldap/pykota-sample.ldif 117 117 # Please adapt these lines to your own needs. … … 137 137 138 138 139 # Here we define some helpers to know where 139 # Here we define some helpers to know where 140 140 # to plug into an existing LDAP directory 141 141 # NB : THE DIRECTIVES BELOW MUST BE PRESENT WITH AN LDAP BACKEND … … 175 175 # "below" creates the new accounts/groups as standalone entries 176 176 # below the above defined 'userbase' ou 177 # 177 # 178 178 # attach(objectclass name [, action]) tries to find some existing user/group 179 179 # using the above defined 'userrdn' or 'grouprdn' and 'userbase' 180 180 # 'groupbase', and attach the PyKota specific entries to it. 181 181 # 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. 183 183 # if action is "fail" and no entry exists to attach to, program 184 184 # logs an error message and aborts. … … 256 256 257 257 # 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 259 259 # 'syslog' here). if the value is not set then the default SYSTEM applies. 260 260 # … … 265 265 # Enable debugging ? Put YES or NO there. 266 266 # 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 268 268 # works, just put NO instead to save some disk space in your logs. 269 269 # NB : When set to YES, there is a very significant impact on performance … … 315 315 # - a copy of the software's command line arguments 316 316 # - a copy of the software's environment variables 317 # 317 # 318 318 # suggested value : 319 319 # … … 325 325 # If the value is not set, and the mail attribute for the user 326 326 # 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 328 328 # username@smtpserver 329 329 # … … 346 346 # still case sensitive. 347 347 # 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, 350 350 # respectively, at the start of printing, BUT ONLY when printing. 351 351 # … … 365 365 # This option adds support for Samba's Winbind utility, which 366 366 # 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 368 368 # adding users with edpykota. 369 369 # … … 372 372 # (real username) is used. 373 373 # 374 # If winbind_separator is not set, which is the default, strict 374 # If winbind_separator is not set, which is the default, strict 375 375 # username equality checking will be done (modulo the setting 376 376 # of the 'usernamecase' directive), this means that users 'DOMAIN1/jerome', 377 # 'Domain2/jerome' and 'jerome' are different. 377 # 'Domain2/jerome' and 'jerome' are different. 378 378 # 379 379 # winbind_separator: / … … 384 384 # or groups which are unknown from the system ? 385 385 # 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` 387 387 # or `getent group groupname` returns nothing. 388 388 # … … 400 400 # If unset, the default value is NO, meaning that jobs' title, filename 401 401 # 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 403 403 # [global] section. 404 404 # … … 411 411 # Also should we retry and if yes then how often and how many times ? 412 412 # 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, 414 414 # then set it to "charge". 415 415 # If your print queues get regularly disabled by CUPS when the printers … … 418 418 # the delay in seconds during which PyKota will sleep before trying again. 419 419 # 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 421 421 # compatible with PyKota (because of my own inability to master regular 422 422 # expressions). … … 467 467 # REASON=reason_we_chose_deny_or_cancel 468 468 # AUTH=NO (equivalent to DENY below) 469 # DENY 469 # DENY 470 470 # CANCEL 471 471 # 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 473 473 # value seen is used, so you command can output several usernames 474 474 # or billing codes and only the latest ones will be used. … … 478 478 # used unchanged. 479 479 # 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 482 482 # DENY or CANCEL. Otherwise, the built-in reasons will be used. 483 483 # … … 499 499 # 500 500 # examples : 501 # 501 # 502 502 # overwrite_jobticket : /usr/bin/pknotify --destination $PYKOTAJOBORIGINATINGHOSTNAME:7654 --timeout 180 --denyafter 3 --checkauth --ask "Username:username:$PYKOTAUSERNAME" "Password:password:" "Billing code:billingcode:$PYKOTAJOBBILLING" 503 503 # overwrite_jobticket : /path/to/some/script/or/command … … 560 560 # Should we keep our work files on disk after printing ? 561 561 # 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' 563 563 # named with the previous directive. 564 564 # This value can be set either globally or on a per printer basis … … 576 576 # will compute the number of pages printed. This directive is the most 577 577 # important one in PyKota's configuration. 578 # 578 # 579 579 # NB : This directive is MANDATORY, there's no default value when not set. 580 580 # … … 591 591 # The big advantages of hardware accounting are lighter CPU usage compared 592 592 # 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 594 594 # that paper jams don't cause users to be charged for pages they couldn't 595 595 # print. 596 596 # For hardware accounting, two special values are accepted in addition 597 597 # 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 599 599 # job to the printer's TCP port 9100 (by default). 600 600 # … … 627 627 # 628 628 # 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. 630 630 # IMPORTANT : increasing the resolution increases precision, but 631 631 # increase CPU load a lot at the same time. The default resolution … … 634 634 # coefficients for each color in the colorspace, as explained 635 635 # further below in this file. 636 # 636 # 637 637 # You can get hints on which configuration is best for your printers by 638 638 # typing : pkturnkey --doconf 639 639 # 640 640 # 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, 642 642 # if PyKota can extract it from its environment. 643 643 # … … 654 654 # 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) 655 655 # 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") 657 657 # accounter : software() 658 658 # accounter : ink(cmyk, 150) … … 661 661 # accounter : ink(cmy, 72) 662 662 # accounter : ink(gc, 72) 663 # 663 # 664 664 # This directive can be set either globally or per printer or both. 665 665 # 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, 668 668 # YOU ABSOLUTELY HAVE TO BE SURE YOU HAVE A SCRIPT WHICH WAITS FOR THE 669 669 # PRINTER BEING READY BEFORE ASKING FOR ITS INTERNAL PAGE COUNTER. 670 # 670 # 671 671 # PYKOTA'S 'snmp' and 'pjl' HARDWARE ACCOUNTING METHODS DO THE CORRECT WORK 672 672 # INTERNALLY, BUT SOME OF THE EXAMPLES ABOVE DON'T, YOU HAVE BEEN WARNED. … … 677 677 # AND DO ALL THE HARD WORK AUTOMATICALLY. IF YOU REALLY NEED TO YOU CAN USE 678 678 # YOUR OWN EXTERNAL COMMANDS AS DESCRIBED ABOVE, JUST BE CAREFUL WITH THIS. 679 # 679 # 680 680 # Sane default : 681 681 # 682 682 accounter: software() 683 683 684 # Should we ensure that the printer really is idle before 684 # Should we ensure that the printer really is idle before 685 685 # sending the job's datas to it ? 686 686 # 687 # This directive is only used when you use an internal 687 # This directive is only used when you use an internal 688 688 #�hardware accounting mechanism, like hardware(snmp) or 689 689 # hardware(pjl), and is not used for external hardware … … 691 691 # 692 692 # 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 694 694 # printer, or all CUPS+PyKota print servers which access to the 695 695 # same physical printer share a common network directory used … … 706 706 # 707 707 # If not defined, a value of No is assumed. 708 # 708 # 709 709 # This value can be set either globally or on a per printer basis 710 710 # If both are defined, the printer option has priority. … … 718 718 # Supported values are : 719 719 # 720 # preaccounter: software() 720 # preaccounter: software() 721 721 # preaccounter: software(/path/to/your/script) 722 722 # preaccounter: ink(colorspace, resolution) 723 723 # 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 727 727 # of it) on its standard output, and that it reads the print job's datas 728 728 # from the file pointed to by the PYKOTADATAFILE environment variable. … … 743 743 # 744 744 # 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. 746 746 # IMPORTANT : increasing the resolution increases precision, but 747 747 # increase CPU load a lot at the same time. The default resolution … … 769 769 # 'stop' means fail and stop the print queue. If an accounter 770 770 # 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 772 772 # until the admin has fixed the configuration. 773 773 # … … 786 786 # These values can be set either globally or per printer or both. 787 787 # 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 789 789 # and the default adminmail root@localhost are used. 790 790 admin: John Doe … … 795 795 # Who should we send an email to in case a quota is reached ? 796 796 # 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 798 798 # an email message. 799 799 # The DevNull value means no email message will be sent. … … 812 812 # '%(printername)s' will contain the printer's name 813 813 # '%(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 815 815 # to use it. 816 816 # … … 820 820 # mailto: external(/usr/bin/callpager %(username)s "Quota problem on %(printername)s" >/dev/null) 821 821 # 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, 823 823 # here the same machine does Samba as PDC + CUPS) : 824 824 # … … 835 835 # 836 836 # 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 838 838 # underlying layer (filter or backend) 839 839 # … … 868 868 869 869 # 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 871 871 # is sent through the 'mailto' directive above. 872 872 # … … 882 882 # Again this must appear in the global section 883 883 # 884 poorwarn : Your Print Quota account balance is low. 884 poorwarn : Your Print Quota account balance is low. 885 885 Soon you'll not be allowed to print anymore. 886 886 … … 893 893 softwarn: Your Print Quota Soft Limit is reached. 894 894 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 896 896 more print quota. 897 897 … … 938 938 # for example to automatically add the user to the quota database, and set 939 939 # 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) 942 942 # 943 943 # NB : If you want to limit users by their account balance value, it is preferable to 944 944 # use the following policy to automate user account creation on first print : 945 945 # 946 # policy: external(/usr/bin/autopykota --initbalance 25.0) 946 # policy: external(/usr/bin/autopykota --initbalance 25.0) 947 947 # 948 948 # 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. 951 951 # Please don't use autopykota if you want to limit your users by page 952 952 # quota, and in any case, carefully read autopykota's help or manpage … … 962 962 # '%(printername)s' will contain the printer's name 963 963 # 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 969 969 # command, then the job is rejected. 970 970 # … … 975 975 976 976 977 # Pre and Post Hooks 977 # Pre and Post Hooks 978 978 # These directives allow the easy plug-in of any command of your choice 979 979 # at different phases of PyKota's execution. … … 988 988 # List of available environment variables : 989 989 # 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 991 991 # directives. 992 992 # 993 993 # 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 995 995 # 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 997 997 # empty if datas come from stdin 998 998 # PYKOTAMD5SUM : Contains an hexadecimal digest of the md5 sum of the job's datas … … 1008 1008 # PYKOTAOPTIONS : job's options 1009 1009 # PYKOTABALANCE : user's account balance 1010 # PYKOTALIFETIMEPAID : user's grand total paid 1010 # PYKOTALIFETIMEPAID : user's grand total paid 1011 1011 # PYKOTALIMITBY : user print limiting factor, for example 'quota' or 'balance' 1012 1012 # PYKOTAPAGECOUNTER : user's page counter on this printer … … 1020 1020 # PYKOTAPRECOMPUTEDJOBSIZE : contains the precomputed job's size 1021 1021 # PYKOTAPRECOMPUTEDJOBPRICE : contains the precomputed job's price 1022 # PYKOTAJOBORIGINATINGHOSTNAME : contains the client's hostname if 1022 # PYKOTAJOBORIGINATINGHOSTNAME : contains the client's hostname if 1023 1023 # it is possible to retrieve it. 1024 1024 # PYKOTAPRINTERHOSTNAME : the printer's hostname or IP address for network … … 1026 1026 # meaningful. 1027 1027 # 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. 1029 1029 # PYKOTAOVERCHARGE : user's overcharging factor. 1030 1030 # PYKOTAJOBBILLING : Job's billing code if present, possibly modified through the overwrite_jobticket directive. … … 1047 1047 # prehook has access to many environment variables : 1048 1048 # 1049 # PYKOTAACTION contains either "ALLOW", "WARN" or "DENY" and 1049 # PYKOTAACTION contains either "ALLOW", "WARN" or "DENY" and 1050 1050 # 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 1052 1052 # 1053 1053 # uncomment the line below to see what environment variables are available … … 1058 1058 # PostHook : gets executed after the job has been added to the history. 1059 1059 # 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. 1062 1062 # PYKOTAPHASE contains 'AFTER' during execution of posthook. 1063 1063 # … … 1069 1069 # AccountBanner : how should banner accounting be done ? 1070 1070 # 1071 # If enabled, banner pages printed from StartingBanner and/or EndingBanner 1071 # If enabled, banner pages printed from StartingBanner and/or EndingBanner 1072 1072 # (depending on the value) will be included in the accounting for the 1073 1073 # print job … … 1113 1113 1114 1114 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, 1116 1116 # should banners be avoided to save some paper 1117 1117 # … … 1120 1120 # If set to no or 0, no banners will be avoided (they will all be printed) 1121 1121 # 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 1123 1123 # 1124 1124 # This value defaults to no 1125 1125 # avoidduplicatebanners: yes 1126 1126 # 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 1131 1131 # 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 1133 1133 # file will be executed and its standard output will be sent to the printer. 1134 1134 # 1135 1135 # 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 !!! 1137 1137 # 1138 1138 # The pkbanner command included in PyKota can automatically generate 1139 1139 # 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 1141 1141 # accept PostScript as an input format. 1142 1142 # NB : pkbanner's default page size is A4 … … 1149 1149 1150 1150 1151 # EndingBanner : if defined will print a banner after the job 1151 # EndingBanner : if defined will print a banner after the job 1152 1152 # 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 1154 1154 # file will be executed and its standard output will be sent to the printer. 1155 1155 # … … 1159 1159 # The pkbanner command included in PyKota can automatically generate 1160 1160 # 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 1162 1162 # accept PostScript as an input format. 1163 1163 # NB : pkbanner's default page size is A4 … … 1178 1178 # 1179 1179 # Default PyKota banner 1180 # endingbanner: /usr/bin/pkbanner 1180 # endingbanner: /usr/bin/pkbanner 1181 1181 1182 1182 … … 1185 1185 # 1186 1186 # "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. 1188 1188 # 1189 1189 # "strict" tries to prevent users from ever being over quota. 1190 1190 # 1191 1191 # 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. 1194 1194 # 1195 1195 # valid values : "strict" or "laxist" … … 1211 1211 # "trustjobsize : >N:25" : uses 25 if jobsize is >N pages 1212 1212 # 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 1214 1214 # either the word 'precomputed' or a positive integer. 1215 1215 # The special form "yes" is also accepted and is the default. … … 1217 1217 # This directive can be set either globally or on a per printer 1218 1218 # 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 1220 1220 # incorrect answers. 1221 1221 # 1222 1222 # NB : DON'T MODIFY THIS IF YOU DON'T NEED TO. THIS IS ONLY TO BE USED 1223 1223 # 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 1225 1225 # IF PYKOTA DETECTS A DIFFERENCE BETWEEN THE PRECOMPUTED JOB SIZE 1226 1226 # AND THE JOB SIZE AS COMPUTED BY PYKOTA EITHER USING HARDWARE OR … … 1248 1248 # Possible values are 'yes', 'no', or any other string. 1249 1249 # 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. 1251 1251 # PyKota launches the command and parses its standard 1252 1252 # output. The special keywords 'ALLOW' and 'DENY' are 1253 1253 # 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. 1255 1255 # 1256 1256 # denyduplicates : /usr/bin/myowncommand with some arguments … … 1260 1260 1261 1261 1262 # Sets the delay in seconds after which two identical jobs are 1262 # Sets the delay in seconds after which two identical jobs are 1263 1263 # not considered as being a duplicate. 1264 # 1264 # 1265 1265 # This can be defined either globally or on a per printer basis 1266 1266 # The default value if not set is 0, for 0 seconds. … … 1275 1275 # will never be printed, aborts the hardware accounting 1276 1276 # 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 1280 1280 # Samsung ML2551n gave a way for clever students to bypass 1281 1281 # hardware accounting entirely by removing the paper from … … 1287 1287 # 1288 1288 # This directive can be set either globally or on a per printer 1289 # basis. 1289 # basis. 1290 1290 # 1291 1291 # When not set, an hardcoded value of 60 seconds is used. … … 1302 1302 # 1303 1303 # This directive can be set either globally or on a per printer 1304 # basis. 1304 # basis. 1305 1305 # 1306 1306 # When not set, an hardcoded value of 5 times is used. … … 1316 1316 # 1317 1317 # This directive can be set either globally or on a per printer 1318 # basis. 1318 # basis. 1319 1319 # 1320 1320 # When not set, an hardcoded value of 4.0 seconds is used. … … 1331 1331 # 1332 1332 # This directive can be set either globally or on a per printer 1333 # basis. 1333 # basis. 1334 1334 # 1335 1335 # The 16 bit values are specified as in RFC3805 (Printer MIB v2), … … 1359 1359 # No Paper, Door Open, Jammed, Offline, Service Requested, 1360 1360 # Input Tray Missing, Output Tray Missing, Output Full, Input Tray Empty 1361 # 1361 # 1362 1362 # This value can be specified either in hexadecimal (prefixed with 0x), 1363 1363 # in octal (prefixed with 0) or in decimal (no prefix). … … 1375 1375 # With these coefficients, the exact cost of each page 1376 1376 # 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 1378 1378 # base cost per page set with pkprinters by this ink color's coefficient 1379 1379 # and by the percent of that page covered with such ink. Then we … … 1412 1412 # Coefficients can be set either in the [global] section or in any 1413 1413 # [printqueuename] section. The latter taking precedence, as always. 1414 # 1414 # 1415 1415 #coefficient_cyan : 1.2 1416 1416 #coefficient_magenta : 3