Changeset 952 for pykota/trunk/README

Show
Ignore:
Timestamp:
04/24/03 00:13:57 (22 years ago)
Author:
jalet
Message:

Preliminary support for LPRng added BUT STILL UNTESTED.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/README

    r942 r952  
    11# $Id$ 
    22 
    3 PyKota - Print Quota for CUPS 
     3PyKota - Print Quota for CUPS and LPRng 
    44 
    55(c) 2003 Jerome Alet <alet@librelogiciel.com> 
     
    2525 
    2626PyKota is a complete Print Quota system for the Common Unix Printing 
    27 System (aka CUPS), which works by directly querying the printers 
    28 for the number of pages they have printed. 
     27System (aka CUPS) or LPR Next Generation (LPRng), which works by directly  
     28querying the printers for the number of pages they have printed. 
    2929 
    3030Actual working features : 
    3131 
     32        - Supports both CUPS and LPRng backends. 
     33         
    3234        - Per printer user and group quotas. 
    3335         
     
    3537          user himself and to the print quota administrator. 
    3638         
    37         - CUPS filter for quota accounting : pykota 
     39        - Filter for quota accounting : pykota 
    3840         
    3941        - Command line print quota editor : edpykota 
     
    101103  of a new job and before the end of the previous job. This depends on  
    102104  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 CUPS  
    104   internal behavior : if CUPS doesn't begin to send a job to a printer  
    105   before the previous one is completely printed, then there's no  
    106   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.  
    107109   
    108110  Other querying methods which won't suffer from this possible  
     
    140142  You need to have the following tools installed on the CUPS Server : 
    141143   
    142     - CUPS 
     144    - CUPS or LPRng 
    143145    - Python v2.1 or above 
    144146    - eGenix' mxDateTime Python extension 
     
    155157    - PostgreSQL 
    156158     
    157   PygreSQL and the PostgreSQL client libraries's versions on the CUPS  
     159  PygreSQL and the PostgreSQL client libraries's versions on the Print 
    158160  Server must match the PostgreSQL version used on the Quota Storage  
    159161  Server. 
     
    163165  alternatives. 
    164166   
    165   Of course the CUPS Server and the Quota Storage Server can be the  
     167  Of course the Print Server and the Quota Storage Server can be the  
    166168  very same machine if you've got a tiny network, or you can have  
    167   multiple CUPS Servers all storing their quotas on the same Quota  
     169  multiple Print Servers all storing their quotas on the same Quota  
    168170  Storage Server if you've got a bigger network.  
    169171   
     
    196198you if needed and you agreed to this action. 
    197199 
    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   
    225238Add printers and users to the quota system and set their quota values :  
    226239 
     
    261274           should make you reasonably safe. 
    262275            
     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            
    263280============================================================ 
    264281