root / pykota / trunk / FAQ @ 1268

Revision 1268, 6.6 kB (checked in by jalet, 21 years ago)

Added info on printers groups to the FAQ.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1PyKota's FAQ :
2
3  # $Id$
4 
5  * Is print accounting ever exact ?
6 
7    No. Print accounting is **never** exact, because it depends
8    on external factors like the presence of paper in the printer,
9    the quantity of remaining ink in the print cartridge, paper
10    jams, etc... All these things are very difficult to account
11    for correctly, and no print accounting package deals with
12    these artefacts correctly in all situations.
13    We are however confident that PyKota is one of the more
14    exact print accounting software, because by default it
15    asks the printers for how many pages they have really printed.
16   
17  * Can PyKota account for ink usage ? 
18 
19    No. Actually PyKota doesn't account for ink usage, but this
20    may come in a future release. PyKota only accounts for pages
21    printed and/or money spent.  If ink accounting is a necessity
22    for you, PrintBill is recommended instead of PyKota. PrintBill
23    allows you to bill differently per color, and to bill depending
24    on the percent of the ink covered part of the pages.
25   
26  * What is a 'dumb printer' ?
27 
28    In PyKota, the term 'dumb printer' defines a printer which doesn't
29    understand PostScript AND doesn't have an internal page counter, AND
30    for which you don't know how to compute a job's size in number of
31    pages by analyzing its content. Any printer which is not a
32    'dumb printer' according to the above definition is supported
33    with PyKota.
34
35  * How can I make PyKota work with my non-postscript printer under
36    CUPS ? 
37 
38    From version 1.16alpha7, PyKota includes a CUPS backend which
39    allows you to use any type of printer and any driver, provided
40    your printer is not a 'dumb printer' (see above).
41   
42  * How can I use my 'dumb printer' with CUPS and PyKota. 
43 
44    The solution is to plug the pykota filter into the
45    filtering chain when the print job is still in
46    PostScript format, before being converted to the
47    dumb printer's native format. You can't use the
48    cupspykota CUPS backend with 'dumb printers'.
49   
50    Here's how to do :
51   
52        - Disable raw mode by modifying *.convs and
53          *.types files in /etc/cups, then restart
54          CUPS.
55         
56        - If you print from Windows through Samba,
57          don't put '-o raw' in the print command
58          definition in smb.conf
59         
60        - Under Windows, use a PostScript driver 
61          set to maximum compatibility mode.
62         
63        - Modify *.convs and *.types files to 
64          insert the pykota filter into the
65          filtering chain, as described
66          here (url should be on a single line) :
67         
68          http://cgi.librelogiciel.com/pipermail/  ...
69             ... pykota/attachments/20030721/753239b5/attachment.eml
70         
71          and restart CUPS.
72         
73  * I've got a great number of users. How can I automatically
74    set an initial print quota for them on first print ?
75   
76    You have to define an external policy for unknown users,
77    to automatically add them to the Print Quota database.
78    The sample configuration file contains examples to do this.
79   
80  * How can I diagnose the problem when something goes wrong ?
81 
82    Put "LogLevel debug2" in cupsd.conf (usually in /etc/cups/).
83    Then put "logger: system" and "debug: yes" in
84    /etc/pykota/pykota.conf.
85    Finally restart CUPS.
86    CUPS' error_log file will now contain many informations which
87    will help diagnose your problem. Also your syslog's output for
88    the LPR facility (usually /var/log/lpr.log) will contain
89    PyKota's debug messages, notably all database related queries
90    and their result, be your database PostgreSQL or OpenLDAP.
91    With these two files the problem can usually be diagnosed within
92    minutes. Send them to the mailing list and wait for an answer.
93   
94  * Some, not all, print jobs are never accounted for, why ?
95 
96    From version 1.16alpha7, you can now use the cupspykota
97    CUPS backend, which ensures that all print jobs will be
98    accounted for. The use of the old pykota filter is deprecated
99    with CUPS. It remains the filter of choice for LPRng though,
100    or when you absolutely need to support a 'dumb printer' (see
101    definition above).
102   
103  * When printing from Windows, the jobs are never accounted for,
104    but from *nix they are. Could you explain the reason for this ?
105   
106    First refer to the point above. If this doesn't solve your
107    problem, try to set your print driver to PostScript mode
108    and check the "maximum compatibility" box in its configuration,
109    instead of "maximum speed". Often HP printers come with both
110    a PCL and a PostScript driver under Windows. Don't install the
111    PCL one.
112   
113  * How can I share print quota between some printers only (not all) ?   
114 
115    To do this you have to put the printers into a printers group, and
116    set quota
117   
118  * What is a printer group ?
119 
120     A printer group is exactly like a normal printer, but is
121     unknown by the printing system. You can use printer groups
122     to share print quota between printers.
123   
124  * How can I create a printer group ?   
125 
126    Just use edpykota, like for normal printers.
127 
128  * How can I put a printer into a printer group ?
129 
130    Use the new -G|--pgroups command line option to edpykota
131    You can put sereval printers into several printers groups
132    in one command using the following syntax :
133   
134      $ edpykota --pgroups pg1[,pg2,pg3,...] --printers p1[,p2,p3,...]
135       
136    What is between square brackets is optional.   
137    Both p1,p2 and pg1,pg2 can contain wildcards.
138   
139  * How quota checking and update is done with printer groups ?   
140 
141    Print accounting and quota checking is done for a printer and
142    all the printers groups it belongs to, recursively.
143    If quota is reached on ANY of these printers for the current user,
144    printing is denied.
145
146  * Is this feature robust ?
147 
148    It should be. However, beware of integrity problems. LDAP has no
149    sense of database integrity, and PostgreSQL constraints have not
150    yet been fully implemented. The code actually *tries* to forbid
151    circular printers groups, but if you create printer groups with
152    another tool (e.g. psql or gq), then you are mostly on you
153    own to not create infinite loops.
154   
155  * My question isn't answered there, can you help ? 
156 
157    Sure. Ask your question to the mailing list. If this is a
158    frequently asked question, or if your problem is on the contrary
159    very specific, it will probably be added to this document.
160   
161    You can also ask questions by IRC :
162   
163        /server irc.freenode.net
164        /join #pykota
165       
166Send any new questions to Jerome Alet - <alet@librelogiciel.com>
Note: See TracBrowser for help on using the browser.