root / pykota / trunk / FAQ @ 1412

Revision 1412, 8.2 kB (checked in by jalet, 20 years ago)

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