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.
"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):
Foomatic expects printer definitions to be found under
Every PPD file you install by "ppdmgr -a" will be copied to
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:
In PPD, *x: "y" is a Variable definition: x gets the value of y.
Let'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:
just after the file format version (*FormatVersion: "4.3").
The rest is easy:
The PPD can be selected with the printer manager then (see image).
To remove ppds from the repository, look for them in
Delete the ppd files you want to be removed and update the PPD cache by typing:
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").
# ppdmgr -a j.ppd ppdmgr: invalid PPD file: /export/home/pascal/Desktop/j.ppd"-a" tells ppdmgr to add a ppd file.
ppdmgr -uupdates the ppd cache.
Foomatic expects printer definitions to be found under
/var/lp/ppdNormally, 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.
Let'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 -uThat'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").

Leave a comment