11

I am trying to troubleshoot printer issues and I figured it would be best to see all the printer drivers (and versions thereof) as a starting point, before I try reinstalling said drivers.

I would like to see all the printer drivers I have installed on my Mac. Where are they installed? What directory? What is the best way to uninstall them, if I so wished?

  • What are you talking about in the Terminal? The language you have given is for a Unix system. My Mac PB doesn't recognize it unless I'm entering it in the wrong box. Please explain. Thanks. – user61315 Nov 1 '13 at 20:49
  • 1
    I don't understand your comment whatsoever. Rephrase? – Cypress Frankenfeld Nov 5 '13 at 4:45
10

Since Mac OS 10.2, printing is handled by the CUPS system. While drivers are typically found in /Library/Printers, the folder can contain support files and many other things which are not themselves print drivers, and in the real world there is no canonical location within the folder where the actual driver files are stored.

The only authoritative list of available print drivers on OS X is that returned by lpinfo -m (specifying the host is not necessary for the local machine). CUPS specifies that drivers can consist of an arbitrary number of files, but they must all be declared in a central PPD file. lpinfo -m will parse any valid PPDs found; if it doesn't have a PPD that CUPS can parse, then it isn't a valid print driver. A sample of the output:

MacBook-Pro:~ user$ lpinfo -m
Library/Printers/PPDs/Contents/Resources/CNPZUD450ZU.ppd.gz Canon D400-450
Library/Printers/PPDs/Contents/Resources/CNPZUD490ZU.ppd.gz Canon D460-490
Library/Printers/PPDs/Contents/Resources/CN6300.ppd.gz Canon iPF6300(CUPS)
Library/Printers/PPDs/Contents/Resources/CN6300S.ppd.gz Canon iPF6300S(CUPS)
Library/Printers/PPDs/Contents/Resources/CN6350.ppd.gz Canon iPF6350(CUPS)
Library/Printers/PPDs/Contents/Resources/CN8300.ppd.gz Canon iPF8300(CUPS)
Library/Printers/PPDs/Contents/Resources/CN8300S.ppd.gz Canon iPF8300S(CUPS)
[...]
drv:///sample.drv/okidata9.ppd Oki 9-Pin Series
drv:///sample.drv/okidat24.ppd Oki 24-Pin Series
raw Raw Queue
[...]

Each line specifies the path to that driver's PPD file, followed by the display name of the printer as declared in the PPD. As you can see, some drivers are internal to CUPS and do not even have a PPD file in /Library/Printers, so lpinfo -m is the only way to be certain of everything available to the printing system.

There doesn't seem to be much consistency regarding version numbers; I've seen some vendors include the version in the make-and-model string that's returned by lpinfo -m (Xerox, for example), but it's certainly not universal. However, the PPD file is just plaintext (optionally compressed). If you open the PPD in a text editor you should find a *FileVersion line that lists the driver version.

Deleting a printer using the 'minus' button in System Preferences does not delete/uninstall the driver, it just deletes the queue that has been created for the printer in question. (Technically, when you create a printer queue, a copy of the PPD is created for that printer, which will be deleted when deleting the queue.) The 'Reset printing system...' option will also not remove any drivers; it will only delete all configured print queues and reset some CUPs configuration to defaults.

Deleting a PPD file listed by lpinfo will effectively delete the driver, as it will no longer be loaded by the CUPS system, though as explained above there may be additional support files left behind. There is no standard way to remove these because each driver can include support files in different places, but there is no cause to delete them unless you are intending to reinstall the driver. In that case, the original installer package from the manufacturer should handle re-installation of all relevant files.

I have sometimes seen people manually copying PPD files as a means of installing printers; do not rely on this! Some drivers require only a PPD but others may need support files as well. The only way to be sure all necessary files are installed is to use the original installer package.

  • 1
    This is a good answer to list all the printer drivers. How would one find the version number for said drivers? Is there a standard for this? It'd useful when trying to identify if a specific version is already installed or not. – Cypress Frankenfeld Apr 26 '18 at 21:35
  • For future readers: this answer also seems to work on macOS 10.13.2 – Cypress Frankenfeld Apr 26 '18 at 21:38
  • 2
    @CypressFrankenfeld I've seen some vendors include the version number in the make-and-model string that's returned by lpinfo -m (Xerox, for example), but it's certainly not standard. But the PPD file is just plaintext, except when it's compressed and you need to expand it. If you open one in your favorite text editor you should find a *FileVersion line with what you seek. – ghostly_s May 11 '18 at 23:43
  • Thanks @ghostly_s! You should add the version number stuff to your answer. So useful! – Cypress Frankenfeld May 21 '18 at 20:03
4

The first place you'll most probably want to look at is the Print & Scan option within System Preferences. There you'll see a list of all printers that you have installed. You can optionally uninstall each of them by clicking on the minus '-' at the bottom of the list.

Also, if you are troubleshooting printer issues, you might want to try right-clicking within the list and select Reset printing system. Apple has a document about what resetting the printing system does here: http://support.apple.com/kb/HT1341

On your question about where the drivers are actually installed, the answer would be in the /Library/Printers folder. I've noticed some printer drivers were left intact in this folder even after I uninstalled them. I've removed some of the files here myself and would say that it is generally safe to do so. However, I'd still suggest that you uninstall your printer drivers from within Print & Scan first before traversing into this folder.

4

Run this in the Terminal:

lpinfo -m -h 127.0.0.1:631

It will list all drivers for the local host.

  • 2
    Some example output would serve to greatly increase the quality of this answer :). – Jason Salaz Oct 12 '12 at 6:30
  • 1
    2767 entries here, it's probably easier if you run the command yourself. Unfortunately the list does not show more than the name. – nohillside Oct 13 '12 at 14:10
  • I received lpinfo: Internal Server Error as the output. – Cypress Frankenfeld Jan 25 '13 at 20:21
4

OS X uses CUPS which uses print filters (.ppd files) to format documents to send to printers. The currently installed and used ppd files can be found at /private/etc/cups/ppd/.

To see a whole list of whats available on your computer, look in /Library/Printers/ here you will find folders of drivers that have been installed (usually in folders by brand, i.e you may have a Brother folder and a Canon folder if you ever used a Brother or Canon printer).

There will also likely be a PPDs folder which contains archived print filters that are available.

For some additional printer options you could type:

cupsctl WebInterface=yes

Then point your web browser to http://localhost:631 This will bring up a the CUPS web interface which has a few extra bits and options then you can get at from the System Preference.

It's important to note most of these options have to do with the printing system itself, not the native Printer options/utilities.

0

You can also try

lpstat -p

This will give u the name of the Printer and its status, also the date it was enabled.

-1

Not very sure, but I am using the Gutenprint Printer drivers for my office's Sharp printer. Maybe you can look at here for more information.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .