FNPRT - Fermilab Unix Print Service
FNPRT Users - Help for users with standard user access
Client Applications - Howto configure client applications to use FNPRT.
FNPRT Background - Brief history of the FNPRT service.
FAQ - FNPRT frequently asked questions.
FNPRT Administrators - Help for users with FNPRT administrator access.
The FNPRT CUPS server runs two different printing protocols:
IPP: CUPS provides libraries to implement the IPP protocol. Many applications like Thunderbird, Firefox, and OpenOffice make use of CUPS software to provide printing. You can find a list of all available printers, associated PPD files, as well as /etc/cupd/printers.conf examples required by cups at the following URL: https://fnprt.fnal.gov:631/LPD: The command line tools Fermi Line Printing Remote (flpr) and Line Printer Remote (lpr) are two applications that can be used for printing to FNPRT via the LPD protocol. If you are printing using either of these tools you can find an example printcap file or beginnings of a flprrc file here: https://fnprt.fnal.gov:631/
We can adjust the lines per inch (lpi) and characters per inch (cpi) to influence how text is interpeted by the printer. Click Here for Common Job Options that can be used to influence printing.
Print Larger Text Characters:
lpr -H fnprt -P fcc2w_hp5si -o lpi=4 -o cpi=6 /tmp/mytextfile.txt
Print Smaller Text Characters:
lpr -H fnprt -P fcc2w_hp5si -o lpi=8 -o cpi=12 /tmp/mytextfile.txt
Setting Default Printing Options:
~/.cups/lpoptions - user defaults and instances created by non-root users.
/etc/cups/lpoptions - system-wide defaults and instances created by the root user.
Set the default printer to fcc2w_hp5si and associated cpi, lpi
$ lpoptions -d fcc2w_hp5si -o cpi=12 -o lpi=8
$ cat ~/.cups/lpoptions
Default fcc2w_hp5si cpi=12 lpi=8
This example assumes you work on wh9w and want to print to the following
You may use any version CUPS software. Make sure CUPS is installed on your local machine.
$ rpm -qa | grep -i cups cups-libs-1.X.X-XX.elX_X.X.i38X libgnomecups-0.X.X-X.i386 hal-cups-utils-0.X.X-X.X.elX.i38X cups-1.X.X-XX.elX_X.X.i38X
Step 1) Find the name of your printers in the List of All Cups Printers
Step 2) Populate /etc/cups/printers.conf with every printer to be used.
$ cat /etc/cups/printers.conf # PPD file: https://fnprt.fnal.gov:631/ppd/wh9w_hp4700.ppd <Printer wh9w_hp4700> Info wh9w_hp4700 Location https://fnprt.fnal.gov:631/printers/wh9w_hp4700 DeviceURI ipp://fnprt.fnal.gov:631/printers/wh9w_hp4700 </Printer> # PPD file: https://fnprt.fnal.gov:631/ppd/wh9w_hp4700_d.ppd <Printer wh9w_hp4700_d> Info wh9w_hp4700_d Location https://fnprt.fnal.gov:631/printers/wh9w_hp4700_d DeviceURI ipp://fnprt.fnal.gov:631/printers/wh9w_hp4700_d </Printer> # PPD file: https://fnprt.fnal.gov:631/ppd/wh9sw_hp8150.ppd <Printer wh9sw_hp8150> Info wh9sw_hp8150 Location https://fnprt.fnal.gov:631/printers/wh9sw_hp8150 DeviceURI ipp://fnprt.fnal.gov:631/printers/wh9sw_hp8150 </Printer> # PPD file: https://fnprt.fnal.gov:631/ppd/wh9sw_hp8150_d.ppd <Printer wh9sw_hp8150_d> Info wh9sw_hp8150_d Location https://fnprt.fnal.gov:631/printers/wh9sw_hp8150_d DeviceURI ipp://fnprt.fnal.gov:631/printers/wh9sw_hp8150_d </Printer>
Step 3) Download the corresponding ppd file to /etc/cups/ppd on your local system.
$ wget --no-check-certificate https://fnprt.fnal.gov:631/ppd/wh9w_hp4700.ppd -O /etc/cups/ppd/wh9w_hp4700.ppd $ wget --no-check-certificate https://fnprt.fnal.gov:631/ppd/wh9w_hp4700_d.ppd -O /etc/cups/ppd/wh9w_hp4700_d.ppd $ wget --no-check-certificate https://fnprt.fnal.gov:631/ppd/wh9sw_hp8150.ppd -O /etc/cups/ppd/wh9sw_hp8150.ppd $ wget --no-check-certificate https://fnprt.fnal.gov:631/ppd/wh9sw_hp8150_d.ppd -O /etc/cups/ppd/wh9sw_hp8150_d.ppd
Step 4) Restart local cups daemon with /etc/init.d/cups restart
Step 5) You should now be able to print from any CUPS aware application.
The printing service known as FNPRT has been in service since early 1992 and has moved from OpenVMS (VAX 4000 m90) to Solaris (SUN E250) to its current home on Linux (VMWare virtual hardware).
The FNPRT projects used to run ESP Print Pro CUPS produced by Easy Software products. As of this writing CUPS is owned by Apple Inc and we continue to use the CUPS application to provide printing services.
CUPS is based on an international printing standard called the Internet Printing Protocol, or "IPP." IPP provides the framework for modern printing and is used by Microsoft®, Hewlett-Packard®, Xerox®, and many other server and printer manufacturers.
Historical data for fnprts jobs and pages can be fount at the following URL:
The FNPRT service is supported by the Fermilab Service Desk and the Unix Server Services team.
A: https://fnprt.fnal.gov:631 Q: I submit my job with the correct print queue, yet it says that I have the wrong print queue.
A: Ensure the print queue is in lower case. All print queues are in lower case. For a list of valid print queue names you can search Cups Printers Page or search the Printcap file. Q: Where can I find a printcap file with all the available printers?
A: Printcap Text
The URL for the printcap.txt file is http://fnprt.fnal.gov:631/printcap.txt
Here are a few possible ways to get the printcap.txt file to your local computer:
A: Search for the printer on the Printers Page and click on the printer or queue name. If the job appears to be stuck contact the Service Desk for assistance. Q:Username And Password? I click cancel on my own job but I get prompted for a username and password? Which username/password should I use?
A: For security reasons you can not start/stop/cancel print jobs. Please contact the Service Desk for assistance. Q:Are there statistics on how many jobs are printed?
A: Statistics may be found at: http://computing.fnal.gov/printing/stats/daily-stats.html Q:Why doesn't my job print?
A: Print queue names are case sensitive. A printer or queue with the name PRINTER1 is different than printer1. For a list of valid print queue names you can search Cups Printers Page or search the Printcap file. Q:FTP is not installed on the new print server, so how do I obtain the listing of queues like I did before?
A: The URL for the flpr-defaults.txt file is http://fnprt.fnal.gov:631/flpr-defaults.txt
Here are a few possible ways to get the flpr-defaults.txt file to your local computer:
A: Yes, printers will be removed for the following reasons:
If there is a printer in an offline state or a print job is stuck in the queue, you will need to contact the Service Desk to restore functionality.
Above we can see there is one job processing. We are also presented with the option to Reprint, Cancel, or Move the print job.
To determine the status of a printer's current queue go to https://fnprt.fnal.gov:631/ and click on Printers in the upper right hand side of the page. Enter the Name or Location of the printer you would like to search for in the Search in Printers space.
Above we searched for fcc2 and we can see the results returned have "fcc" in their names. IF we click on the name of the printer we will be taken to a page where we can see the specific jobs that are active on the printer.
Above we can see there is a job processing or spooling. We are prompted with the options to Reprint, Cancel, or Move the print job.
As the operator of the print queue you can take the following actions on a printer.
If you have a brand new printer you would like to add to FNPRT you will need to fill out a Service Desk request. This guide is intended for print server administrators.
Before we can get started setting up our printer we need to know a few things about it. Here is a list of things we need to know before adding a new printer. Please note that all printers setup on the central print server must have a default setting of duplex if the printer has that capability. This is part of the laboratories Green Initiatives.
We will use the information we have collected to come up with a good DNS name for the printer. The name will communicate the Location, Manufacturer and Model, as well as other capabilities.DNS Name: Location_Manufacturer&Model_Duplex ie. wh11nw_hp8150_duplex
Before we decide on a name we should check and see if this printer already has a name we can re-use on the central windows print server. If you are installing a queue with special capability you will need to create a new DNS name.
**Printers not responding to ICMP pings may be removed from FNPRT after 14 days**
Now that we have collected all the needed information we can add our new printer to the FNPRT server. Provide your Services password if prompted.
Now we can use the information we collected in the previous steps to give an informative Name, Location and Description.
As of this writing the CUPS maintainers suggest using the AppSocket Protocol whenever possible for reliability and consistency of implementation.
**If you are adding a printer that does not support the AppSocket protocol try using LPD/LPR as the next best alternative.**
One way to see if a printer supports the AppSocket Protocol is to telnet to port 9100 and see if there is an application listening.
$ telnet wh5w_hp123_double.fnal.gov 9100 Trying 126.96.36.199... Connected to pcdf32.fnal.gov (188.8.131.52). Escape character is '^]'.
Above we could tell there is an application listening on 9100 so we will use the AppSocket Device URI show below.
Device URI: socket://wh11nw_hp8150_double.fnal.gov:9100
**If you are forced to use the LRP/LPD protocol to connect to your printer try a Device URI of lpd://wh11nw_hp8150_double.fnal.gov/ps. LPR/LPD communicates over TCP port 515.**
We have pre-loaded many ppd files from the Gutenprint project (RHEL5 still refers to this as the gimp-print project). Check to see if a ppd file for your Make and Model is already available in cups interface shown below. If you are unable to find your *EXACT* make and model sometimes you can choose a PPD file in the same series. Ie. a HP4000 PPD file may work for a HP4100 and HP4200. Some experimentation may be required. If nothing works you may need to provide the PPD file manually. Search the manufacturer's website for the specific PPD file for your printer. If printer documentation is Windows-centric you can sometimes find the ppd file in the windows drivers. You may also want to experiment with different PPD files if you know you are dealing with a duplex capable printer yet you are not able to print dual sided.
** If you would like a ppd file to show up in above list place it in /usr/share/cups/model/en_GB/ **
** Display printer options on via cli: $ lpoptions -h fnprt -p fcc1w_hp8100 -l | grep -i duplex **
If you would like to remove a printer that is no longer in use please fill out a Service Desk request. This guide is intended for print server administrators.
We are read to remove a printer and we believe it is not being used anymore. Here are some things to check to be sure:
If you would like to add a new printer Operator or Administrator user please make a request in the Service Desk. This guide is intended for print server administrators.
1) Click on the Administration tab and then click on Edit Configuration File
2) Use the scroll bar to locate "All Print Operators and Service Desk..." Enter the services username for the person you would like to grant operator access under the "Add Servicedesk Users Here" section.
3) Finally click the Save Changes button at the bottom of the page. You have successfully created an operator user.
1) Click on the Administration tab and then click on Edit Configuration File
2) Use the scroll bar to locate "All Print Operators and Service Desk..." Enter the services username for the person you would like to grant administrator access under the "Add CUPS admins here".
3) Use the scroll bar to locate "Admins can take these actions" Enter the services username for the person you would like to grant administrator access under the "Add CUPS admins here" section.
4) There is another section where we must specifically grant admin users access. Search for "Limit the following actions to specific users. Add the services username to every line where you see a Location declaration."
5) Click the Save Changes button at the bottom of the page. You have successfully created an administrator user.
For assistance contact the Service Desk
Written for Fermilab by Nick Bausch
Last Modified on 2010.09.22