There really should be no reason you'd need to do this on any modern Linux, but I had a client with an old RedHat 7.0 system who wanted to control the output to a laser printer, specifically to make it print Landscape orientation. Hard to believe, but "printtool" on that version provided no such option.
If you look at /etc/printcap on such a system, you'll find that the "if" points to the "filter" script in the /var/spool/lpd/printername directory. That in turn is a symbolic link to a filter. You can replace that filter with your own.
Again, ordinarily you would never want to do that, especially on more modern Linuxes.
To replace it, first cd to /var/spool/lpd/printername and then "rm filter". That's important; if you don't rm it, you'll be writing over the systems filter. I replaced it with this:
#!/bin/bash
(
pagelen="45";
lmargin=6;
echo -e "\033E\c" # Reset printer.
echo -e "\033&l1O\c" # landscape
echo -e "\033&l${pagelen}P\c"
echo -e "\033&a${lmargin}L\c"
echo -e "\033&k2S\c" #compressed
cat -
) | /usr/bin/crnl
I also created /usr/bin/crnl, which is just:
#!/usr/bin/perl
while (<>) {
chomp;
print "$_\r\n";
}
And that's another script you wouldn't need on any modern Linux because your printer creation tool has adding CR's as an option.
So: ancient stuff, pay no attention to any of this nowadays. Put here just to help out someone stuck with an old system.
Enter your email address for automatic notification of new posts here
(be sure to whitelist 'feedburner.com' if you use spam filtering)
| Views for this page | ||||
|---|---|---|---|---|
| Today | This Week | This Month | This Year | Overall |
| 1 | 4 | 13 | 899 | 899 |
Have you tried Searching this site?
Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates
This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more. We appreciate comments and article submissions.
Add your comments
Control Spam and Viruses
Run your own mailserver