Changeset 952 for pykota/trunk/README
- Timestamp:
- 04/24/03 00:13:57 (22 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/README
r942 r952 1 1 # $Id$ 2 2 3 PyKota - Print Quota for CUPS 3 PyKota - Print Quota for CUPS and LPRng 4 4 5 5 (c) 2003 Jerome Alet <alet@librelogiciel.com> … … 25 25 26 26 PyKota is a complete Print Quota system for the Common Unix Printing 27 System (aka CUPS) , which works by directly querying the printers28 for the number of pages they have printed.27 System (aka CUPS) or LPR Next Generation (LPRng), which works by directly 28 querying the printers for the number of pages they have printed. 29 29 30 30 Actual working features : 31 31 32 - Supports both CUPS and LPRng backends. 33 32 34 - Per printer user and group quotas. 33 35 … … 35 37 user himself and to the print quota administrator. 36 38 37 - CUPS filter for quota accounting : pykota39 - Filter for quota accounting : pykota 38 40 39 41 - Command line print quota editor : edpykota … … 101 103 of a new job and before the end of the previous job. This depends on 102 104 the printer speed and time between jobs, but so far I've not seen 103 any problem with moderately used printers. This also depends on CUPS104 internal behavior : if CUPS doesn't begin to send a job to a printer105 before the previous one is completely printed, then there's no106 problem.105 any problem with moderately used printers. This also depends on the 106 printing system's internal behavior : if it doesn't begin to send a 107 job to a printer before the previous one is completely printed, then 108 there's no problem. 107 109 108 110 Other querying methods which won't suffer from this possible … … 140 142 You need to have the following tools installed on the CUPS Server : 141 143 142 - CUPS 144 - CUPS or LPRng 143 145 - Python v2.1 or above 144 146 - eGenix' mxDateTime Python extension … … 155 157 - PostgreSQL 156 158 157 PygreSQL and the PostgreSQL client libraries's versions on the CUPS159 PygreSQL and the PostgreSQL client libraries's versions on the Print 158 160 Server must match the PostgreSQL version used on the Quota Storage 159 161 Server. … … 163 165 alternatives. 164 166 165 Of course the CUPSServer and the Quota Storage Server can be the167 Of course the Print Server and the Quota Storage Server can be the 166 168 very same machine if you've got a tiny network, or you can have 167 multiple CUPSServers all storing their quotas on the same Quota169 multiple Print Servers all storing their quotas on the same Quota 168 170 Storage Server if you've got a bigger network. 169 171 … … 196 198 you if needed and you agreed to this action. 197 199 198 Modify the PPD files for each printer on which you want to manage 199 print quotas, for example /etc/cups/ppd/lp.ppd : 200 201 --- Add the line below exactly as-is somewhere near the top --- 202 *cupsFilter: "application/vnd.cups-postscript 0 /usr/bin/pykota" 203 --- Add the line above exactly as-is somewhere near the top --- 204 205 Modify the path to the pykota executable if needed, unfortunately 206 you have to supply the correct absolute path here due to CUPS 207 internals, or put the pykota executable into /usr/lib/cups/filter 208 instead of into /usr/bin. 209 210 Do this for each ppd file present in this directory if you want 211 to enable quota on every printer. 212 213 WARNING : In the case you've got a non-postscript printer, chances 214 are that the *cupsFilter is already filled-in and points 215 to cupsomatic or such a print filter. In this case please 216 check if you can switch your printer to PostScript mode 217 or if there's a way to make it accept PostScript jobs. 218 If yes then ensure that your workstations uses a PostScript 219 printer driver, and replace the *cupsFilter line with the 220 one pointing to the pykota filter. This should work, but 221 is currently untested. 222 If your printer really needs the original *cupsFilter line 223 then you may not be able to use PyKota easily for now. 224 200 - CUPS Print Backend : 201 202 Modify the PPD files for each printer on which you want to manage 203 print quotas, for example /etc/cups/ppd/lp.ppd : 204 205 --- Add the line below exactly as-is somewhere near the top --- 206 *cupsFilter: "application/vnd.cups-postscript 0 /usr/bin/pykota" 207 --- Add the line above exactly as-is somewhere near the top --- 208 209 Modify the path to the pykota executable if needed, unfortunately 210 you have to supply the correct absolute path here due to CUPS 211 internals, or put the pykota executable into /usr/lib/cups/filter 212 instead of into /usr/bin. 213 214 Do this for each ppd file present in this directory if you want 215 to enable quota on every printer. 216 217 WARNING : In the case you've got a non-postscript printer, chances 218 are that the *cupsFilter is already filled-in and points 219 to cupsomatic or such a print filter. In this case please 220 check if you can switch your printer to PostScript mode 221 or if there's a way to make it accept PostScript jobs. 222 If yes then ensure that your workstations uses a PostScript 223 printer driver, and replace the *cupsFilter line with the 224 one pointing to the pykota filter. This should work, but 225 is currently untested. 226 If your printer really needs the original *cupsFilter line 227 then you may not be able to use PyKota easily for now. 228 229 - LPRng Print Backend : 230 231 Modify the /etc/printcap file to add two lines identical to these ones : 232 233 :achk=true 234 :as=|/usr/bin/pykota 235 236 For each printer on which you want to use print accounting. 237 225 238 Add printers and users to the quota system and set their quota values : 226 239 … … 261 274 should make you reasonably safe. 262 275 276 also please ensure that only the printing daemon user 277 can launch the pykota command. Again this is not enforced 278 in the program. 279 263 280 ============================================================ 264 281