root / pykota / trunk / FAQ @ 1441

Revision 1441, 8.1 kB (checked in by jalet, 20 years ago)

New info wrt creating printers and printers groups

  • 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 pkprinters, like for normal printers, then create
156    quota entries for users or users groups on it using the
157    edpykota command
158 
159  * How can I put a printer into a printer group ?
160 
161    Use the pkprinters command to do this.
162   
163      $ pkprinters --help
164     
165    Will print the complete help and tell you how to do.
166   
167  * How quota checking and update is done with printer groups ?   
168 
169    Print accounting and quota checking is done for a printer and
170    all the printers groups it belongs to, recursively.
171    If quota is reached on ANY of these printers for the current user,
172    printing is denied.
173   
174  * Is this feature robust ?
175 
176    It should be. However, beware of integrity problems. LDAP has no
177    sense of database integrity, and PostgreSQL constraints have not
178    yet been fully implemented. The code actually *tries* to forbid
179    circular printers groups, but if you create printer groups with
180    another tool (e.g. psql or gq), then you are mostly on you
181    own to not create infinite loops.
182   
183  * How is computed the job's price ? 
184 
185    A job's price is computed with this formula :
186   
187      SUM((NbPages * PricePerPage) + PricePerJob)
188     
189    For current printer and all the printers groups it is
190    a member of, if any.
191    This may be difficult to grasp, but offers unprecedented
192    flexibility.
193
194  * My question isn't answered there, can you help ? 
195 
196    Sure. Ask your question to the mailing list. If this is a
197    frequently asked question, or if your problem is on the contrary
198    very specific, it will probably be added to this document.
199   
200    You can also ask questions by IRC :
201   
202        /server irc.freenode.net
203        /join #pykota
204       
205Send any new questions to Jerome Alet - <alet@librelogiciel.com>
Note: See TracBrowser for help on using the browser.