The man page for printcap will tell you more than you want to know about the /etc/printcap file. The main thing to check is that any pathnames given in the entry for your printer are correct. For example, the following entry is for a laserjet 4L printer on /dev/lp0:
#HP LaserJet 4L entry (local, 300 dpi, B&W)
#laser|hplj4|HP laserjet 4L:\
# :lp=/dev/lp0:\
# :sd=/var/spool/lpd/lp0-laser:sh:\
# :lf=/var/spool/lpd/lp0-laser/lp-err:\
# :if=/usr/local/filter/ljet4l-filter:\
# :mx#0
So, to check this entry, I'd make sure that all of the paths referenced did in fact exist (/dev/lp0, /var/spool/lpd/lp0-laser, /usr/local/filter/ljet4l-filter, etc.). Without going into the details of each field, you can still make sure that any path specified is valid. If you find a missing directory/file/device, either create it or change the printcap entry to match reality.
If you are using a filter (the if= field in my example), verify that the filter is executable. Also, if your filter is a script, check the first line of the filter in case it uses a construct such as #! /usr/bin/perl or similar -- and make sure that any path is also correct (e.g., /usr/bin/perl really exists). You can also use set -x in the filter (again, if it's a script) to trap any errors that may not be visible to you now.
Hope this helps.
|