Desde Mac OS 10.2, la impresión es manejada por el sistema CUPS. Si bien los controladores se encuentran típicamente en /Library/Printers
, la carpeta puede contener archivos de soporte y muchas otras cosas que no son controladores de impresión en sí mismos, y en el mundo real no hay una ubicación canónica dentro de la carpeta donde se almacenan los archivos de controlador reales.
La única lista autoritativa de controladores de impresión disponibles en OS X es la que devuelve lpinfo -m
(no es necesario especificar el host para la máquina local). CUPS especifica que los controladores pueden consistir en un número arbitrario de archivos, pero todos deben estar declarados en un archivo PPD central. lpinfo -m
analizará todos los PPD válidos encontrados; si no tiene un PPD que CUPS pueda analizar, entonces no es un controlador de impresión válido. Un ejemplo 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 por el nombre de visualización de la impresora tal como está declarado en el PPD. Como puede ver, algunos controladores son internos a CUPS y ni siquiera tienen un archivo PPD en /Library/Printers
, por lo que lpinfo -m
es la única forma de estar seguro de todo lo disponible en el sistema de impresión.
No parece haber mucha consistencia con respecto a los números de versión; he visto que algunos fabricantes incluyen la versión en la cadena de marca y modelo que devuelve lpinfo -m
(Xerox, por ejemplo), pero ciertamente no es universal. Sin embargo, el archivo PPD es simplemente texto plano (opcionalmente comprimido). Si abres el PPD en un editor de texto, deberías encontrar una línea *FileVersion
que lista la versión del controlador.
Eliminar una impresora usando el botón 'menos' en las Preferencias del Sistema no elimina/desinstala el controlador, simplemente elimina la cola que se ha creado para la impresora en cuestión. (Técnicamente, al crear una cola de impresión, 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á algunas configuraciones de CUPS a los valores predeterminados.
Eliminar un archivo PPD listado por lpinfo
eliminará efectivamente el controlador, ya que ya no será cargado por el sistema CUPS, 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 tengas la intención de reinstalar el controlador. En ese caso, el paquete de instalación original del fabricante debería encargarse de reinstalar todos los archivos relevantes.
A veces he visto gente copiar manualmente archivos PPD como medio de instalar impresoras; ¡no confíes en esto! Algunos controladores solo requieren un PPD pero otros pueden necesitar también archivos de soporte. La única forma de estar seguro de que todos los archivos necesarios estén instalados es usar el paquete de instalación original.
0 votos
¿De qué estás hablando en la Terminal? El lenguaje que has dado es para un sistema Unix. Mi Mac PB no lo reconoce a menos que lo esté ingresando en la casilla incorrecta. Por favor, explícame. Gracias.
1 votos
No entiendo en absoluto tu comentario. ¿Podrías reformularlo?