Print Driver Package

bbergstein
New Contributor III

Is there still a generic print driver package out there? I would like to preinstall the print drivers on my users machines, as they are currently able to add the printer because i have added them to _lpadmin, but they do not have admin access so they cannot run software update. This is really only a concern for my work from home users, because I have captured and installed the software for the company printers for them. Any idea where I can find this?

7 REPLIES 7

tlarkin
Honored Contributor

One popular method is to install every printer you want to work on a Mac. Make sure it all works. Then copy the /etc/cups/ppd folder to composer, make a package, upload to Casper admin, deploy.

106-tests-iMac:~ tlarkin$ cd /etc/cups/ppd/
106-tests-iMac:ppd tlarkin$ ls
_10_160_10_106.ppd
106-tests-iMac:ppd tlarkin

that is the IP address of a network printer on my iMac. This may not work with printers that don't support CUPS.

oopsydaisy
New Contributor III

This doesn't seem to work for me. I'm sure the drivers are installed, but I want the printers to show up in the printer list as they are on the Composer machine. Is there an easy way to have this happen with just Composer and ARD?

mm2270
Legendary Contributor III

Deploying the drivers and deploying the cups files are not the same thing. Typically you need to do both to get a functioning printer. The cups files are the more important piece arguably. Without the drivers you may lose some functionality, or may not have a working printer at all, depending on the model. If you've only deployed the drivers, the printers don't get added in at all to the Printer list. To do that, either capture the printer in Casper Admin and deploy it via a policy along with the drivers or script adding the printers in with lpadmin. See the lpadmin man page for some help on how to use it. There are also plenty of examples of how to add printers in on the cli on OS X with 'lpadmin'.

oopsydaisy
New Contributor III

I don't have access to the whole Casper Suite, just Composer. As for the CLI, is this something that could be packaged or are we talking manual entry? I'm looking to deploy a package that has the drivers and printer list to add to a base image. I want to have a base image without any printers and a package for each locations printers

mm2270
Legendary Contributor III

Yeah, it absolutely could be done within a package and deployed via ARD if that's what you're after.

Here's an old example I had used a while back as the basis for deploying some printers before I even used the Casper Suite. This was back on 10.5 though so I'm not sure if everything is still the same, so you'll need to test it out-

http://codesnippets.joyent.com/posts/show/1807

Read through the comments as the author explains what you need to adjust for printers using the lpd protocol and other stuff.
The only potentially tricky part is making sure you're pointing to the right driver within the script. I recall that it took a bit of sleuthing to figure out exactly which file the GUI uses when you manually add a printer in through Print & Fax.
You'll have to add a line for each printer you want to map to with the same general syntax.

Once you have something that's working just copy it all into a postflight to postinstall script in Composer and build & test.

oopsydaisy
New Contributor III

OK, I got it to work, but I had to change a couple things. First, I had to be logged in as root(not admin) while creating the package. I also had to remove /etc/cups/printers.conf from the exclusion list in Composer. Lastly, I did a new files snapshot, as opposed to a normal one

mm2270
Legendary Contributor III

The last 2 items (removing /etc/cups/printers.conf from Exclusion and a New & modified Snapshot) both make sense. Sorry none of us suggested checking those in the first place.
However, I've never had to capture anything as root. I honestly haven't needed to log in to the root account on a Mac since like 10.2, back when I was still playing around with the OS. When you launch Composer and it asks for your admin password, that gives it the privileges to read anything on the file system for capture, provided its not in the Exclusion list as you discovered.

In any event, glad you got it worked out.