Hey,
I've been trying for a while to get shared printing to work from Linux to Windows and Mac OS X. Recently, I managed! So I'd like to share:
(1) Setup the printer in Linux
This part is fairly straightforward. Just plugin your printer, and it should be added automatically. If it's not, then let's configure it:
Code:
su -
yum install system-config-printer-gui
system-config-printer-gui
Add your printer from the printer configuration utility.
Now, click 'Apply' to finalize your print settings. Close the configuration utility.
Now, let's start the utility again and enable printer sharing:
Code:
su -
system-config-printer-gui
Click on your printer, and click 'Default'. Next, go to:
File menu > Sharing...
Please make sure 'This queue is available to other hosts' is checked (enabled). Click 'OK' to confirm sharing settings and 'Apply' if needed to finalize them.
(2) Configure using the CUPS backend
Next, we have to make sure CUPS is OK with the sharing. Open up Firefox or your other favourite browser and browse to:
http://localhost:631/printers
On that same printer your configured before, make sure that one of the buttons says:and notIf you see 'Unpublish Printer', then sharing is correctly enabled. Please skip to step 3.
If you DID see 'Publish Printer', then please click that button. When it asks for a username and password, enter root for a username and root's password for the password. When you now browse back to http://localhost:631/printers, it should say 'Unpublish Printer'.
Now, browse to:
http://localhost:631/admin. Make sure that 'Share published printers connected to this system' is checked (enabled).
(3) Configure the clients
Now that your printer is correctly shared via IPP (Internet Printing Protocol), the last and final step is to configure the clients.
Client: Mac OS X
Open up a Finder windows and browse to Applications. The easiest way to do this is to click the 'Macintosh HD' icon on your desktop and then to simply click 'Applications' at the top.
Open the Utilities folder, and open Printer Setup Utility. Click 'Add' at the top, and then hold the left option / alt key as your press 'More Printers'.
From the drop-down menu that appears, select 'Advanced'. Type in the information as you like - Queue name is the name for the printer. I like to just use the Linux queue name but add _remote after it so I know it's shared...
The 'Address' field is the important one. Enter the address like this:
Code:
ipp://hostname-or-ip:631/printers/linux_host_queue_name
So, for example, in Linux I have a HP DeskJet 5550 attached, and it's queue name is deskjet5550. The box's IP is 192.168.1.2, so the line looks like:
Code:
ipp://192.168.1.2:631/printers/deskjet5550
Now, choose the right driver for the remote printer - In some cases if you just stick with 'Generic' it won't print properly. If you're printer isn't listed there, then try going to your provider's site and downloading their driver or, if you have a HP printer, you can install HPIJS for Mac. For other (non-HP) printers, there's also the gimp-print drivers for Macs. In both cases, you'll need to install ESP GhostScript first.
Client: Linux
In Linux, adding a shared printer can all be done via the printer configuration tool. Let's start it again:
Code:
su -
system-config-printer-gui
Click 'Add'. Give your new network printer a name and description, it can be whatever you want. This part doesn't really matter. I like to just use the Linux queue name but add _remote after it so I know it's shared...
Click 'Next'. You'll see a drop-down menu at the top that says 'Locally-connected'. Change it to 'Networked CUPS (IPP)'. Complete the fields:
'Server' - enter your hostname or IP of the Linux box.
'Path' - Enter
Code:
/printers/linux_host_queue_name
So, for example, in Linux I have a HP DeskJet 5550 attached, and it's queue name is deskjet5550. The box's IP is 192.168.1.2, so my fields would look like:
Server - 192.168.1.2
Path - /printers/deskjet5550
Click 'Next'. For the printer driver, select 'Generic' and then click 'PostScript' in the list.
Click 'Next' (again...) and then 'Finish'. You're done!
Client: Windows
** NOTE: If using Windows ME or earlier you might need Windows patches for IPP printing. The ME one is here **
To add your IPP printer, first get into the "Add a Printer" wizard. It's accessible by:
Start > Control Panel > Printers and Faxes > Add a new Printer
Now that you're in the Wizard, click "Next". It will ask if you're adding a local or networked printer - Select Networked.
Enter your address as:
http://linux_hostname_or_ip:631/printers/linux_host_queue_name
When it asks for a driver, select the "Generic" category and then as a printer model select the "MS Publisher Imagesetter" printer.
Finish the wizard, and now you should be able to print via the IPP printing.
Firewing1