Desde Mac OS 10.2, la impresión es manejada por el sistema CUPS . Si bien los controladores generalmente se encuentran en /Library/Printers
, la carpeta puede contener archivos de soporte y muchas otras cosas que no son controladores de impresión, y en el mundo real no hay una ubicación canónica dentro de la carpeta donde se almacenan los archivos de controladores reales.
La única lista autorizada de controladores de impresión disponibles en OS X es la que devuelve lpinfo -m
(especificando que el host no es necesario para la máquina local). CUPS especifica que los controladores pueden consistir en un número arbitrario de archivos, pero todos deben declararse en un archivo PPD central. lpinfo -m
analizará cualquier PPD válido encontrado; Si no tiene un PPD que CUPS pueda analizar, entonces no es un controlador de impresión válido. Una muestra de la salida:
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
[...]
Cada línea especifica la ruta al archivo PPD de ese controlador, seguido del nombre para mostrar de la impresora como se declara en el PPD. Como puede ver, algunos controladores son internos de CUPS y ni siquiera tienen un archivo PPD /Library/Printers
, por lo que lpinfo -m
es la única forma de estar seguro de todo lo que está disponible para el sistema de impresión.
No parece haber mucha consistencia con respecto a los números de versión; He visto que algunos proveedores incluyen la versión en la cadena de creación y modelo que devuelve lpinfo -m
(Xerox, por ejemplo), pero ciertamente no es universal. Sin embargo, el archivo PPD es solo texto sin formato (opcionalmente comprimido). Si abre el PPD en un editor de texto, debe encontrar una *FileVersion
línea que enumere la versión del controlador.
Eliminar una impresora usando el botón 'menos' en Preferencias del Sistema no elimina / desinstala el controlador, solo elimina la cola que se ha creado para la impresora en cuestión. (Técnicamente, cuando crea una cola de impresora, se crea una copia del PPD para esa impresora, que se eliminará al eliminar la cola). La opción 'Restablecer sistema de impresión ...' tampoco eliminará ningún controlador; solo eliminará todas las colas de impresión configuradas y restablecerá la configuración predeterminada de algunas CUP.
La eliminación de un archivo PPD enumerado por lpinfo
eliminará efectivamente el controlador, ya que el sistema CUPS ya no lo cargará, aunque, como se explicó anteriormente, pueden quedar archivos de soporte adicionales. No hay una forma estándar de eliminarlos porque cada controlador puede incluir archivos de soporte en diferentes lugares, pero no hay motivo para eliminarlos a menos que tenga la intención de reinstalar el controlador. En ese caso, el paquete de instalación original del fabricante debe manejar la reinstalación de todos los archivos relevantes.
A veces he visto personas que copian manualmente archivos PPD como un medio para instalar impresoras; ¡no confíes en esto ! Algunos controladores requieren solo un PPD, pero otros también pueden necesitar archivos de soporte. La única forma de asegurarse de que todos los archivos necesarios estén instalados es usar el paquete de instalación original.