Windows 7 can't find CUPS printer shared from Ubuntu

Well, I finally got it working. It turns out there are several parts that need to work together (of course). But here's a way that requires zero work in terminal:

1) Setup Samba:

  • Install "system-config-samba".
  • Launch "Samba" from the launcher.
  • Open "Preferences" > "Server Settings" and enter the workgroup name used in Windows.

2) Share printer:

  • Go to http://localhost:631/admin/ and check the box "Share printers connected to this system".
  • Go to http://localhost:631/printers/ and check that the expected printer is listed.
  • Click the printer and check that it is listed as "Idle, Accepting Jobs, Shared, Server Default".

3) Connect the printer:

Do either of these steps:

  • On the Windows computer, open Windows Explorer and go to the "Network" item. There's an icon for the Ubuntu computer; open it. There's an icon for the printer shared from Ubuntu. Right-click that one and select "Connect...".
  • On the Windows computer, select "Add new printer" then "Connect to a printer on the Internet or network" and specify the full path of "http://{computername}:631/printers/{printername}"

Then go to the printer properties and set it up with the desired defaults.