Obtenha a localização do driver para determinada impressora via linha de comando

0

Isso está no OS X 10.8. Eu quero ser capaz de puxar arbitrariamente a configuração para uma determinada impressora, para que eu possa usá-lo em um script de criação de pacotes. O script (não meu) usa

/usr/sbin/lpadmin -p "$printername" -L "$location" -D "$gui_display_name" -v "$address" \
-P "$driver_ppd"

para configurar uma nova impressora.

Se eu fornecer $printername no sistema do qual estou obtendo, posso obter $location e $ address de lpoptions . Mas não consigo encontrar um comando que me dê $driver_ppd (que assume o formato /Library/Printers/PPDs/Contents/Resources/HP LaserJet P4010_P4510 Series.gz ).

Eu sei que ele está disponível para o sistema porque posso vê-lo na interface da web do CUPS sob essa impressora.

    
por arthurlewis 22.07.2014 / 01:19

1 resposta

1

No meu sistema (Debian wheezy), os arquivos PPD são armazenados como /etc/cups/ppd/printername.ppd . Supondo que um esquema similar seja válido em outros sistemas, você realmente só precisa do nome da impressora, que pode obter em /etc/cups/printers.conf . Este arquivo parece estar no formato XML, então você provavelmente poderia usar alguma ferramenta de análise XML adequada.

    
por 24.07.2014 / 15:06