root / pykota / trunk / FAQ @ 2045

Revision 2045, 7.6 kB (checked in by jalet, 19 years ago)

Moved the diagnostic information to the top of the file.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
1PyKota's FAQ :
3  # $Id$
5  * How can I diagnose the problem when something goes wrong ?
7    Put "LogLevel debug2" in cupsd.conf (usually in /etc/cups/).
8    Then put "logger: stderr", "debug: yes" and
9    "crashrecipient: youremailaddress" in /etc/pykota/pykota.conf.
10    Finally restart CUPS.
11    CUPS' error_log file will now contain many informations which
12    will help diagnose your problem. You will receive failure
13    notices by email, and you can send all this to us for
14    diagnostic.
16    For LPRng, better to put "logger: system" in pykota.conf so
17    that all debug messages for PyKota will go to syslog.
19  * Nothing prints when my printer is in PowerSave mode, what
20    can I do ?
21    This happens if you use hardware accounting with SNMP, because
22    some (all ?) printers don't say they are idle when they are
23    in PowerSave mode.
24    For now your best bet is to disable PowerSave mode in
25    your printer. In the future, PyKota will modified to
26    handle such problems.
28  * I've installed all correctly, I've created users
29    and printers, but when printing nothing works.
30    What is the problem ?
31    The most probable cause for this is that you didn't
32    adapt /etc/pykota/pykota.conf to your own configuration.
33    The file installed by default is just an example, you
34    have to modify it. See the rest of this document to
35    learn how to really diagnose what went wrong.
37  * I've downloaded PyKota from CVS using a Windows based CVS 
38    tool, and now nothing works at all. What happened ?
40    Some (all?) Windows based CVS tools translate *nix line endings
41    (character Line Feed, ASCII code 10) into Windows line endings
42    (character Carriage Return, ASCII code 13, followed with
43    character Line Feed). This breaks the software which has
44    to run under *nix compatible systems. Set correct options
45    in your CVS software so that it doesn't do any translation,
46    or use an Unix-like version of CVS, download again and
47    reinstall the software. It should work.
49  * Why doesn't CUPS under Debian Woody automatically
50    detects PyKota managed devices ?
52    The CUPS version in Debian Woody is 1.1.14 which is a bit
53    too old. To use PyKota with this version, just install
54    your printers as usual in CUPS web interface, and ensure
55    they work fine, then save your changes, and modify
56    /etc/cups/printers.conf manually as explained in
57    PyKota's toplevel README file. Finally restart CUPS,
58    and your printers should be managed by PyKota.
59    Another solution is to install a newer CUPS release.
61  * Is print accounting ever exact ?
63    No. Print accounting is **never** exact, because it depends
64    on external factors like the presence of paper in the printer,
65    the quantity of remaining ink in the print cartridge, paper
66    jams, etc... All these things are very difficult to account
67    for correctly, and no print accounting package deals with
68    these artefacts correctly in all situations.
69    We are however confident that PyKota is one of the more
70    exact print accounting software, because by default it
71    asks the printers for how many pages they have really printed.
73  * Can PyKota account for ink usage ? 
75    No. Actually PyKota doesn't account for ink usage, but this
76    may come in a future release. PyKota only accounts for pages
77    printed and/or money spent.  If ink accounting is a necessity
78    for you, PrintBill is recommended instead of PyKota. PrintBill
79    allows you to bill differently per color, and to bill depending
80    on the percent of the ink covered part of the pages.
82  * What is a 'dumb printer' ?
84    In PyKota, the term 'dumb printer' defines a printer which doesn't
85    natively understand PostScript, PCL5 (up to), PCLXL (aka PCL6), PDF
86    or ESC/P2 and doesn't have an internal page counter, and for which
87    you don't know how to compute a job's size in number of pages by
88    analyzing its content.
89    Any printer which is not a 'dumb printer' according to the above
90    definition is supported by PyKota.
92  * How can I make PyKota work with my non-postscript printer under
93    CUPS ? 
95    From version 1.16alpha7, PyKota includes a CUPS backend which
96    allows you to use any type of printer and any driver, provided
97    your printer is not a 'dumb printer' (see above).
99  * How can I use my 'dumb printer' with CUPS and PyKota. 
101    You have to use a software accounter directive, and
102    create a script which understands your printer's
103    Page Description Language.
105    PyKota natively understands DSC compliant PostScript,
106    PCL3, PCL4, PCL5, PCLXL (aka PCL6), PDF and ESC/P2. Support
107    for Binary PostScript is done through GhostScript. More PDLs
108    will be added in the future. 
109    However you can always plug your own PDL analyzer in PyKota.
111  * I've got a great number of users. How can I automatically
112    set an initial print quota for them on first print ?
114    You have to define an external policy for unknown users,
115    to automatically add them to the Print Quota database.
116    The sample configuration file contains examples to do this.
118  * What does the --prototype command line option to edpykota do ?
120    This option currently (v1.20) only copies the soft and hard
121    page limits from a template user to other users. This option
122    needs to be updated to new PyKota functionnalities, because it
123    currently lacks.
125  * How can I share print quota between some printers only (not all) ?   
127    To do this you have to put the printers into a printers group, and
128    set quota on the printer group, instead of (or in addition to)
129    the printers themselves.
131  * What is a printer group ?
133     A printer group is exactly like a normal printer, but is
134     unknown by the printing system. You can use printer groups
135     to share print quota between printers.
137  * How can I create a printer group ?   
139    Just use pkprinters, like for normal printers, then create
140    quota entries for users or users groups on it using the
141    edpykota command
143  * How can I put a printer into a printer group ?
145    Use the pkprinters command to do this.
147      $ pkprinters --help
149    Will print the complete help and tell you how to do.
151  * How quota checking and update is done with printer groups ?   
153    Print accounting and quota checking is done for a printer and
154    all the printers groups it belongs to, recursively.
155    If quota is reached on ANY of these printers for the current user,
156    printing is denied.
158  * Is this feature robust ?
160    It should be. However, beware of integrity problems. LDAP has no
161    sense of database integrity, and PostgreSQL constraints have not
162    yet been fully implemented. The code actually *tries* to forbid
163    circular printers groups, but if you create printer groups with
164    another tool (e.g. psql or gq), then you are mostly on you
165    own to not create infinite loops.
167  * How is computed the job's price ? 
169    A job's price is computed with this formula :
171      SUM((NbPages * PricePerPage) + PricePerJob)
173    For current printer and all the printers groups it is
174    a member of, if any, recursively.
175    This may be difficult to grasp, but offers unprecedented
176    flexibility.
178  * My question isn't answered there, can you help ? 
180    Sure. Ask your question to the mailing list. If this is a
181    frequently asked question, or if your problem is on the contrary
182    very specific, it will probably be added to this document.
184    You can also ask questions by IRC :
186        /server
187        /join #pykota
189Send any new questions to Jerome Alet - <>
Note: See TracBrowser for help on using the browser.