Here are the details of how to print to any OS X printer from Sheepshaver running under OS X. The instructions are based on Leopard, Snow Leopard, or Lion in the host Mac and 9.0.4 in Sheepshaver. It works with absolutely any OS X printer - the printer does NOT need to be a PostScript printer.
Before you begin, in Sheepshaver preferences, make sure slirp is selected as the Ethernet interface. Then, in Sheepshaver itself, in the TCP/IP control panel, next to Configure, choose Using DHCP Server. Then proceed as follows.
1. In OS X, click the Apple menu, then About This Mac, then More Info..., then (under Lion) System Report then Network, or (under Leopard or Snow Leopard) simply click Network. In Network, find the IP4 address; this is your Mac's IP address on your network. It will be something like 10.0.1.15, but almost certainly will be a different set of numbers. Write it down. Close the System Profiler (the program that displays the information you wrote down.)
2. In OS X, use System Preferences, then Sharing; put a checkmark next to Printer Sharing. Then, in the list of printers, highlight the printer that you want to print to, put a checkmark next to its name, and, under Leopard, click Open Print & Fax settings, or, under Snow Leopard, click Open Print Preferences.
3. In the Print & Fax settings, your chosen printer should be highlighted. Click Open Print Queue. In the dialog that describes your printer, under Leopard, click Info, or, under Snow Leopard or Lion, click Printer Setup; then, on the General tab, find the Queue Name (typically something like HP_LaserJet_4300, but with the name of your printer, not mine), highlight the queue name, and press Cmd-C to copy it to the clipboard. Close System Preferences.
Note: Before proceeding to the next steps, keep this important advice firmly in mind: Do not use the Chooser! No matter how tempted you are to open the Chooser and choose something, don't do it! If you are unable to resist the temptation to use the Chooser, please stop now, and do not try to continue with this method. Remember: Do not use the Chooser!!
4. Start SheepShaver. In the Finder, use File, Find... to find the Desktop Printer Utility and launch it. (Do not use the Apple Printer Utility, which is a completely different program. You absolutely must use the Desktop Printer Utility or this method will not work!) In the New Desktop Printer dialog, make sure that Laserwriter 8 is selected (there probably won't be anything else). In the list of options, select "Printer (LPR)" and click OK. (In some non-English versions, "Printer (LPR)" may appear as an entry that looks like "TCP/IP Printing" or something similar; look for LPR or TCP/IP and choose that item.)
5. In the Untitled 1 dialog, find the icon in the lower box, which is labeled either "Internet Printer" or "LPR Printer Selection" (depending on which version of the Desktop Printer Utility you have) and click the Change... button to the right of that icon. In the Internet Printer dialog, in the TOP line (Printer Address) enter the IP address of your Mac, which you found in step 1. (Something like 10.0.1.15 - but don't use 10.0.1.15 unless your Mac really and truly is at the address 10.0.1.15, because this is only an EXAMPLE. If you try to make this work by typing 10.0.1.15 into the box without actually finding the correct number in step 1, it is guaranteed NOT to work.)
6. Don't close that Internet Printer dialog! Click in the Queue box, press Cmd-V to paste in the Queue name that you copied in step 3, typically something like HP_Laserjet_4300 (but again, this is only an EXAMPLE - this will only work if you use the correct name.) If you are using a 64-bit version of SheepShaver, you may need to type in the Queue name instead of pasting it with Cmd-V; if you do, double-check your typing to make sure it is correct; then check it again. If you do not type it exactly correctly, this method is guaranteed not to work.
7. Don't close that dialog! Click Verify. This will test that something really is at the IP address you entered. If the verification doesn't work, start over, and check every step. If the verification works, then click OK. (If it still doesn't succeed after a second attempt, see the paragraph below that begins "If it still does not work" - the paragraph about Stealth Mode.)
8. Back in the Untitled 1 dialog, the next step depends on the version of the Desktop Printer Utility that you have. If you see a Create button, click on it, and in the Save Desktop Printer dialog, enter a name for your printer, like "OS X Printer" or "Roscoe" or anything you like, and click Save (if you see a Save button) or OK (if you see an OK button). If you don't see a Create button, go to the File menu and choose Save; enter a name for your printer, like "OS X Printer" or anything else, and click either OK (if you see an OK button) or Save (if you see a Save button). Close the Desktop Printer Utility.
When the printer icon appears on your SheepShaver desktop, try printing from WordPerfect or SimpleText or any other application in Sheepshaver. If something goes wrong, start over and follow the instructions EXACTLY. Please try following the instructions in obsessively complete detail, two or three times if necessary.
If it still does not work, in OS X, use System Preferences, open the Security & Privacy settings; if the Firewall is not already on, then click the Start button. Then click the lock to enable changes, and click on Advanced... If "Enable Stealth Mode" is checked ON, then remove the checkmark, because the setup for this method cannot possibly work if Stealth Mode is on in the OS X firewall. If you want to turn off the Firewall, then you may do so, but the Firewall must be started before you can click the Advanced... button. (You may turn Stealth Mode on again AFTER completing printer setup, but it must be off WHEN you create the Desktop Printer.)
Create PDFs from SheepShaver: This method makes it easy to print PDFs from SheepShaver. Search the Internet for "CUPS-PDF for OS X" and download and install the latest version. Create a CUPS-PDF printer in OS X's System Preferences. Share it, as described in steps 2 and 3 above. In SheepShaver, create a desktop printer as described above; the queue name will be CUPS-PDF. Print to it. The PDF output will go to the OS X folder named /Users/shared/cups-pdf/ANONYMOUS (this is actually a shortcut to a folder in a hidden folder, but this is the easiest way to reach it). Create a shortcut to that folder in a convenient place in your OS X system, and you get easy access to the PDF output. (Alternative method: an excellent Mac OS printer driver named PrintToPDF is available, but it limits you to using Times and Helvetica fonts, not any other actual fonts that may be in your documents; the CUPS-PDF method is more flexible.)
Troubleshooting note: If you get an error message from the Mac OS in SheepShaver when you try to print from old applications such as SimpleText, cancel the print job. Then try to print again, but, in the Print dialog, change the Font Download (or similar) settings so that the print job sends TrueType fonts, not PostScript Type 1 fonts, and do NOT check the box that tells the system to download all fonts. Do all this ONLY if the Mac OS tells you that printing has failed.
Note: This solution works even if your Mac has a 192.x.x.x address, not a 10.x.x.x address.
Note: Edited 17 March 2011 to include Snow Leopard instructions and to confirm that it works with all OS X printers. Edited again 26 April 2011 to confirm that this method works when your Mac has a 192.x.x.x address. Edited again 16 June 2011 to describe different versions of the Desktop Printer Utility. Edited again 13 November 2011 to add a warning about Stealth Mode (thanks to Ronald for that one). Edited again to specify all possible buttons. Edited again 14 November 2011 to clarify Stealth Mode issues - thanks again to Ronald.
Last edited by emendelson on Mon Jan 09, 2012 4:45 pm, edited 16 times in total.