It is assumed that pnm2ppa
is installed and working
to provide local printing services on the Host, and that
lpr
will invoke a full set of print filters, as
(e.g.) in Red Hat 6.2. The PPA printer is installed with
the printer name lp
, and
samba
is assumed to be installed. General Samba configuration
issues involving security levels, network password, etc, are outside the
scope of this document (see the SMB-HOWTO). You must log in as
root
to configure Samba.
Here is a sample entry setting up two public printer shares
in the Host's /etc/smb.conf
file.
The printer HP722C-PPA is for printing by a Client that sends
PPA output from pnm2ppa
or the HP drivers across
the network, and HP722-PS is for Clients that produce PostScript
output:
[HP722C-PPA]
comment = HP 722C printer on Linux (PPA input)
path = /var/tmp
printer name = lp
writable = yes
public = yes
printable = yes
print command = lpr -l -r -h -P %p %s
[HP722C-PS]
comment = HP 722C printer on Linux (Postscript input)
path = /var/tmp
printer name = lp
writable = yes
public = yes
printable = yes
print command = lpr -r -h -P %p %s
The only differences besides the names are that the print command
for HP722-PPA uses the " -l
"
"pass-through" option so print filters are not applied.
The path
entry uses /var/tmp
because this is (presumably)
a world-readable and -writable area for temporary files.
After editing /etc/smb.conf
to include these entries,
save it, and test its syntax with Samba's testparm
utility.
Then restart samba
(run "/etc/rc.d/init.d/smb restart
" on Red Hat).
The Host is assumed to be a Window 98 system, and the PPA printer is assumed to be a HP722C installed with the native HP PPA drivers supplied on HP's installation CD. Some details may vary on other Windows versions.
First set up a shared printer that can accept PPA input
from both networked Windows Clients, and from
networked non-Windows Clients
that use pnm2ppa
.
You may be able to avoid disabling bi-directional communication
by using an emulated Postscript
printer to serve non-Windows Clients without using pnm2ppa
(see below).
To turn off bi-directional communication between the Windows Host and the printer, open the Settings/Printers folder, then right-click on the printer icon, and open the Properties dialog. Select the Details tab, and click on Spool Settings, then choose the setting "Disable bi-directional support for this printer". If you have any difficulties, try rebooting Windows after the change, or see HP's support document http://www.hp.com/cposupport/printers/support_doc/bpd06455.html about disabling bi-directional communication.
To set up the Host to share the printer, right-click on its icon in the Settings/Printers folder, and select Sharing, then assign it a Share Name like HP722C-PPA , and enter a Comment Line like "HP 722C printer on Windows 98 (PPA input)".
You may now also wish to set up an emulated Postscript printer that accepts Postscript input from the Client, and prints it using HP's PPA drivers running on the Host, instead of on the Client. See the section Emulating a PostScript printer on a Windows Host
If you have installed and successfully tested the emulated printer, set it up for sharing on the network. Right-click on its icon in the Settings/Printers folder, and select Sharing, then assign it a Share Name like HP722C-PS, and enter a Comment Line like "HP 722C printer on Windows 98 (PostScript input)".
The emulated printer will appear like a Postscript printer to
the Clients. If it provides acceptable printing services to
the non-Windows clients, you will not need to connect pnm2ppa
printers to HP722C-PPA, and will be able to re-enable bi-directional
communication between the HP drivers and the printer.
(However, the extra processing involved in the emulation may be
unacceptably slow, or turn out to use too much of the host's CPU)