root / pykota / trunk / FAQ @ 1389

Revision 1389, 7.8 kB (checked in by jalet, 21 years ago)

Added a complementary note about woody

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