From CSLabsWiki
Revision as of 10:32, 31 January 2014 by Hurdam (talk | contribs)
Contact Person: Peter Vaillancourt & Jake Woods
Last Update: unknown
VM Host (Physical): Xen2
Host VM: Print
Services: Print

Operating system: Ubuntu Hardy (8.04) x64
LDAP Support: No
Development Status: Stable
Status: Running


The print vm is a web-based printing interface that offers accounts to COSI members. Users can register accounts using their Clarkson usernames and print to the CSLabs Printer using the web interface. This service supports only Open Source file types, promoting the Guiding Principles of COSI. 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>>

Reset Balance for beginning of the Semester:

$ pkusers -b 200 -C "Reset for Semester"

Pull balance information:

$ pkusers -L

Delete user (do not use unless absolutely necessary):

$ pkusers --delete -- <<USERNAME>>


A new print server is currently being developed to improve upon the current server. For more information see Print Development.