Setting up Printers using CUPS on Mac OS X 10.5 +
Setting up WolfCopy Printers
Select System Preferences… from the Apple Menu and click on Print & Fax as shown in Figure 1.
Figure 1. Print & Fax System Preferences.
In the Print & Fax panel do the following as illustrated in Figure 2:
- Make sure the lock icon in the lower right side is indicating unlocked. If not click on it and enter an administrator user name to allow settings changes to be made.
- Click the + to add a printer
- When the printer setup dialog appears click on IP to choose internet protocol based printing
- Select Internet Printing Protocol -IPP from the Protocol: pop-up menu
- In the Address: field type print.ncsu.edu
- In the Queue: field type printers/ and then the name of the WolfCopy printer you wish to use. To find out available printers look at https://print.ncsu.edu:631/printers/ and note that there are several hundred.
WolfCopy printers are usually named by their official university building abbreviation – room number – a sequence number.
Example: for a single black and white printer in the building named Building with official abbreviation of BLD in room one (1) the name should be bld-001-1. If the printer were a color printer then the name should be bld-001-color1.
NOTE: names are always lower case.
So the Queue: field will be printers/bld-001-color1
- In the Name: field type the name of the WolfCopy printer Example: bld-001-color1
- In the Location: field type some text describing the printers physical location. Example: Building Room One
- From the Print Using: pop-up choose Select a driver to use… which will reveal a long list of printer models. Be sure to select the printer model that matches the Printer Driver: field for the printer desired athttps://print.ncsu.edu:631/printers
Now click the Add button.
Figure 2. Adding a Printer
The printer should now appear in the left column in the Print & Fax panel.
A final step remains to set a CUPS option on the printer to always prompt for the name and password in the print dialog. Apple does not provide a graphical user interface (GUI) to make this setting in Mac OS X 10.5. To make this setting we have 2 options: a) use the terminal to send a lpadmin command or b) print one time and have the print queue on the Macintosh go to hold status. CUPS uses several configuration files stored in the a hidden folder /private/etc/cups. The CUPS setting for AuthInfoRequired is in the file printers.conf as AuthInfoRequired username,password for each printer. To add the setting in do one of the following steps:
- Open /Applications/Utilities/Terminal.app
- Type: sudo lpadmin -p -o auth-info-required=username,password
where is replaced with the text typed into the Name: field when the printers was created with the dashes (-) replaced with underscores (_). Example: sudo lpadmin -p bld_001_color1 -o auth-info-required=username,password
NOTE: the CUPS name of all printers on the machine can be discovered by typing lpstat -v and looking at the listing like this:
device for bld_001_color1: ipp://print.ncsu.edu/printers/bld-001-color1
the CUPS name will be the text after the word “for” and before the first colon(:).
- Type the password of the administrator when prompted
- Verify that the add worked by typing: lpoptions -p Example: lpoptions -p bld_001_color1 The lpoptions should return some text like the following:
media=Letter sides=one-sided finishings=3 copies=1 job-hold-until=no-hold job-priority=50 number-up=1 auth-info-required=username,password job-sheets=none,none printer-info=bld-001-color1 printer-is-accepting-jobs=1 printer-is-shared=0 printer-location=’Building 001 ‘ printer-make-and-model=’HP Color LaserJet 8500’ printer-state=3 printer-state-change-time=1218130564 printer-state-reasons=none printer-type=6328532
Look for the text auth-info-required=username,password as confirmation.
- Test printing
b) Printing once to set the AuthInfoRequired option can be done without Terminal.app and command line tools but can be confusing.
Because the WolfCopy print servers are set to require both encryption and CUPS AuthType Basic the print subsystem in MacOS X 10.5 will actually stop the print job (but not the print queue or printer) and mark that job with the status On Hold (Authentication Required) as shown by number 1 in Figure 3.
Figure 3. Print Queue window
To print and save the AuthInforRequired setting simply click Resume in the tool bar as in number 2 of Figure 3. A dialog asking for Name: and Password: fields will appear. Enter a Unity ID and password and click ok to print. When the print job has successfully finished the CUPS print subsystem will update the printers.conf configuration file to add the correct setting for auth-info-required=username,password. From this point on the queue should not hold again and each user on the machine will be prompted in the print dialog for a name and password.
This process must be completed for each WolfCopy printer installed.
sudo lpadmin -p bld-001-color1 -L “bld-001-color1” -E -v ipp://print.ncsu.edu/printers/bld-001-color1 –o auth-info-required=username,password
so looking at the command in detail :
sudo lpadmin – executes the command lpadmin as administrative user
-p bld-001-color1 – sets the name for the new printer. NOTE this is a lower case p
-L “bld-001-color1” – sets the information for CUPS printer. NOTE the quotes
-E – makes the printer enabled. NOTE that there are two capital E’s in the man page and the position in the command string separates enabled from encryption
-v ipp://print.ncsu.edu/printers/bld-001-color1 -sets the univeral resource identifier (URI) that configures the printeserver (print.ncsu.edu) and print queue (printers/bld-001-color1)
–o auth-info-required=username,password -sets the requirement for username and password
-P /Library/Printers/PPDs/Contents/Resources/HP Color LaserJet 8500.gz – gives the PPD to use. NOTE the back slashes to escape the spaces in the names so the unix shells will pass them on correctly. Also most all PPDs under Mac OS X 10.5 are located at the path /Library/Printers/PPDs/Contents/Resources. The switch is an upper case P. Information on PPD names and where they are stored can be found using the lpinfo command:
Giving a very long list that should look something like this:
Library/Printers/PPDs/Contents/Resources/Brother HL-2075N series CUPS.gz Brother HL-2075N series CUPS
Library/Printers/PPDs/Contents/Resources/Brother HL-2460 series.gz Brother HL-2460 BR-Script3
With these CUPs command line tools it may also be possible to write a script to automate printer installation but OIT has not created such a script.
defaults write /Library/Preferences/com.apple.NetworkAuthorization UseDefaultName -bool NO
perl -p -i -e ‘s/ Enable-Printer//g;’ /private/etc/cups/cupsd.conf
perl -p -i -e ‘s/ Cancel-Job//g;’ /private/etc/cups/cupsd.conf
launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist
launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist
What the perl commands do are to search the cupsd.conf files for the strings ” Resurme-Printer”, ” Enable-Printer”, and ” Cancel-Job” (note the space before each string!) and replace them with nothing and save the file. This will remove those activities from the restriction rules in cupsd.conf and make them open to everyone printing to use. The launchctl commands simply restart the cupsd printing system so the changes will take effect. Again use with caution!
What if I want to set up my own print server using CUPS?
Since we use centralized print servers running on Linux machines we really do not have documentation on setting up CUPS print server software called cupsd. Look for cupsd documentation at http://www.cups.org. However we use the cupsd.conf file: http://oit.ncsu.edu/macintosh/setting-cupsd-pam-and-basic-auth in production with CUPS 1.3.3 servers in case this might help someone.
Getting More Help
For more help or questions on setting up WolfCopy printing from MacOS X 10.5 please contact the OIT help desk at 919-515-HELP
Updated 08072008 EGA