logo       

Re: problem with page accounting: msg#00295

printing.cups.general

Subject: Re: problem with page accounting

On Fri, Sep 26, 2003 at 01:14:32PM -0600, Mark J. Bradakis wrote:
>
> We've been using pykota for a while, it works moderately well
> for the most part. Since it is run as a filter before the job
> is actually printed, it queries the printer for the page count
> and calculates the usage for the previous job, so it is one step
> behind if you want to look at it that way. Normally not an issue,
> but if you have someone print a job from a client that doesn't go
> through the postcript filter, that job is never looked at by pykota,
> so the next job that does use pykota can get an erroneous count.

This is correct.

Of course you have to ensure that the printer can't be accessed
directly. You can telnet to it and put an IP address/mask on it to
allow only the CUPS server to print. Also you have to disallow
people to use their own driver, if they don't have administrator's
rights this is probably easier. This way CUPS shouldn't be bypassed.

> It would be nice if the pykota process for each job could be kept around
> to get a page count before and after the job, but doing that would require
> modification of cups itself. I have been thinking of working up a
> seperate backend process that might be able to do this, but haven't
> actually given it much thought yet. RealSoonNow.

Please do ! That would be great.

> And another nice thing to have would be a lightweight, stand alone
> program that could be put on various clients so that users could check
> their quotas. As it is, it appears that one would need to install a
> complete suite of the proper database tools for a command line client
> program that communicates with the server.

This would require us to have a PyKota daemon always running, and
would involve network programming, which is often prone to errors.

If prefer to keep the code simple as it is.

As an alternative, if your students can login to your CUPS
server, they can easily do :

$ ssh yourcups.server.com repykota

Also I think it should be possible, with some scripting, to put
repykota in waiting state for telnet connections (behind inetd),
that's something I'll experiment one day. This way each user
could know his print quota by telneting to the CUPS/PyKota server.
The script would then print the quota report for this particular
user, then close the connection.

But a better "solution" for you is to use the printquota.cgi CGI
script. By default it shows the complete print quota report (the
same as when launching 'repykota' as root). However you can protect
it with a .htaccess file so that each user would see only his own
print quota report (you'd have to create a file which contains
usernames and passwords, see the htpasswd command).

Of course then you need Apache on your CUPS server, or install
PyKota on your Apache server.

And people can see their quota from anywhere using a web
browser.

hoping this helps

bye,

Jerome Alet

--
"A non-free program is a predatory social system that keeps people
in a state of domination and division, and uses the spoils to
dominate more." - RMS


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise