Published August 25th
Our monthly Troubleshooting Tools column, penned by MacFixIt Contributing Editor Dan Frakes, covers products that can help you maintain and fix your Mac.
Mac OS X has a flexible and powerful printing system, but this printing system is also one of the areas where users seem to have the most trouble, whether it's because printers can't be found, disappear from the Printer Setup Utility Printer List, or just plain don't print.
I don't have the space in this column to cover every printing issue you may encounter and how to fix it. Instead, I'm going to talk about one of my favorite Mac OS X troubleshooting utilities, Fixamac's $25 Printer Setup Repair, currently at version 5.0.3. (A version for Panther, 4.2.2, is also available; make sure you use the correct version for your version of Mac OS X.) When it comes to Mac OS X's printing system, Printer Setup Repair is the most comprehensive troubleshooting, maintenance, and management utility I've seen.
The Printer Setup Repair interface is divided into seven distinct sections, each of which addresses one specific area of printing troubleshooting. (Note that to use Printer Setup Repair, you must run it with administrative privileges. This is because many of its functions affect files used by the printing system. When you first launch the utility, you'll be asked for your admin-level username and password.)
System User Verification & Repair This screen lets you check the current properties of the root user, the Printing Services (lp) user, and Print Operators (lp) group, making sure they have the appropriate values. If any of these system-level users or groups are missing or incorrectly configured, it's likely that you'll experience printing problems. If problems are found with the lp user or group, you have the option to repair them; these repair commands actually delete the existing (and presumably damaged) lp user or group and then create a new one (or, if none exists, to simply create a new one).
Unfortunately, if problems are found with the root user, Printer Setup Repair may or may not be able to create a new one. This is because Printer Setup Repair itself requires the root user account in order to do its thing. Before using this option, be sure to read the online documentation for this particular function.
File Permissions, Printing Reset, Backup & Restore This screen contains the options that, in my experience, are most likely to help you fix a printing problem.
Verify and repair permissions Although rare, it's possible that incorrect permissions on printing-related files can cause printing problems. Although OS X's Disk Utility's includes a Repair Disk Permissions function, its procedure verifies and resets permissions on just system-level files (and many of those are unrelated to printing). Printer Setup Repair limits its scope to just those files related to printing, and it also checks printing-related files in user directories. As a result, Printer Setup Repair's permissions verification and repair process is much quicker while also being more comprehensive when it comes to printing issues.
By default, all printing-related files are checked; if you'd rather limit the process to particular files, uncheck those you don't want examined/repaired.
Reset the printing system This feature is similar to Apple's own Reset Printing System command, found in Printer Setup Utility: It quits the entire printing system; deletes all printing preferences files (including printer lists) and print jobs; and then restarts the printing system. However, Printer Setup Repair's procedure is, again, more thorough as it also deletes all temporary and cache files and, according to Fixamac, "performs a deeper reset of the printing system." You also have the option to back up your printing system files and settings (as described in the next paragraph).
Backup & restore printing system settings One problem with "resetting" the printing system, via either OS X or a utility such as Printer Setup Repair, is that if it doesn't fix the problem you're having, you still have to go back and set everything up again; it would be nice if you could simply revert to the previous settings. Or, similarly, it would be useful if you could save your current, working, printing settings and then if you ever have problems at a later date, restore the "known good" settings over the misbehaving ones. Printer Setup Repair lets you do both.
Checking the Backup box and then clicking the backup and restore button creates a full, working copy of your printing system settings in your Documents folder. (I would have preferred that these files be located in ~/Application Support/Printer Setup Repair, as Apple's developer guidelines suggest.) Using the Restore option lets you choose a set of previously-backed-up printing system settings and then restore them; the printing system will be restarted using the newly-restored settings.
The Backup function is a great feature for use just before a reset of the printing system; it's also a very good idea to use it when printing is working well, in order to keep a good copy of all your settings. Conversely, Fixamac recommends resetting the printing system before performing a restore to ensure that there are no legacy printing spool or cache files that might cause problems.
Note: As explained in the Printer Setup Repair documentation, to ensure that all of your preferences are backed up, make sure you quit Printer Setup Utility and any Proxy Printer applications before performing the backup.
CUPS Tools The CUPS Tools screen lets you perform a number of procedures on CUPS, the Unix underpinnings to Mac OS X's printing system. For starters, you can delete the temporary CUPS spool files (located in /var/spool/cups), which if corrupt can cause printing problems. (Clicking the "?" button shows you the number and total size of these files.) You can also stop, start, and restart cupsd, the background process that actually handles most printing functions. For example, if you're having trouble printing and you see here that cupsd is not currently running, that could be why; click Start and see if printing then works. Similarly, sometimes even if cupsd is running, restarting it will fix printing problems.
Advanced users can view and edit the hostconfig file, which determines which system services are enabled at startup; few users will ever want to disable CUPS at startup, but the ability to do so is here. (Although I have seen situations where the reason a user couldn't print was because the hostconfig file had someone been changed so that CUPS was not automatically launching at startup; if you can't print and you see "NO" here, changing it to "YES" or "AUTOMATIC" may fix the problem.)
Of more use to the typical user is the ability to create a new cupsd.conf file. This file is basically the preferences file for the CUPS system. If it's damaged or misconfigured, there's a good chance you won't be able to print. Printer Setup Repair can replace the current file with either a new cupsd.conf file -- which has all the default settings -- or with a backup that you've created previously; it also renames and saves the current version, just in case you want to revert to it later. (After replacing the cupsd.conf file, you'll be required to restart your Mac.)
Temporary & Preference File Management Just like many other Mac OS X processes, the printing system creates and references numerous temporary files as it does its work. Similarly, OS X's printing system uses not just one, but a number of preferences files to store its settings. (In fact, in the case of some printing preferences files, each user has his or her own copies.) More files means more chances for file corruption, and I've found that corrupt temporary and preferences files is a common cause of printing problems. This screen lets you delete your TemporaryItems directory (or the TemporaryItems directories for all users); verify that OS X's /tmp directory and the main symbolic link to it are present and have the correct permissions; and delete printing preferences files. These steps are performed automatically when you reset the printing system, but this screen lets you perform just these actions -- and delete individual preferences files -- without affecting the rest of the printing system or system files.
Printer Driver Removal Removing printer drivers isn't really a troubleshooting issue, but it's an issue users tend to ask about frequently: "If I have just an Epson printer, how can I get rid of the gigabytes of drivers for other printers?" If you know where to look, you can do this manually, but Printer Setup Repair lets you do it much more easily. It lists all the brands of printer drivers that can be installed by Mac OS X, as well as which are actually installed. (Click the "?" button to see how much space each brand of drivers is taking up on your hard drive.) Check the boxes next to those you want to delete and then click the "Delete selections" button. You'll instantly gain MB or GB of free space.
(Although this is a great option on a desktop Mac, I generally recommend against deleting extra printer drivers on a PowerBook or iBook. The reason is that you never know when you'll be out and about and need to print -- the more printer drivers you have installed, the greater the chance you'll be able to print on whichever printer you come across.)
Note that if you want to delete the open-source Gimp-Print printer drivers installed by Mac OS X, you'll need to download the Gimp-Print uninstaller; Printer Setup Repair provides a live link to the Gimp-Print Web site.
PPD Installation & Removal If you've got a PostScript printer, chances are that instead of a dedicated printer driver, you use a PPD (PostScript Printer Description) file along with Mac OS X's own PostScript driver. These PPD files are installed in /System/Library/Printers/PPDs/Contents/Resources (mainly Apple printer PPDs), /Library/Printers/PPDs/Contents/Resources (PPDs installed by Mac OS X or by third-party installers), and the Classic /System Folder/Extensions/Printer Descriptions directory (for printers used only in Classic). Printer Setup Repair can install new PPD files in the appropriate directory and set the correct permissions; it can also delete PPD files, if desired.
Classic Mode Management Finally, if you're still using, and printing from within, the Classic environment, Printer Setup Repair provides a few tools for managing Classic printing. You can repair permissions for the Classic System Folder; delete temporary printing spool files from /System Folder/PrintMonitor Documents; delete printing preferences files from /System Folder/Preferences/Printing Prefs; and delete PPD files from /System Folder/Extensions/Printer Descriptions.
(In order for this subset of Printer Setup Repair's feature to work, the utility must be able to locate a valid Mac OS 9 System Folder at launch.)
Other features Beyond the actions described above, I also like some of the other, less obvious, features Printer Setup Repair provides. For example, it keeps an activity log that keeps track of virtually everything you've done within the utility, and it provides quick access (via the Printer Setup Repair menu) to OS X's own CUPS printing system logs. And I like that whenever you attempt to perform a serious action, Printer Setup Repair gives you appropriate warnings. For example, if you decide to reset the printing system, you see the following dialog:
Finally, Fixamac's online documentation is among the best I've seen -- every procedure is explained in detail, outlining exactly what happens.
One feature that is missing is an indication of the order in which you should perform the various functions provided by Printer Setup Repair when trying to fix a printing problem. You would think that you should simply try them from top to bottom, but the truth is that some of the procedures higher in the list (for example, the reset feature) are more aggressive than some found lower in the list (deleting individual printing preferences files). If you're trying to fix a printing problem, I recommend using Printer Setup Repair's actions in the following order, trying to print after each step. (The screen on which the feature is located is listed in parentheses.):
- Make sure cupsd is running (CUPS Tools).
- Verify and repair printing-related permissions (File Permissions).
- Verify and repair system users and group (System User Verification).
- Delete temporary spool files (CUPS Tools).
- Restore settings from a backup (File Permissions). You did remember to back up your settings when they were working well, didn't you?
- Replace the current cupsd.conf file with a new copy (CUPS Tools).
- If all else fails, reset the printing system (File Permissions).
If this still doesn't work, the next step would be to reinstall the printer drivers for your printer(s), either from the Mac OS X Install disc or via an installer downloaded from the vendor's Web site.
Printer Setup Repair can't fix every issue, but if you're having printing problems, or just want to do some maintenance or "slimming down" of your printing-related files, Printer Setup Repair is the tool to use. I consider it another one of my "must-install" utilities.
Contributing Editor Dan Frakes is a former MacFixIt Editor, and is currently Senior Writer for Macworld and Reviews Editor for Playlist. To provide feedback on this column, or to suggest utilities for future columns, drop Dan an email at his @MacFixIt.com address: dfrakes.Resources