Начиная с Mac OS 10.2, печать обрабатывается системой CUPS . Хотя драйверы обычно находятся в /Library/Printers
папке, она может содержать файлы поддержки и многие другие вещи, которые сами по себе не являются драйверами печати, и в реальном мире нет канонического расположения в папке, где хранятся фактические файлы драйверов.
Единственный достоверный список доступных драйверов печати в OS X - это возвращенный lpinfo -m
(указание хоста не обязательно для локального компьютера). CUPS указывает, что драйверы могут состоять из произвольного числа файлов, но все они должны быть объявлены в центральном файле PPD. lpinfo -m
проанализирует все найденные действительные PPD; если у него нет PPD, который CUPS может анализировать, то он не является действительным драйвером печати. Образец вывода:
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
[...]
В каждой строке указывается путь к файлу PPD этого драйвера, за которым следует отображаемое имя принтера, объявленное в PPD. Как видите, некоторые драйверы являются внутренними для CUPS и даже не имеют PPD-файла /Library/Printers
, поэтому lpinfo -m
это единственный способ быть уверенным во всем, что доступно для системы печати.
Кажется, что нет большой последовательности относительно номеров версий; Я видел, как некоторые поставщики включают версию в строку make-and-model, которую возвращает lpinfo -m
(например, Xerox), но она, конечно, не универсальна. Тем не менее, файл PPD просто текст (необязательно сжатый). Если вы откроете PPD в текстовом редакторе, вы должны найти *FileVersion
строку со списком версии драйвера.
Удаление принтера с помощью кнопки «минус» в «Системных настройках» не удаляет / не удаляет драйвер, а просто удаляет очередь, созданную для данного принтера. (Технически, когда вы создаете очередь принтера, для этого принтера создается копия PPD, которая будет удалена при удалении очереди.) Опция «Сбросить систему печати ...» также не удалит драйверы; он только удалит все настроенные очереди печати и восстановит некоторые настройки CUP по умолчанию.
Удаление указанного в списке файла PPD lpinfo
фактически удалит драйвер, так как он больше не будет загружаться системой CUPS, хотя, как объяснено выше, могут остаться дополнительные файлы поддержки. Не существует стандартного способа их удаления, потому что каждый драйвер может включать файлы поддержки в разных местах, но нет причин удалять их, если вы не собираетесь переустанавливать драйвер. В этом случае исходный установочный пакет от производителя должен обрабатывать переустановку всех соответствующих файлов.
Иногда я видел, как люди вручную копировали файлы PPD для установки принтеров; не надейся на это ! Некоторые драйверы требуют только PPD, но другие могут также нуждаться в файлах поддержки. Единственный способ убедиться, что все необходимые файлы установлены, - это использовать оригинальный установочный пакет.