Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Share a non-PostScript USB printer with OS 9 System
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!!
  1. 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.
  2. 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 printer
    {
    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
    }
    Without 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.
  3. 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.
  4. If you've enabled the OSX firewall make sure you add a new rule for port 515 (the lpd port).
That's it! Oh, and "Printer sharing" does not have to be enabled unless you also want to share the USB printer with other OSX computers.
    •    
  • Currently 3.00 / 5
  You rated: 4 / 5 (3 votes cast)
 
[29,593 views]  

Share a non-PostScript USB printer with OS 9 | 7 comments | Create New Account
Click here to return to the 'Share a non-PostScript USB printer with OS 9' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
didn't work...
Authored by: belette on Jan 21, '03 11:19:34AM
Well, I copy-pasted this:
service printer { 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 }
And here's what it tells me:
xinetd[432]: Error reading included directory: /etc/xinetd.d [line=11]
Line 11 is " server_args = -o document-format=application/octet-stream"? what's wrong?

[ Reply to This | # ]
Tip for Canon printers / only use CUPS/GIMP drivers
Authored by: ole-olo on May 02, '03 03:13:53AM

Just for the record:

if you want to use this tip with your Canon printer (i550 in my
case), be sure to setup a additional printer in print server which
uses CUPS or GIMP drivers. Using the original Canon driver does
not work for printer sharing as described above.

Some more instructions:
1. be sure you installed Gimp-Print
2. Open PrintCenter
3. Alt-Click on 'Add Printer..."
4. Choose the last item from the pop-up (Further options?)
5. Select 'USB' for device
6. Give name (i.e. 'i550gimp')
7. Give address (i.e. 'usb://Canon/i550?serial=507UBK') use
'lpinfo -v' in Terminal to find the address you need
8. Choose printer model from the pop-ups at the bottom
9. Continue as described in the original tip

Hope this helps a bit

Ole Saalmann

PS: You should keep the original setup for local printing!



[ Reply to This | # ]
These does NOT work.
Authored by: modingo on Aug 25, '03 03:31:45AM

I followed these instructions completely and without a single typo. It simply will not print with the ---->% lpr -P C42UX printer

I get this:
[xx-xxx-xx-x:~] francesraabe% lpr -P C42UX printer
lpr: unable to print file: client-error-not-found

The LPD Queue name is C42UX and it prints from the host just fine. The remote (but networked) MacOS9 client can not locate the C42UX printer either. The Desktop Printer Utility was configured as mentioned for this classic mac with the appropriate IP & Queue name.

If anyone has successfully done this with these instructions, please post here and explain how you did this. It would surely be amazing if it actually worked!



[ Reply to This | # ]
These do NOT work.
Authored by: modingo on Aug 25, '03 03:37:26AM

I followed these instructions completely and without a single typo. It simply will not print with the ---->% lpr -P C42UX printer

I get this:
[xx-xxx-xx-x:~] francesraabe% lpr -P C42UX printer
lpr: unable to print file: client-error-not-found

The LPD Queue name is C42UX and it prints from the host just fine. The remote (but networked) MacOS9 client can not locate the C42UX printer either. The Desktop Printer Utility was configured as mentioned for this classic mac with the appropriate IP & Queue name.

If anyone has successfully done this with these instructions, please post here and explain how you did this. It would surely be amazing if it actually worked!



[ Reply to This | # ]
This Does
Authored by: mmichaelmmorriso on Oct 12, '03 12:28:34PM
I've tried for quite some time to get my files to print from my wife's iBook (clamshell) running OS 9.2 to the Epson Inkjet or HP Laserjet 4 on our network. The HP is directly connected to the ethernet hub and the Epson is connected to the OS X iMac via USB. I've tried using this hint, but it doesn't work, and I scoured the internet with no result. Yet, there is a simple, if not particularly elegant, way.

I've written a very simple Applescript and attached it to my drop box folder on the OS X machine. I've placed an alias of the drop box on the desktop of the OS 9 machine (set to appear on start up). When the user of the OS 9 machine drops a file into the drop box the Applescript is activated and the finder prints the file to the default printer.

1) Create this simple Applescript:


on adding folder items to this_folder after receiving these_items
	tell application "Finder"
		print these_items --this prints the item(s) dropped into the drop box
		delay 50 -- this pauses the process until the printer has time to print (make it longer if you wish)
		delete these_items -- this deletes the files after printing - keeps folder clean
	end tell
end adding folder items to
2) Put this script (I call it droptoprint) in /(name of your hard drive)/library/scripts/folder action scripts). Using folder actions, attach this script to your "drop box" folder in the "public" folder of your "home" folder on the OS X machine. Of course, you must have script menu and folder actions enabled (Script menu is a folder called Script Menu.menu in your Applescript folder or can be downloaded here You must drag the Script Menu.menu to your menu bar to activate). Go to the "Enable Folder Actions" item in the "Folder Actions" submenu to start folder actions. Then to "Attach Script to Folder" in the same submenu. Select the script and attach.

3) Mount the OS X machine's drop box on the OS 9 machine's desktop. To do so go to the Chooser, select AppleShare and log onto the OSX machine's hard drive (as guest) and have the drive mount to the desktop at startup (of course Personal File Sharing must be started on the OS X machine). Make an alias of the drop box and put it on the OS 9 desktop.

4) When the OS 9 user wishes to print have them either 1) print to a file and drop the resulting file into the drop box or 2) drop an existing file into the drop box. One limitation; the OS X machine must have an application that supports that file (e.g. if you have Apple Works on your OS 9 laptop but not on your OS X desktop.. then it won't print.) Oh... and remember that this will print and delete everything dropped into your drop box!!

enjoy!!

[ Reply to This | # ]

"This does" works for XP clients, too!
Authored by: bkaupe on Jan 02, '04 12:02:30PM

The Folder Action script works nicely for a WinXP machine accessing a shared folder on OS X.
After hours of screwing around with Samba/CUPS configs, this was so simple and effective...



[ Reply to This | # ]
Share a non-PostScript USB printer with OS 9
Authored by: MrLint on Mar 09, '04 02:37:11AM

This addition appears to be meant for those drivers that are able to send raster data directly over the network. This will not work with, for instance, sending a post script file (with laserwriter 8) to a non PS printer via LPR. Such printer require ghost script filtering. (which i haven't gotten to work yet)



[ Reply to This | # ]