I finally figured out how to print from a Mac running OS 9, over a network, to a non-PostScript USB printer connected to a Mac running OSX ... without any additional hardware!!
- The first step is to convert the USB printer into a postscript capable printer by installing GIMP and GhostScript. If you don't know what these applications are, you might want to check out the GIMP-OSX-FAQ page. Once that's done, you should be able to drag and drop postscript files to the print queue window and they should print correctly.
- The next step is to setup cups-lpd on your server. This step has been described before on this site, but, and this is the crucial part, you should add one additional line to the file printer in the /etc/xinetd.d/ directory. The complete config then looks like this:
service printerWithout this additional "server_args" any PostScript files sent to cups-lpd would not be processed by the ghostscript PostScript filter, and the "raw" PostScript code would be printed.
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/libexec/cups/daemon/cups-lpd
groups = yes
flags = REUSE
server_args = -o document-format=application/octet-stream
- Use the desktop printer utility on the OS 9 Mac to setup an lpr printer. Use the "generic" PPD. The "Printer Address" is the address of your server, and the "Queue" is your USB printer's name. You can find the name by typing lpstat -v in a terminal.
- If you've enabled the OSX firewall make sure you add a new rule for port 515 (the lpd port).