[1175] | 1 | PyKota's FAQ : |
---|
| 2 | |
---|
| 3 | # $Id$ |
---|
| 4 | |
---|
[2045] | 5 | * How can I diagnose the problem when something goes wrong ? |
---|
| 6 | |
---|
| 7 | Put "LogLevel debug2" in cupsd.conf (usually in /etc/cups/). |
---|
| 8 | Then put "logger: stderr", "debug: yes" and |
---|
| 9 | "crashrecipient: youremailaddress" in /etc/pykota/pykota.conf. |
---|
| 10 | Finally restart CUPS. |
---|
| 11 | CUPS' error_log file will now contain many informations which |
---|
| 12 | will help diagnose your problem. You will receive failure |
---|
| 13 | notices by email, and you can send all this to us for |
---|
[2046] | 14 | diagnostic. Please send complete files and not some sparse |
---|
| 15 | parts of them. Also please send the log files as gzipped |
---|
| 16 | (or bzip2-ed) attachments. |
---|
[2045] | 17 | |
---|
| 18 | For LPRng, better to put "logger: system" in pykota.conf so |
---|
[2046] | 19 | that all debug messages for PyKota will go to syslog's |
---|
| 20 | destination for the LPR syslog facility. |
---|
[2045] | 21 | |
---|
[1947] | 22 | * Nothing prints when my printer is in PowerSave mode, what |
---|
| 23 | can I do ? |
---|
| 24 | This happens if you use hardware accounting with SNMP, because |
---|
| 25 | some (all ?) printers don't say they are idle when they are |
---|
| 26 | in PowerSave mode. |
---|
| 27 | For now your best bet is to disable PowerSave mode in |
---|
| 28 | your printer. In the future, PyKota will modified to |
---|
| 29 | handle such problems. |
---|
| 30 | |
---|
[1412] | 31 | * I've installed all correctly, I've created users |
---|
| 32 | and printers, but when printing nothing works. |
---|
| 33 | What is the problem ? |
---|
| 34 | The most probable cause for this is that you didn't |
---|
| 35 | adapt /etc/pykota/pykota.conf to your own configuration. |
---|
| 36 | The file installed by default is just an example, you |
---|
| 37 | have to modify it. See the rest of this document to |
---|
| 38 | learn how to really diagnose what went wrong. |
---|
[1538] | 39 | |
---|
[1708] | 40 | * I've downloaded PyKota from CVS using a Windows based CVS |
---|
| 41 | tool, and now nothing works at all. What happened ? |
---|
| 42 | |
---|
| 43 | Some (all?) Windows based CVS tools translate *nix line endings |
---|
| 44 | (character Line Feed, ASCII code 10) into Windows line endings |
---|
| 45 | (character Carriage Return, ASCII code 13, followed with |
---|
| 46 | character Line Feed). This breaks the software which has |
---|
| 47 | to run under *nix compatible systems. Set correct options |
---|
| 48 | in your CVS software so that it doesn't do any translation, |
---|
| 49 | or use an Unix-like version of CVS, download again and |
---|
| 50 | reinstall the software. It should work. |
---|
| 51 | |
---|
[1388] | 52 | * Why doesn't CUPS under Debian Woody automatically |
---|
| 53 | detects PyKota managed devices ? |
---|
| 54 | |
---|
| 55 | The CUPS version in Debian Woody is 1.1.14 which is a bit |
---|
| 56 | too old. To use PyKota with this version, just install |
---|
| 57 | your printers as usual in CUPS web interface, and ensure |
---|
| 58 | they work fine, then save your changes, and modify |
---|
| 59 | /etc/cups/printers.conf manually as explained in |
---|
| 60 | PyKota's toplevel README file. Finally restart CUPS, |
---|
| 61 | and your printers should be managed by PyKota. |
---|
[1389] | 62 | Another solution is to install a newer CUPS release. |
---|
[1388] | 63 | |
---|
[1175] | 64 | * Is print accounting ever exact ? |
---|
| 65 | |
---|
| 66 | No. Print accounting is **never** exact, because it depends |
---|
| 67 | on external factors like the presence of paper in the printer, |
---|
| 68 | the quantity of remaining ink in the print cartridge, paper |
---|
| 69 | jams, etc... All these things are very difficult to account |
---|
| 70 | for correctly, and no print accounting package deals with |
---|
| 71 | these artefacts correctly in all situations. |
---|
| 72 | We are however confident that PyKota is one of the more |
---|
| 73 | exact print accounting software, because by default it |
---|
| 74 | asks the printers for how many pages they have really printed. |
---|
| 75 | |
---|
| 76 | * Can PyKota account for ink usage ? |
---|
| 77 | |
---|
| 78 | No. Actually PyKota doesn't account for ink usage, but this |
---|
| 79 | may come in a future release. PyKota only accounts for pages |
---|
| 80 | printed and/or money spent. If ink accounting is a necessity |
---|
| 81 | for you, PrintBill is recommended instead of PyKota. PrintBill |
---|
| 82 | allows you to bill differently per color, and to bill depending |
---|
| 83 | on the percent of the ink covered part of the pages. |
---|
| 84 | |
---|
[1198] | 85 | * What is a 'dumb printer' ? |
---|
| 86 | |
---|
| 87 | In PyKota, the term 'dumb printer' defines a printer which doesn't |
---|
[1701] | 88 | natively understand PostScript, PCL5 (up to), PCLXL (aka PCL6), PDF |
---|
| 89 | or ESC/P2 and doesn't have an internal page counter, and for which |
---|
| 90 | you don't know how to compute a job's size in number of pages by |
---|
| 91 | analyzing its content. |
---|
[1578] | 92 | Any printer which is not a 'dumb printer' according to the above |
---|
[1701] | 93 | definition is supported by PyKota. |
---|
[1198] | 94 | |
---|
[1175] | 95 | * How can I make PyKota work with my non-postscript printer under |
---|
| 96 | CUPS ? |
---|
| 97 | |
---|
[1186] | 98 | From version 1.16alpha7, PyKota includes a CUPS backend which |
---|
[1198] | 99 | allows you to use any type of printer and any driver, provided |
---|
| 100 | your printer is not a 'dumb printer' (see above). |
---|
[1175] | 101 | |
---|
[1198] | 102 | * How can I use my 'dumb printer' with CUPS and PyKota. |
---|
[1175] | 103 | |
---|
[1500] | 104 | You have to use a software accounter directive, and |
---|
| 105 | create a script which understands your printer's |
---|
| 106 | Page Description Language. |
---|
[1198] | 107 | |
---|
[1887] | 108 | PyKota natively understands DSC compliant PostScript, |
---|
| 109 | PCL3, PCL4, PCL5, PCLXL (aka PCL6), PDF and ESC/P2. Support |
---|
| 110 | for Binary PostScript is done through GhostScript. More PDLs |
---|
| 111 | will be added in the future. |
---|
[1622] | 112 | However you can always plug your own PDL analyzer in PyKota. |
---|
[1198] | 113 | |
---|
[1199] | 114 | * I've got a great number of users. How can I automatically |
---|
| 115 | set an initial print quota for them on first print ? |
---|
| 116 | |
---|
| 117 | You have to define an external policy for unknown users, |
---|
| 118 | to automatically add them to the Print Quota database. |
---|
| 119 | The sample configuration file contains examples to do this. |
---|
| 120 | |
---|
[1334] | 121 | * What does the --prototype command line option to edpykota do ? |
---|
| 122 | |
---|
[1887] | 123 | This option currently (v1.20) only copies the soft and hard |
---|
[1334] | 124 | page limits from a template user to other users. This option |
---|
| 125 | needs to be updated to new PyKota functionnalities, because it |
---|
| 126 | currently lacks. |
---|
| 127 | |
---|
[1268] | 128 | * How can I share print quota between some printers only (not all) ? |
---|
| 129 | |
---|
| 130 | To do this you have to put the printers into a printers group, and |
---|
[1282] | 131 | set quota on the printer group, instead of (or in addition to) |
---|
| 132 | the printers themselves. |
---|
[1268] | 133 | |
---|
| 134 | * What is a printer group ? |
---|
| 135 | |
---|
| 136 | A printer group is exactly like a normal printer, but is |
---|
| 137 | unknown by the printing system. You can use printer groups |
---|
| 138 | to share print quota between printers. |
---|
| 139 | |
---|
| 140 | * How can I create a printer group ? |
---|
| 141 | |
---|
[1441] | 142 | Just use pkprinters, like for normal printers, then create |
---|
| 143 | quota entries for users or users groups on it using the |
---|
| 144 | edpykota command |
---|
[1268] | 145 | |
---|
| 146 | * How can I put a printer into a printer group ? |
---|
| 147 | |
---|
[1441] | 148 | Use the pkprinters command to do this. |
---|
[1268] | 149 | |
---|
[1441] | 150 | $ pkprinters --help |
---|
| 151 | |
---|
| 152 | Will print the complete help and tell you how to do. |
---|
[1268] | 153 | |
---|
| 154 | * How quota checking and update is done with printer groups ? |
---|
| 155 | |
---|
| 156 | Print accounting and quota checking is done for a printer and |
---|
| 157 | all the printers groups it belongs to, recursively. |
---|
| 158 | If quota is reached on ANY of these printers for the current user, |
---|
| 159 | printing is denied. |
---|
[1286] | 160 | |
---|
[1268] | 161 | * Is this feature robust ? |
---|
| 162 | |
---|
| 163 | It should be. However, beware of integrity problems. LDAP has no |
---|
| 164 | sense of database integrity, and PostgreSQL constraints have not |
---|
| 165 | yet been fully implemented. The code actually *tries* to forbid |
---|
| 166 | circular printers groups, but if you create printer groups with |
---|
| 167 | another tool (e.g. psql or gq), then you are mostly on you |
---|
| 168 | own to not create infinite loops. |
---|
| 169 | |
---|
[1286] | 170 | * How is computed the job's price ? |
---|
| 171 | |
---|
| 172 | A job's price is computed with this formula : |
---|
| 173 | |
---|
| 174 | SUM((NbPages * PricePerPage) + PricePerJob) |
---|
| 175 | |
---|
| 176 | For current printer and all the printers groups it is |
---|
[1500] | 177 | a member of, if any, recursively. |
---|
[1286] | 178 | This may be difficult to grasp, but offers unprecedented |
---|
| 179 | flexibility. |
---|
| 180 | |
---|
[1175] | 181 | * My question isn't answered there, can you help ? |
---|
| 182 | |
---|
| 183 | Sure. Ask your question to the mailing list. If this is a |
---|
| 184 | frequently asked question, or if your problem is on the contrary |
---|
| 185 | very specific, it will probably be added to this document. |
---|
| 186 | |
---|
[1186] | 187 | You can also ask questions by IRC : |
---|
| 188 | |
---|
| 189 | /server irc.freenode.net |
---|
| 190 | /join #pykota |
---|
| 191 | |
---|
[1216] | 192 | Send any new questions to Jerome Alet - <alet@librelogiciel.com> |
---|