Technical Note - Printing from ECS systems
Summary
This Tech Note lists the printers that ECS operates, how to use the
lpr command and how students can access free printing.
Details
Our printers

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.

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.
Paid printing
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.

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.