ppdmgr - PPD-Files and OpenSolaris

| | Comments (0) | TrackBacks (0)
The OpenSolaris default print system is "foomatic" (starting with build 107, you can use CUPS together with the graphical print manager program as well).

"foomatic" accepts PPD files to definer printers' capabilities and needed PostScript code to be sent with each print request.

So whenever you buy a new PostScript printer (or you are using a network printing service like Canon's JobTicket) you have to "install" a new PPD (PostScript Printer Description) file - it will then show up in the Printer Manager properties window.


ppdmgr is the command to add new PPD files in foomatic's repository. Flaw #1: It can't remove them from the repository. Flaw #2: If the PPD has some error in it, the only text you get is(example):

# ppdmgr -a j.ppd
ppdmgr: invalid PPD file: /export/home/pascal/Desktop/j.ppd
"-a" tells ppdmgr to add a ppd file.

ppdmgr -u
updates the ppd cache.

Foomatic expects printer definitions to be found under

/var/lp/ppd
Normally, PPD files added by the user are found in the "user" repository (foomatic offers the possibility to distinguish multiple repositories, in "system" you'll find the system default PPDs, in "user" the ones you threw in). The "system" repository is divided by driver type. "SUNWfoomatic" is the default (PostScript) driver, SUNWhpijs the HP InkJet driver.

Every PPD file you install by "ppdmgr -a" will be copied to

/var/lp/ppd/user/<manufacturer>

Pitfall: If there is no manufacturer mentioned in the PPD file the command will fail saying "invalid ppd file". In this case, add the manufacturer:

*Manufacturer: "Example"

In PPD, *x: "y" is a Variable definition: x gets the value of y.

canonppd.pngLet's use Canon's Jobticket definition for black&white printing as an example. You'll get a PPD file from them, named "jtbw.ppd".The file missed the manufacturer definition so this helped:

*Manufacturer: "Canon"

just after the file format version (*FormatVersion: "4.3").

The rest is easy:

# ppdmgr -a jtbw.ppd

The PPD can be selected with the printer manager then (see image).

To remove  ppds from the repository, look for them in

/var/lp/ppd/user:user

Delete the ppd files you want to be removed and update the PPD cache by typing:

# ppdmgr -u
That's it.

Don't edit the contents of the directory /var/lp/ppd/caches. These ARE text files but the system is not very happy with dealing with them directly. These cache files are link entries where the real ppd files can be found. The "system" ppd files do not reside under /var/lp/ppd, but in /usr/share/ppd. These PPDs are also referenced by the cache files.

Do not remove PPD definitions used by a printer queue. You won't like the result (the device just does not print, but the queue seems to be "Okay").

0 TrackBacks

Listed below are links to blogs that reference this entry: ppdmgr - PPD-Files and OpenSolaris.

TrackBack URL for this entry: http://southbrain.com/mt/mt-tb.cgi/75

Leave a comment

July 2012

Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

About

This blog is owned by:

Pascal Gienger
Jägerstrasse 77
8406 Winterthur
Switzerland


Google+: Profile
YouTube Channel: pascalgienger