Technical Note - Printing from ECS systems


This Tech Note lists the printers that ECS operates, how to use the lpr command and how students can access free printing.


Our printers

Printer Name Location 2-up queue HELP Colour printing Accessible by undergraduates
am-level2-copier AM 224 Yes Yes No
am-level4-copier AM 456 Yes Yes No
co145 Cotton 145 Yes No Yes, but only during lab access times
co219 Cotton 219 Yes No Yes
scribble Cotton 232 Yes No Yes
co238 Cotton 238 Yes No Yes
co239 Cotton 239 Yes No Yes
co242 Cotton 242 Yes No Yes
co243 Cotton 243 Yes No Yes
co246 Cotton 246 Yes No Yes
co249 Cotton 249 Yes No Yes
co256-copier Cotton 256 No, select 2-up in output options Yes No
level3ps Outside Cotton 333 Yes No Yes
bw-copier Cotton 359 (School Office Utility Room) No, select 2-up in output options No No
colour-copier Cotton 359 (School Office Utility Room) No, select 2-up in output options Yes No
level4ps Cotton 437 Yes No No
level5-copier Cotton 540 No, select 2-up in output options Yes No

HELP The 2-up queue column signifies whether the printer has a queue that will automatically convert to a 2-up printing mode, allowing students to print for free. To access 2-up printer queues, simply append -2up to the printer name. For example, to print 2-up to co237 , you use the co237-2up print queue.

If you are printing from the UNIX command line via the lpr command you can select any of these printers using the -P switch or by setting the PRINTER environment variable. If you are using a GUI, the printer can generally be selected via a drop-down selection box. However, in most cases the default printer will be the one closest to the lab or office you are in, so you should not need to change this.

ALERT! A notable exception is when printing from one of our Windows terminal servers ("ward" or "somes"). In these cases the default printer will not necessarily be the closest to where you are sitting and so you should ensure you select an appropriate printer from the list given. Printers are all named based on their location, so it should not be too difficult to do this.

Student printing

Students using ECS systems are entitled to unlimited free laser printing as long as there are at least two pages printed per side of paper. This is usually referred to as "N-up" printing, where N is usually 2, but on ECS systems can also be 4, 6, 9 or 16.

The easiest way to print in 2-up format is to select a printer whose name ends with -2up.

For various reasons, not all of our printers have "-2up" queues, so you may need to explicitly select "N-up" printing in some situations. See the description of the "number-up" option below for how to do this when using the lpr command. If using the graphical interface to our CUPS print spooling system provided by most KDE applications, 2-up or 4-up printing can be selected by choosing the appropriate option in the panel labeled "Pages per sheet" (obtained by clicking on the "Properties" button). Other graphical interfaces to the CUPS spooler may have a similar facility.

All printing of 1-up pages (ie. one page per side) is paid for by your ECS print quota (note: this is not related to any SCS print quota you may have). To print 1-up pages your print quota must be in credit. You can check your print quota with our web interface. Certain categories of students have an initial print quota credited to them for free. The policy for these credits is listed in the Printing Allocations technical note.

HELP For the methods of printing "N-up" described above, the conversion to "N-up" is done by our CUPS spooling system. Sometimes the conversion to "N-up" can be done by your application prior to sending data to the spooler but in those cases the printing will only be free if it is to a printer whose name ends with "-2up". This is because the spooler has no way to tell that a print job has already been converted to "N-up". In this context conversion to 2-up when printing from a Microsoft Windows system (by setting the Windows printer dialog "Pages per sheet" option to two or more pages) will not be done by our spooler. Another example of conversion by an application rather than our spooler is printing a document that has been converted to 2-up by the psnup command.

If you are not sure whether a method of printing will be charged for, you should ask an ECS programmer. This is not so important for students without a print quota since any attempt to print in a way that would be charged for will simply result in their print request being rejected. However, a student with print quota may unintentionally use up their allocation even though they think they are printing in "N-up" format.

Printing using lpr

The lpr manual page does not document how to access various special features available on our printers. This section attempts to fill that gap.

Printing options

Some optional capabilities of our printing system are supported directly by the print spooler and so are generally available on all printers. Others are handled by lower level printer drivers and thus tend to be printer specific. All can be accessed with the -o option of the lpr command.

A full list of the options supported directly by the spooler is available from the CUPS web site.

A list of the printer specific options for a particular printer can be obtained using the lpoptions shell command. The format of this command is:

lpoptions -p printer-name -l

(Note the lowercase -p option in this command and that the -p printer-name must precede the -l option). An extract of the output produced by the above command for a typical printer on the ECS network is as follows:

PageSize/Media Size: Letter Executive Legal *A4 A5 Custom
Duplex/2-Sided Printing: None *DuplexNoTumble DuplexTumble
MediaType/Media Type: None *Plain Preprinted Letterhead Transparency
InputSlot/Media Source: Tray_1 Tray_2 Tray3_500 Tray3_1500 EnvelopeFeeder

Each line contains a short and a long form of the option name separated by "/". These are followed by a ":" and then a list of space separated values that this option can take. If one of the option values is preceeded by a "*" that value is the default one.

Any of these printer specific options can be used as a "-o" option to the lpr command by following the short form of the option name with "=" and then one of the option values. There should be no spaces surrounding the "=". So from the above example a valid lpr command would be:

lpr -o MediaType=Letterhead filename

Complete documentation on all of the generic or printer specific options will not be given in this technical note. Rather the options required to perform a few common tasks will be described.

Specifying whether to print on one or both sides of the paper

-o sides=one-sided
-o sides=two-sided-short-edge
-o sides=two-sided-long-edge

Specifies whether or not a document should be printed on both sides of a sheet of paper and if so how the two sides will be oriented with respect to each other for binding/stapling purposes. The "short-edge" option would typically be used for documents that are printed in landscape format since they would generally be bound along the short edge of the page. Note that although sides= is a generic option supported directly by the spooler it is only useful when printing to a printer that supports printing on both sides of the paper. Note also that the same effect may be available using a printer specific option. So, given the printer specific options above, the following two commands are identical.
lpr -o sides=one-sided filename 
lpr -o Duplex=None filename

Likewise these.

lpr -o sides=two-sided-short-edge filename 
lpr -o Duplex=DuplexTumble filename

Printing multiple pages of a document on each side of paper

-o number-up=N
Specifies that N pages of the document should be printed on each side of a sheet of paper. This is often referred to as "N-up" printing where N is most commonly 2, but on ECS systems it can be 1, 4, 6, 9 or 16. If you are specifying a number-up=X option that requires the page be orientated in landscape format (ie: 2-up) and you are also printing on both sides of the paper you can optionally also specify short-edge binding, which some people find produces an easier to read document. This command is:

lpr -o sides=two-sided-short-edge -o number-up=2 filename

Selecting the manual feed tray

Most printers have a printer specific option to select which tray paper should be taken from. Often this will be called "InputSlot", but the lpoptions command described above will tell you if this is the case for the printer you are using. Also, the available values that you can specify will vary from printer to printer. For our HP4515 and 4350 printers the following option will do what you want:
-o InputSlot=Tray1

For our multifunction photocopier/printers you can use:
-o ManualFeed=True

Printer Instances

The lpr command provides a shorthand mechanism called "printer instances" which can be used to predefine commonly used sets of options. So for example, if you typed the shell command

lpoptions -p press/2up -o number-up=2 -o sides=two-sided-short-edge

whenever you use lpr to print to the printer instance press/2up the number-up and sides options specified will automatically be used. This saves you from having to remember (and type) the long command line that would otherwise be required.

Paper Orientation

Some media types (eg, letterhead, transparencies) have to be oriented in the paper tray or manual feed slot a certain way for printing to work correctly.

For single-sided printing on our Hewlett-Packard laser printers, this is face-up with the top edge of the media furthest from you.

Unfortunately, a "feature" of the way the Hewlett-Packard duplexing unit works is that duplexed pages are printed with the first side on the lower face of the paper. Thus, for example to print double-sided on letterhead the paper should be inserted face down rather than faceup. This applies both when manually feeding the media or loading it into a paper tray. It also applies even if the print job only consists of a single side, since unless single sided printing is explicitly selected ("-o sides=one-sided") all jobs go through the printer's duplexing unit.

Viewing Printer Queue Status and Cancelling Jobs

Going to our CUPS server web page will allow you to see the contents of one or all of our printer queues. It will also allow you to remove your own jobs from a queue if you decide you didn't want to print a particular file after all.

If you prefer shell commands to GUI's the same functionality is also available via the UNIX lpq and lprm commands.