This article is from a FAQ concerning SCO operating systems. While some of the information may be applicable to any OS, or any Unix or Linux OS, it may be specific to SCO Xenix, Open There is lots of Linux, Mac OS X and general Unix info elsewhere on this site: Search this site is the best way to find anything.
You need to understand printer interface scripts as explained at the beginning of this section of the FAQ
For this example, we'll use the HPLaserJet model script. In /var/spool/lp/model:
cp HPLaserJet HPLandscape
Now examine the script. Around line 469, you'll find:
-landscape | landscape | land | -land) # select landscape orientation orientation="landscape";;
That shows you that when you do "lp -o landscape" (or any of the other accepted variations), the script sets a variable "orientation". Later on, it tests that variable and sends the appropriate control codes.
Previously, around line 266, you'll find:
outputmode="cooked" banner="yes" orientation="def" pagemode="def" nroff=""
That's where you make the change. Change
Now, define your printer and have it use HPLandscape as its model.
Other model scripts will use different syntax, but the principle is the same.
Got something to add? Send me email.