Hi,
I think I understand what you mean. If you have a printer directly attached to the parallel port of a linux box then you don't give it an ip address - it uses the IP address of the box itself, qualified with a queue name. Locally you refer to it just by the 'name' (e.g. lp) and would print with something like :
lpr -Plp myfile
thats really the same as doing :
lpr -Plp@127.0.0.1 myfile
(where 127.0.0.1 is the loopback IP address)
The specifics of the printer ('drivers', etc) are contained in /etc/printcap (printer capabilities file) and utilities like printconf write to that file.
Now, if you want to access the same printer from another box you then have to refer to it's IP address in the lpr command (printername@IP address) or, better, you can setup a 'remote' unix lpd queue with redhat's printconf-gui tool that you would refer to locally only by its name. Once you've changed things with printconf, you have to do :
/etc/rc.d/init.d/lpd restart
Redhat printconf uses magicfilter, the foomatic system, and the Linux Printing Database (
which supports over 500 printers.
On Redhat you can't really edit /etc/printcap itself because it is dynamically re-created each time lpd is started. However you can check it and see the contents via :
/usr/sbin/pccheck -V
So, for lpd/lpr printing you would need to create a remote queue on the clients to point to the 'server' IP address and the relevant print queue defined on that box. If you want to have non-lpr capable clients then you would be best to use Samba to set up a SMB print queue that windoze users could access. It is possible to do this NT style where the drivers are stored on a special share so you don't have to go round installing on each box.
Hope this helps