Personal tools
You are here: Home WiKi cupspykota

cupspykota

Document Actions
last edited 13 years ago by sml@uni.de

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:


comments:

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).

prepending cupspykota breaks printing --matthew.berta@uchsc.edu, Fri, 08 Aug 2008 23:36:32 +0200 reply
Whenever I prepend cupspykota:// or cupspykota: to my URI (i.e. cupspykota://hp:/net/HP_Color_LaserJet_4700?ip=140.226.xx.xx) I am unable to print. I receive an error about too many failed attempts when I try, and then the printer disappears from the printer setup utility. pkprinters --list will shows the printer as being routed through pykota, but this doesn't do me any good if I can't print. :(

logs --jerome, Thu, 21 Aug 2008 13:30:30 +0200 reply
Could you check http://otrs.librelogiciel.com/otrs/public.pl?ID=2 and send the relevant logs to me ? I don't know if this hp backend behaves differently than others or if the problem is elsewhere (I don't use this backend myself).

CUPS backend permissions on CentOS? 5 --sml@uni.de, Mon, 07 Feb 2011 17:48:21 +0100 reply
I've got the same problem as pgoetz. The system is CentOS? 5.6. What helped me was changing execute permission bits not on cupspykota, but on CUPS socket backend. My printers are connected to print server over 9100 socket. So, now I have /usr/lib/cups/backend/socket set to 700 mode and cupspykota symlinked from /usr/share/pykota and that works.


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: