Home » Questions » Computers [ Ask a new question ]

How do I share printer from ubuntu 9.10 to windows, to Mac OS X, and to other Ubuntu hosts?

How do I share printer from ubuntu 9.10 to windows, to Mac OS X, and to other Ubuntu hosts?

I have a printer installed on an Ubuntu 9.10 desktop, and I wish to share the printer to a windows machine, a Mac OS X machine, and to some other Ubuntu hosts over the network. Two related questions come to mind:

Asked by: Guest | Views: 415
Total answers/comments: 2
bert [Entry]

"The built-in print sharing based on Internet Printing Protocol (ipp://) seems to work pretty well. In terms of configuring the server and Ubuntu clients, it is the easiest to manage, as no editing of a text file is needed.

Another problem I had with Ubuntu clients talking to a Windows machine sharing a printer was that it would keep failing. The problem was on the Ubuntu side, and the solution was to use usernames and passwords to connect to the print server, but still, it was annoying.

The following is based on the Ubuntu documentation wiki NetworkPrintingWithUbuntu

On the machine sharing the printer - the server

Open the System -> Administration -> Printing launcher for system-config-printer application.
In the ""Printer configuration"" dialog box, select the Server -> Settings menu.
In the ""Basic Server Settings"" dialog box, select the option Publish shared printers connected to this system
Going back to the ""Printer configuration"" dialog box, open the Properties dialog box for your printer
Open the ""Policies"" view and make sure that Enabled, Accepting Jobs, and Shared are selected

On the Ubuntu 9.10 or 9.04 machine needing to print - the Ubuntu Client

The easy way: System -> Administration -> Printing, select the Server -> Settings menu, and select the option Show printers shared by other systems.

If the machines are on the same subnet, and perhaps even farther afield from each other, the remote printer should just show up
If you look at the properties of the printer, you will see that the device URI is of the form:
     ipp://ip.address.or.name/printers/Printername
for example
     ipp://10.10.10.52/printers/Office

The more secure way, because you aren't auto-laoding things from the network:

System -> Administration -> Printing, hit the +New button
Under the Network Printer menu, select Internet Printing Protocol (ipp)
In the IPP Printer sub dialog box,

for the Host: field, enter a name or IP address for the desired printer, e.g., 10.10.10.52
for the Queue: fiend, append the given name of the printer (you will need to look at the server's ""Printer configuration** dialog box to find it, e.g., Office
The Verify button should light up. Click it. Wait for some affirmation that the remote printer is good to go.

Click the Forward button and follow the wizard to complete the configuration of the printer.

On the Windows machine needing to print - the Windows clinet (tested with XP)

The Windows client has the ability to print to a remote printer via ipp.

Add a printer
Set to ""A network printer""
Select the option Connect to a printer on the Internet or on a home or office network and simply enter the URI to the printer, e.g., ipp://10.10.10.52/printers/Office.
Select your driver. It may take a bit of hunting, but it seems to be the same scenario as with accessing a printer with Microsoft's SMB protocol

On the Mac OS X machine needing to print - the Mac client

This was pretty easy. The only problem I found was that the Mac OS X did not want to use the specific driver for the printer. The machine has the driver installed, as we have directly attached the printer to the macintosh in the past, but when connecting over IPP, Mac OS X seems to only want to use the Generic Postscript Printer driver.
work in progress"
bert [Entry]

"I prefer to use command line but the wiki's article doesn't say anything about it. Fortunately I found it here:

Network printer sharing in Ubuntu

STEP 1: Installing CUPS

You can install CUPS through Sudo using the following terminal prompt:

sudo apt-get install cupsys cupsys-client


After that just enter your user password and the packages should be
downloaded and installed in a few minutes.

STEP 2: Configuring the Ubuntu Print Server

Now that you have CUPS installed, you need to go to your Ubuntu
machine, the one which has the printer connected to it. This will be
your “Ubuntu Print Server”. You can configure it properly as follows:


Go to System > Administration > Printing.
The printer configuration window should pop up.
Now select the server tab from the menu bar and then open settings.
Once you are in the Basic server settings menu, check the box titled “Publish shared printers connected to this server” and click OK.
Now right click the printer you need to share and make sure the “Shared” option is checked, if not check it now.


Now that you have configured the Ubuntu server to share the attached
printer(s), we’ll head on to:

STEP 3: Setting up client Ubuntu machines for remote Printing.

The client machines are the ones you want to use to print documents
remotely to the Ubuntu Print server. You need to repeat the following
steps on every Ubuntu client (that you want to print from) on the
network to set up remote printing.


Open System > Administration > Printing
In the Printer Configuration window, go to Add > Network Printer.
Click on “Find Network Printer and then click on Find again.
Optionally you can specify the “Ubuntu Print server’s” IP address or Host name if you are having problems finding the printer.
_ Once you click Find, printers connected to the Ubuntu server should show up here. If they don’t show up you can open the Terminal and
enter the following Prompt to restart CUPS and then check again: sudo
/etc/init.d/cups restart."