Linux Printing at Binghamton University - a Primer

[ start here ]     [ by connection ]     [ by location ]     [ printers.conf (PODS) ]     [ PPD files ]

This can not cover all the problems that one may experience while configuring a linux computer to print. However it should provide enough information to set up printing for most configurations. This will be oriented towards Ubuntu's distribution as this is the distro used for campus machines.

Linux is not for the faint of heart and, frankly, if you choose to run a linux computer you should be willing to search and research and figure out as much out as you can on your own. Using linux is a learning experience, not just a superior O/S that allows you to control your computer, not a company in Redmond, Washington!   ...   that said   ...   I strongly suggest that you read this in its entirety (OK, skim over it.) as there are three avenues to a working printer. By connection, location and only after finding a PPD file that is specific for the printer you want to use.
 
This will examine the basics using CUPS [ Common Unix Printing System ] to print to various printers on campus and to the Pharos system in PODS. It will also be useful to understand the way printing is managed at BU as it is not a free service.

Please check that CUPS is installed on your computer using this command:
/usr/bin/dpkg -l |grep -i cups
A listing similar to the following should be returned:

ii cups 1.4.4-6ubuntu2 Common UNIX Printing System(tm) - server
ii cups-bsd 1.4.4-6ubuntu2 Common UNIX Printing System(tm) - BSD commands
ii cups-client 1.4.4-6ubuntu2 Common UNIX Printing System(tm) - client programs (SysV)
ii cups-common 1.4.4-6ubuntu2 Common UNIX Printing System(tm) - common files
ii cups-driver-gutenprint 5.2.6-0ubuntu8 printer drivers for CUPS
ii cups-ppdc 1.4.4-6ubuntu2 Common UNIX Printing System(tm) - PPD manipulation utilities
ii cupsddk 1.4.4-6ubuntu2 Common UNIX Printing System (transitional package)
ii ghostscript-cups 8.71.dfsg.2-0ubuntu7 The GPL Ghostscript PostScript/PDF interpreter - CUPS filters
ii hal-cups-utils 1.2.3+20100723-0ubuntu8 CUPS integration with HAL
ii hplip-cups 3.10.6-1ubuntu10 HP Linux Printing and Imaging - CUPS Raster driver (hpcups)
ii libcups2 1.4.4-6ubuntu2 Common UNIX Printing System(tm) - Core library
ii libcupscgi1 1.4.4-6ubuntu2 Common UNIX Printing System(tm) - CGI library
ii libcupsdriver1 1.4.4-6ubuntu2 Common UNIX Printing System(tm) - Driver library
ii libcupsimage2 1.4.4-6ubuntu2 Common UNIX Printing System(tm) - Raster image library
ii libcupsmime1 1.4.4-6ubuntu2 Common UNIX Printing System(tm) - MIME library
ii libcupsppdc1 1.4.4-6ubuntu2 Common UNIX Printing System(tm) - PPD manipulation library
ii libgnomecups1.0-1 0.2.3-3build2 GNOME library for CUPS interaction
 

If CUPS is not installed do that next. Most distros have a simple package install system; debian,ubuntu: apt-get, redhat: yum, mandrake: things, slackware: pkgtool, many others listed here, or if need be from source.
 
For debian and ubuntu apt-get install cups will install cups and all its dependencies.  
Be sure you computer is connected to the network via a wireless or an ethernet cable. As we may search for printers attached to the network subnet you are using.
 
It will also be much easier if you are logged in as root. If you choose to do this as a user, most if not all, commands will need to be sudo'd to work. I will not cover the use of sudo here

[ start here ]     [ by connection ]     [ by location ]     [ printers.conf (PODS) ]     [ PPD files ]

  Start Here to Configure for a Printer

  1. From the file bar select System.
    Menu Selection: System > Administration > Printing
     
  2. Then select Administration.
    Menu Selection: System > Administration > Printing
     
  3. Finally Printing.
    Menu Selection: System > Administration > Printing
     
  4. The printing dialogue box will now appear
    Printing dialogue Box
     
  5. Click the +Add button.
    Add Printer button in Printing dialogue Box
     
  6. This will bring up the New Printer dialogue box
    New Printer dialogue Box
    Click on Network Printer
     
  7. This dialogue box can be made larger by grabbing a corner and pulling it down and out. It will make the selections easier to read
    New Printer dialogue Box
    A list of printers on the subnet you are on will appear.
     
  8. Select the printer you want to add and use.
    Select New Printer to Add
     

At this point given your printer choice and how it is described in screen click the appropriate choice below.

Find the Printer by Connection or Location

 
  C O N N E C T I O N

  1. Make the connection for the printer you want to add and use.
    Select New Printer to Add
    You may need to do some searches to decide which driver to select.
    A good search string to google or scroogle is <printer make> <printer model> driver for example HP LaserJet 1200 driver
     
  2. Describe the printer.
    Describe New Printer to Add

     
    These are optional fields so usually you can click the Apply Button Apply button and move to the next screen.
     
  3. The following dialogue box will appear
    Printer to use Selection dialogue Box
    with a Print Test Page? dialogue box over it Print the Test page.
     
  4. When the Page
    Select New Printer to Add appears
    Click the OK Button button and the previous dialogue box will appear
    Printer to use Selection dialogue Box
    This printer can now be used.
     

  L O C A T I O N

  1. This dialogue box can be made larger by grabbing a corner and pulling it down and out. It will make the selections easier to read
    A list of printers on the subnet you are on will appear.
    Find Nework Printer dialogue Box
     
  2. Select the printer you want to add.
    New Printer dialogue by Location Box
    Notice the Host: and Port number: are listed.   -   Click the Forward Forward Button to go to the next screen.
     
  3. A screen will appear as the system searches for a driver.
    Searching for Driver dialogue Box
    It will sometimes find one generally it does not and you will see the next screen.
     
  4. If it isn't already selected, click Select printer from database
    Choose Driver dialogue Box

     
  5. Scroll down the list to the correct manufacturer.
    Scroll down list to choose Printer Manufacturer dialogue Box
    Highlight the manufacturer by clicking on it and click the Forward Forward Button to go to the next screen.
     
  6. Scroll down the list to the model name & number.
    Scroll down list to choose Printer Model dialogue Box
    Highlight the model by clicking on it. Notice in the right panel drivers appear. Generally the best choice is the one with the [recommended]
    ( - I did some research and discovered this is a better driver for the model I want to use than the specific driver!!!- )
    Now click the Forward Forward Button to go to the next screen.
     
  7. Fill in optional descriptive fields.
    Fill in optional descriptive fields for printer selected
    Now click the Apply Apply Button to go to the next screen.
     
  8. It is a good idea to print a test page, to be sure this is working.
    Print a Test Page Dialog box appears.
    Click the Print Test Page Button Print Test Page Button to continue.
     
  9. You should also see a message flash up saying print job has finished if this is successful.
    Print a Test Page Dialog box appears.
    Click the Print Test Page OK Button to continue.
     
  10. There are two possibilities here.
    Print a Test Page Dialog box appears.
    Click the Cancel Button Cancel Button if you are not going to make changes.
    Click the OK Button OK Button or the Apply Button Apply button if you did make changes.
     

  P O D S  &  L I N U X  L A B :   printer.conf

If you are only interested in accessing printers in the Linux Lab and PODS add the following to /etc/printers.conf OR /etc/cups/printers.conf. You will need to check which you have. It should be the cups path. Before adding this stop cups: /etc/init.d/cups stop then after adding the text below restart cups: /etc/init.d/cups start

# Printer configuration file for CUPS v1.3.9
# Written by cupsd on 2009-08-28 12:26
<Printer ICColour Printer>
Info Xerox Phaser 8400 DP
Location Internet Commons
DeviceURI lpd://podprint.cc.binghamton.edu/XCOLORX
State Idle
StateTime 1231266337
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
</Printer>
<Printer ICPrinter>
Info Lexmark Printers in IC
Location Internet Commons
DeviceURI lpd://podprint.cc.binghamton.edu/ICPRINT
State Idle
StateTime 1231266337
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
</Printer>
<DefaultPrinter LNGPrinter>
Info Lexmark T644 B&W
Location LNG Linux POD
DeviceURI lpd://podprint.cc.binghamton.edu/LNGPrint
State Idle
StateTime 1231266337
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
</Printer>

  P P D   F I L E S

  1. www.linuxfoundation.org/collaborate/workgroups/openprinting
  2. www.openprinting.org/download/PPD/ - Top listing by printer manufacturer.
  3. A good search string to google or scroogle is <printer make> <printer model> PPD for example HP LaserJet 1200 PPD
  4. If you have CUPS running check it! localhost:631 -- click Find Printer Drivers
[ start here ]     [ by connection ]     [ by location ]     [ printers.conf (PODS) ]     [ PPD files ]

send comments, thoughts and ideas to Craig, thanks for the input!

Last Updated: 8/19/14