I have a printer which is shared to Windows. When printing users may be print Grayscale (b&w) or Color.

I would like to configure CUPS in order to get all the jobs printed in GrayScale (B&W), regardless the user printed it in color or not.

If the default configuration is select to GrayScale as in question How do I make "black&white" the default? , then the final result is as the user requested : GrayScale or Color.

1 Answer 1


You should have a file /etc/cups/ppd/xxxx.ppd, where xxxx is the name you have configured your printer with. Please post (an URL to) this PPD.

For example:

*OpenUI *ColorModel/Output Mode: PickOne
*OrderDependency: 10 AnySetup *ColorModel
*DefaultColorModel: CMYK
*ColorModel CMYK/Color: "<</cupsColorOrder 1/cupsColorSpace 
8/cupsCompression 1>>setpagedevice"
*ColorModel Gray/Grayscale: "<</cupsColorOrder 0/cupsColorSpace 
3/cupsCompression 1>>setpagedevice"
*CloseUI: *ColorModel

Thus, if your printer is configured properly, you simply could (either by using the lpadmin command or the "configure printer" from the web admin) set the default color model to Grayscale. You could even edit your printer's PPD "by hand" by replacing

*DefaultColorModel: CMYK


*DefaultColorModel: Gray

And you may easily set up two print queues - one configured for color printing and the other for b/w printing as indicated above - pointing to the same physical printer.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .