Last update: Wed Oct 3 17:28:26 2007 ... Thu Aug 26 06:52:27 2021
How are our printers named?
Printers are named with the standard University of Utah building abbreviation and room number, as a single lowercase word. For example, the printer in room JWB 320 is named jwb320. A few older color printers get an obvious suffix: jwb239color is the color printer in room JWB 239.
Who can use our printers?
All of our printers reside on a private network that is not visible to individual end-user computers: printing is possible only through the print server. Thus, it is useless in workstation printer setup dialogs to try to scan the network to find printers and query their capabilities.
Printer access via wired connections is possible only after login with valid Mathematics Department credentials. All students, staff, and faculty in our Department have such access.
Printer access via wireless network connections is permitted only via the authenticated University of Utah Uconnect network. Printer access from guest wireless networks, including Eduroam and Uguest, is denied.
How do I find out what printers are available?
Use the lpstat utility on one of the Math systems (see Login access):
% lpstat -p ... printer jwb130 is idle. enabled since Jan 01 00:00 printer jwb203 is idle. enabled since Jan 01 00:00 printer jwb204 is idle. enabled since Jan 01 00:00 ...
How do I choose a default printer on Unix?
The recommended method is to use the lpoptions command, leaving the PRINTER and LPDEST environment variables unset. For all users, the default printer is the system one, which is mc155c. To set your default printer at any time, do something like this:
% lpoptions -dlcb102
When the default printer is changed in this fashion, all applications that use either the lp or lpr commands for printing will immediately be affected.
Less desirably, users can set the LPDEST or PRINTER variables in a terminal window (temporary) or in their shell startup files (e.g., $HOME/.cshrc or $HOME/.profile) (long-term), with a command like one of these:
setenv LPDEST lcb400 # csh and tcsh LPDEST=lcb400 ; export LPDEST # sh, bash, ksh, and zsh
Please note that setting environment variables affects only that shell session and its child processes. In particular, such settings will not be noticed by processes started from menu items until you logout and login again, and then only if your settings are in shell startup files, and the shell actually reads those files. [This is a complex issue that is discussed, for example, in Section 14.7 of the book Classic Shell Scripting. ]
How do I setup printing on Microsoft Windows?
This operating system family is completely unsupported at our site: if you use it, you must generally solve your own problems. Nevertheless, we offer some advice that may or may not be helpful.
On Windows XP, in the menu path
Control Panel ->
Add a Printer ->
Network Printer: http://print.math.utah.edu:631/printers/jwb229
Here, jwb229 should be changed to the name of the printer that you want. Then, when prompted for a printer type, select either a generic Postscript printer or the specific Postscript driver for the printer in question. We recommend sticking with generic Postscript, because the specific drivers sometimes do surprising things to the printer configuration, or use model-specific features that might cause problems on slightly different printers.
In the following, change the queue name from lcb126 to whatever name you require, and similarly for the manufacturer and model.
On Windows Vista, with your Administrator account, first turn on the Unix LPR (line printer) protocol option, via the menu path
Control Panel ->
Turn Windows Features On or Off ->
Print Services ->
LPR Port Monitor ->
That action only needs to be done once. It enables support for the lpr and lpr commands in a command window, and also for remote print servers running the LPR protocol.
Then, for each printer to be supported, create a
new printer interface with the menu path
Control Panel ->
Add a printer ->
Add a local printer ->
Create a new port ->
Type of port: LPR port ->
Add LPR compatible printer ->
Name or address of server providing lpd: print.math.utah.edu ->
Name of printer or print queue on that server: lcb126 ->
[If you are not running as the Administrator,
use the menu path
Run as Administrator ->
instead of selecting the Add Printer icon.]
You are then asked to identify the printer
manufacturer and model so that Windows
can select a suitable device driver. Then
Use the driver that is currently installed ->
Type a printer name: lcb126 (HP PageWide Color 556dn).
Putting the queue name first here ensures that you'll get a recognizable printer name, rather than a bunch of identical printer models, in the printer chooser panel the next time that you try to print from some application program. Complete the job with
You've successfully added HP PageWide Color 556dn ->
Canon, HP, and Xerox provide universal (also called global) PostScript device drivers that handle all of those vendors' own PostScript printers, as well as many models of their competitors. The new drivers should prove more convenient than having to track down a separate driver for each printer model that you use.
For Windows 10, this link has step by step instructions to add one of the Math Department's Canon copier/printers.
For Windows 10, Unix printer setup is a lengthy process:
To print via a wireless network, you must use an authenticated (username and password) network, and have a valid active departmental computing account.
How do I setup printing on Apple macOS?
Use the system control panel to select IP LPR/LPD printing, with the printer address set to print.math.utah.edu and the queue name set to the same name that you use in Unix.
More recent versions of macOS may require you to select the IP button, then choose
To print via a wireless network, you must use an authenticated (username and password) network, and have a valid active departmental computing account.
How do I setup printing on a personal GNU/Linux system?
Use the system control panel to select IP LPR/LPD printing, with the printer address set to print.math.utah.edu and the queue name set to the same name that you use on our Unix systems.
How do I print to a specific printer?
Use the lp or lpr commands with an option that names the printer queue:
% lpr -Pjwb320 myfile.ps % lp -d jwb320 myfile.ps
What kinds of files can I print?
All of our printers support ASCII text, PostScript, and PDF. However, the printing system software can convert several common page and image formats to a format suited to a particular printer, so usually, you can use the lp or lpr command with the filename that you want to print. With more complex document formats, such as from word processors or spread sheets, use the File -> Print menu path, and select printing to a named printer, or to a file.
How do I find out where my print job is?
Use the lpq (line-printer queue), optionally specifying a printer queue name:
% lpq -Pjwb320 jwb320 is ready and printing Rank Owner Job File(s) Total Size active jones 173389 Acro00098aafE 258048 bytes 1st brown 173390 Acro000_8aafE 183296 bytes 2nd smith 173418 (stdin) 18432 bytes
Alternatively, use the lpstat (line printer status) command with a specific queue name:
% lpstat -o jwb320 system default destination: lcb115 jwb320-173389 jones 258048 Sun Sep 25 14:57:03 2005 jwb320-173390 brown 183296 Sun Sep 25 14:57:22 2005 jwb320-173418 smith 18432 Sun Sep 25 17:42:15 2005
How do I get rid of an unwanted print job?
If your job is still in the printer queue display by the lpq or lpstat commands, use the cancel command:
% cancel jwb320-173390
You cannot remove jobs that do not belong to you.
Most modern printers are connected with high-speed network interfaces, so jobs are transferred very rapidly from the computer to the printer, and thus, disappear very quickly from the print queues. Your only recourse, then, is to go to the printer location, and as your job begins to print, use the control panel to cancel the job.
How much does printing cost?
We do not normally charge for printing, but printer accounting records are kept, and users with high-volume printing may be asked to help pay for the cost. The actual cost for paper, toner, and maintenance is printer dependent, but is typically less than $0.03/page, and printer amortization is several times less than that.
Color printing is still considerably more expensive, and sharply dependent on the printer technology.
Large high-volume printers generally have the lowest per-page cost, so it is advantageous both to you and to the department to choose the fastest printer that is conveniently available to you.
How do I find out what options a given printer supports?
Use the loptions command with a printer queue name option and the list option:
% lpoptions -plcb115 -l HPManualDuplex/Manually Print on 2nd Side: True *False Duplex/2-Sided Printing: None *DuplexNoTumble DuplexTumble HPOption_Duplexer/Duplex Unit: *True False ...
You can set one of these options at print time like this:
% lpr -Plcb115 -o Duplex=None myfile.ps # single-sided printing (e.g., for thesis)
How do I get stapled output?
Only our high-speed printers have staplers. The loptions command output can be filtered to find the option names, like this:
% lpoptions -pjwb228a -l | grep -i staple Staple/Staple: *None 1PRU 1PLU 1PRB 1PLB 2PL 2PR 2PU 2PB % lpoptions -pjwb229 -l | grep -i staple StapleType/Staple/Eco (Staple-Free): *StapleOff StapleON StapleFree StaplePos/Staple Position: *PosNone 1PRU 1PLU 1PRB 1PLB 2PL 2PR 2PU 2PB EcoStaplePos/Eco (Staple-Free) Position: *EcoPosNone Eco1PRU Eco1PLU Eco1PRB Eco1PLB
Here are two examples, the first of which can be used for up to 5 sheets of paper, and uses a crimp, rather than a metal staple:
% lpr -Plcb102 -o StapleType=StapleFree -o EcoStaplePos=Eco1PLU myfile.pdf % lpr -Plcb102 -o StapleType=StapleON -o StaplePos=1PLU myfile.pdf
How do I get multiple copies?
Use the copies option in the print command:
% lpr -#3 myfile.ps % lp -n 3 myfile.ps
However, that produces output with interleaved pages, which is probably not what you want. Get separate jobs like this:
% lp -n 3 -o Collate=True myfile.ps
Alternatively, if you want to be sure of separate output, just repeat the print command. With the csh and tcsh shells, this is easily done:
% repeat 3 lpr myfile.ps
How do I get n-up printing (multiple pages reduced to fit a single sheet)?
None of our printers currently supports that feature directly, but you can try any of these three utilities with PostScript files:
% psmultipage 2 2 myfile.ps > /tmp/4up.ps % psnup -p2 myfile.ps > /tmp/4up.ps % mpage -P- -2 myfile.ps > /tmp/4up.ps
With PDF files, you can select n-up printing from the Print control panel in Adobe Acrobat version 8 or later: select Page Scaling: Multiple pages per sheet and set a value for Pages per sheet. Alternatively, use this command:
% pdfnup --nup 2x2 myfile.pdf % output file is myfile-2x2.ps
Run that command with the option --help to learn about additional features.
Be warned that none of these utilities are universally successful, and that mpage unfortunately defaults to printing to your default printer unless you supply the -P- option to redirect output to a file. You should always first capture the output in a temporary file, and then view it with a PostScript viewer like gv or gs to make sure that the n-up printing is handled correctly, before sending it to a printer.
You can also ask the printing system to try to do this for you:
% lpr -o number-up=4 -plcb102 myfile.ps
As with the utilities listed above, success is not guaranteed.
Recent versions of acroread can do n-up printing. Follow the menu path Print -> Page Handling -> Page Scaling -> Multiple pages per sheet. You can then select the number of pages per sheet, and either portrait or landscape orientation. The sheet preview display gives you an idea of what the output looks like. Unfortunately, the output often has an excessive amount of whitespace around each page image, making the text smaller, and harder to read, than it should be.
With the evince viewer, follow the menu path Print -> Page Setup -> Pages per side, and choose a suitable value; a small page grid displays the page order for each sheet.
How do I print in color?
All of our printers support color, although printer setup options can force them into a cheaper black-and-white mode.
What happens if I print a color file on a black-and-white printer?
PostScript printers (which all of ours are) simulate color with shades of gray when color output is not possible. The results are usually reasonable, but if color is essential to understanding, such as in distinguishing various lines in a graph, the output may be less useful than you would like.
How do I print color separations?
It is sometimes necessary to separate a color page into four separate pages with the primary colors cyan, magenta, and yellow, plus black (an equal mixture of the other three). In principle, there is sufficient information in a PostScript file to make this possible: all that needs to be done is to redefine the setrgbcolor and sethlscolor operators to print only one of the desired colors at a time. The procedure is well-described in Chapter 12 of the book Real World PostScript (ISBN 0-201-06663-7).
How do I suppress the job-header page?
Use lpr -h file(s). The lp command does not support this feature. In general, printers in public areas produce job headers, usually on colored paper, to help identify and separate the output. Printers in private offices are configured to omit the job-header pages to save paper.
How do I print on letterhead paper?
Some local printers have an attached label that gives instructions for letterhead paper insertion. However, they vary in the required orientation, so you may have to experiment. Also, be aware that such printing in public areas is risky: someone else's job may reach the printer before yours. If you need this facility frequently, please ask the systems staff about finding a reliable solution.
How do I fix a printer jam?
Most modern printers are relatively easy to unjam, and have well-marked doors and trays that open easily. If you are uncomfortable doing this, please don't try: ask for help instead.
How do I report a persistent printer failure?
Please contact systems staff. The University of Utah is working on printer maintenance contracts, but they have not yet been finalized.
My file either hangs the printer, or never prints. Why?
PostScript is a complex programming language, and its offspring, PDF, while not a programming language, is even more complex. It does sometimes happen that a print job uncovers errors in the printer software, or more likely, is malformed. In other cases, especially with older printers, there may not be enough resources (usually, memory) to handle a complex job.
If you can view the entire PostScript file successfully with a PostScript/PDF viewer, or a PDF file with Adobe Acrobat Reader, acroread, then the file is likely to be correct. In that case, try a different, and preferably, newer printer. If the problem persists, try converting from PostScript to PDF with Adobe Acrobat Distiller, distill, or with ps2pdf or pstill. Then try printing the PDF file. PDF conversion simplifies the input PostScript, and sometimes eliminates printing problems.
With Adobe Acrobat Reader, you can lower the PostScript level in the File -> Print control panel. Version 5 lets you choose levels 1, 2, or 3, but version 7 only offers levels 2 or 3. The lowest level has the greatest chance of success.
Another possible reason for print failure is that PDF files can contain access controls. In Adobe Acrobat Reader 7 (acroread), follow the menu path Document -> Security -> Show Security Settings for this Document. With the older version 5, follow the menu path File -> Document Security. Some PDF files may allow viewing, but not printing (this may seem rather silly, but it happens). If you have such a file, your only recourse is to complain to the author of that file.
Sometimes PDF files containing complex fonts fail to print even when the above steps are taken. In such a case, it may be possible to use Adobe Acrobat version 8 or later to print the file as page bitmaps, instead of as PostScript. Follow the menu path File -> Print -> Advanced and select the button labeled Print as Image. That button appears to be available only on macOS and Windows versions of the product.
On recent GNU/Linux systems (alas, not our Red Hat ones), with kpdf, select File -> Print -> PDF Options and select the box Force rasterization. Then select the printer destination and press the Print button.
Another reason for print job failure, especially when printing from a Windows computer, is caused by the name of the print job not having a correct UTF-8 representation (according to RFC 2911 section 4.1.2). This is usually caused when the default language of the Windows computer is set to something other than English. One way to work around this issue is to rename (or copy) the document to a name that uses only Latin characters and print that document.
How can I clip out a page region for separate printing?
If the file to be printed is a PDF file (or can be converted to that format with, e.g., the convert utility), view it with Adobe Acrobat Reader 8 (or later) (acroread).
The saved file is in PostScript format; it can be converted to other formats with the convert utility.
How can I make a screen shot for printing?
Use the ksnapshot tool, which is available on GNU/Linux and Solaris systems. On the latter, the tool is in /opt/sfw/kde/bin/, a directory that should be in your PATH variable search list. ksnapshot can capture the entire screen, or a single window, or a rectangle region selected by dragging a rectangle with mouse button 1. You can save the color image in more than a dozen bitmap formats via the path Save As -> Filter, and also as PDF via the path Print -> Print to file (PDF).
How can I make computer program listings?
The a2ps and lptops tools can do this. The first of them knows about multiple programming languages, and by default, prints two pages per sheet to save paper. Here are some examples of its use:
% a2ps -C myfile.c | lpr -h # double-page sheets, with line numbers % a2ps -1 -C myfile.c | lpr -h # single-page sheets, with line numbers % a2ps -4 myprog.f | lpr -h # quad-page sheets, no line numbers
Their output is vendor-independent PostScript, so you can redirect it to a file instead of printing it.
The -h suppresses the normal job header page, because the output pages contain a user name. Both have options to control font name, font size, landscape or portrait printing, and many others; consult their manual pages, or try their --help options.
How can I find my printing history?
The print-services software maintains activity logs, and can summarize data from them. Here are some examples.
Show recently completed jobs on all printers by a specified user:
% lpstat -W completed -u jones mc155c-173347 jones 318464 Fri Mar 16 12:38:27 2012 mc155c-173348 jones 319488 Fri Mar 16 12:38:52 2012 jwb229-173354 jones 318464 Fri Mar 16 13:04:08 2012
Show recently completed jobs for all users on a specified printer:
% lpstat -W completed -o jwb229 jwb229-172922 jones 54272 Mon Mar 12 09:11:00 2012 jwb229-172948 smith 4463616 Mon Mar 12 11:51:13 2012 jwb229-172969 green 24576 Mon Mar 12 13:26:41 2012 jwb229-172993 white 14769152 Mon Mar 12 16:29:48 2012
Show queued, but not-yet-completed, jobs for a specified printer:
% lpstat -W not-completed -o jwb229 jwb229-173002 brown 32309 Mon Mar 12 17:31:49 2012 jwb229-173019 magee 123615 Mon Mar 12 17:47:13 2012
Show all recent jobs, both completed and not-yet-completed, for a specified printer:
% lpstat -W all -o jwb229 jwb229-172922 jones 54272 Mon Mar 12 09:11:00 2012 jwb229-172948 smith 4463616 Mon Mar 12 11:51:13 2012 jwb229-172969 green 24576 Mon Mar 12 13:26:41 2012 jwb229-172993 white 14769152 Mon Mar 12 16:29:48 2012 jwb229-173002 brown 32309 Mon Mar 12 17:31:49 2012 jwb229-173019 magee 123615 Mon Mar 12 17:47:13 2012
How do I print on colored (or other special) paper?
To print from the command line, first determine the printer-specific option that selects either a particular paper tray (loaded at print-release time with suitable colored paper), or a particular paper color:
% lpoptions -pjwb228a -l ... MediaColor/Paper Color: Unspecified PrinterDefaultColor *White \ Blue Yellow Green Pink Clear Ivory Gray Buff Goldenrod Red Orange \ Custom1 Custom2 Custom3 Custom4 Custom5 Custom6 Custom7 Other \ ... % loptions -plcb115 -l ... InputSlot/Media Source: Upper ManualFeed *Middle Lower LargeCapacity \ Tray5 Tray6 Tray7 Tray8 Tray9 Tray10 Envelope Plain Preprinted \ Letterhead Transparency Prepunched Labels Bond Recycled Color \ Cardstock Rough
Then issue a print command with a suitable option that selects a particular pair of initial-keyword and value:
% lpr -Pjwb228a -o MediaColor=Green myfile.ps % lpr -Plcb115 -o InputSlot=ManualFeed myfile.ps
The printer then holds the job until you have confirmed from its control panel that the required paper type has been loaded (it does not have to be the true paper color; what matters is that it is a nondefault color). Once the job has printed, remember to reset the paper color on the control panel back to the correct value (normally, white).
Most modern printer control panels ask for confirmation of paper color, orientation, and size after you pull out and reinsert a paper-supply drawer; there is no need to wade through control-panel menus.
Some PDF file viewers allow you to select paper color and/or tray. For example, with Adobe acroread version 8 or earlier, use the menu path File -> Print -> Properties -> Input Bin -> Tray 4. With acroread 9 or later, use File -> Print -> Properties -> Paper Color -> Green. With evince, use File -> Print -> Page Setup -> Advanced -> Paper Color -> Green. In each case, choose a suitable nondefault tray or color, and once your job has successfully printed, and the colored paper has been removed, reset the printer paper color or tray to its default.
The same techniques apply for use of special paper sizes, or paper weights: (a) arrange for the printer to hold your job, (b) supply the needed resources, complete printing, (c) remove your special paper, and (d) reset the printer to its defaults from just before your job.
How do I print single-sided (or double-sided)?
All of our public printers support duplex (two-sided) printing, and have that chosen by default to conserve paper. However, because the default can be changed on the printer control panel, or by a previous job, or because you may need to be sure of the selection, it is occasionally useful to control that feature on the command line:
% lpr -Plcb115 -o Duplex=None myfile.ps # single-sided printing (e.g., for thesis) % lpr -Plcb115 -o Duplex=DuplexTumble myfile.ps # double-sided printing
The option that selects simplex or duplex printing depends on the printer model. Those examples work on most of our printers, but see the lpoptions command description for how to find the option names and values for a particular printer.