Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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:

  1. How do you share a printer from an Ubuntu host to other hosts?

  2. Is it better to use different methods of sharing for each type of client vs. trying to get all the clients to talk, for example, SMB, to the printer?

    • The primary concern is quality of print results and reliability of printing. I had some problems printing from Mac and Ubuntu clients when the printer was attached to a Win XP desktop
share|improve this question

3 Answers 3

up vote 5 down vote accepted

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

  1. Open the System -> Administration -> Printing launcher for system-config-printer application.

  2. In the "Printer configuration" dialog box, select the Server -> Settings menu.

  3. In the "Basic Server Settings" dialog box, select the option Publish shared printers connected to this system

  4. Going back to the "Printer configuration" dialog box, open the Properties dialog box for your printer

  5. 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

  1. 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
  2. The more secure way, because you aren't auto-laoding things from the network:
    1. System -> Administration -> Printing, hit the +New button
    2. Under the Network Printer menu, select Internet Printing Protocol (ipp)
    3. 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.
    4. 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.

  1. Add a printer
  2. Set to "A network printer"
  3. 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.
  4. 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

share|improve this answer

You can do it with samba for any type of client.

loo at this

http://tldp.org/HOWTO/SMB-HOWTO-9.html

read about cups and samba

share|improve this answer
    
Thanks for the URL. I found the instructions at jonathanmoeller.com/screed/?p=1213 to be a little more clear. –  pcapademic Jan 12 '10 at 8:12

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.
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.