From CSLabsWiki
Revision as of 22:37, 30 October 2013 by Vaillap (talk | contribs) (added development section)
Operating system: Ubuntu Hardy (8.04) x64
LDAP Support: No
Development Status: Stable
Status: Running


The print vm is a web-based printing interface. Users can register accounts using their Clarkson usernames and print to the CSLabs Printer using the web interface. See Printing for more information on this process.

Technical Information

The machine uses cups (specifically the lp command) to interface with the printer, PyKota to handle quotas, and an Apache/PHP/MySQL stack to handle the web interface. The source code for the web interface is available through the svn server (print-server repository). As the files contain passwords, anonymous access is disallowed, but you can request access by emailing <email></email>.

Set up process

To interface with the printer, cupsys and cupsys-client were installed. The packages python-mysqldb, python-egenix-mxdatetime, python-pysnmp4, pkpgcounter, python-reportlab, and subversion were installed as dependencies for PyKota. PyKota 0.07 was installed from source following the instructions on [1] and in the README. Finally, apache2, php5, libapache2-mod-php5, mysql-server, mysql-client, and php5-mysql were installed for the web services. The configuration files have been omitted because the primary changes from the defaults were to set passwords.

Manual Maintenance

Creating a user:

$ pkusers --add --limitby balance --balance 100 <<USERNAME>>
$ edpykota --add --printer CSLabsPrinter <<USERNAME>>
$ mysql pykota
mysql> UPDATE users SET password=<<MD5ed PASSWORD>> WHERE username=<<USERNAME>>

Increasing the balance for a user (Omit the <<USERNAME>> field to make changes to all users):

$ pkusers --balance +<<NUM PAGES>> --comment "<<REASON FOR INCREASE>>" <<USERNAME>>

Pull balance information:

$ pkusers -L


A new print server is currently being developed to improve upon the current server. For more information, contact Peter Vaillancourt.