cupspykota
To do accounting and quota checking, PyKota needs to capture each print job as it passes through the printing system. This is done through the cupspykota backend wrapper for CUPS.
cupspykota has to be installed into CUPS' backends directory, usually something like /usr/lib/cups/backend/ , and then CUPS has to be restarted for cupspykota to be automatically detected (autodetection requires CUPS v1.1.15 or higher, but PyKota also works with CUPS v1.1.14)
Once cupspykota has been detected, CUPS' web management interface allows you to add PyKota managed print queues. the DeviceURI for these print queues begins with cupspykota:// or only cupspykota: (both work), and then you can put any normal DeviceURI after this prefix. For example cupspykota://socket://myprinter.example.com:9100 is the DeviceURI for a PyKota managed print queue and the cupspykota backend wrapper will capture all print jobs enroute to the myprinter.example.com printer.
Once a job arrives, cupspykota will parse it to precompute the number of pages in it, and extract some informations from its environment and command line arguments (e.g. user's name, printer's name, etc...). Then,
the user print quota informations will be extracted from the database. If the user has not reached his quota or spent all of his credits, the job will be printed, and the user's print account updated. Otherwise, the job will be rejected.
This is just a very short summary of what really happens. In reality cupspykota is a complex piece of software and is very versatile. You can control most of what it does through directives put into the ~pykota/pykota.conf and ~pykota/pykotadmin.conf configuration files for PyKota.
| subtopics: |
Ubuntu's cups requires a hard link --pgoetz@math.utexas.edu, Wed, 14 May 2008 20:38:38 +0200 reply
http://packages.debian.org/changelogs/pool/main/c/cupsys/cupsys_1.2.7-4/changelog#versionversion1.2.4-2 describes a change that requires you to use hard links in the /usr/lib/cups/backend directory.
Symlinks cause cups to crash and report permission denied in the logs when you enable cupspykota.
Ubuntu's cups requires a hard link --jerome, Tue, 17 Jun 2008 13:42:26 +0200 reply
Isn't it because you didn't change the permissions on /usr/share/pykota/cupspykota before creating the link (this is probably not as clear as it could in PyKota's documentation).
