Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

10.3: Print to a remote CUPS server Network

In Panther, it can be difficult to print to a remote CUPS server. This is because Panther runs CUPS as its own print engine, and will attempt to render the PostScript for you once you select your correct printer driver. It will then send the rendered file to the remote CUPS server. The remote CUPS server will then try to render the already rendered file and will give a no_file error. The work-around is to make one end of the chain a 'raw' printer.

The Solution:
Make the printer on the mac into a 'raw' printer. Here's how:

  1. Open a webbrowser and go to http://127.0.0.1:631/. This is a front end to the printer admin, Apple's 'Printer Setup Utility' is just a front end to the same place. However Apple have not included every option. Like making a raw printer.*
  2. Click the 'Printers' link. This will give you a list of currently installed printers on your Mac.
  3. Have you already created the printer? If not click the 'Add Printer' button and enter a name for the printer. The name must only be made up of printable characters (A-Z, a-z, 0-9, _, no spaces!)..
  4. If you have already created the printer, click 'Modify Printer'
  5. Set a printer description. The description will be in your Print settings when you print and it can contain spaces. Click Continue.
  6. On the next screen select 'Internet Printing Protocol (ipp)' and press 'Continue'.
  7. Enter the device URI. This will look like ipp://1.2.3.4/printers/queue_name, where 1.2.3.4 is the IP (or the address) of the print server. Check with your sysadmin if you're not sure. If you created the printer with Apple's 'Printer Setup Utility', you'll need to change the /ipp/ to /printers/ at this point (Apple seem to be redefining standards ... grrr ... M$). Click Continue.
  8. Select 'Raw' from the list. Click Continue
  9. Select 'Raw Queue (en)' (or anything else if you have other languages) and Click Continue.
  10. Your printer is now set up and will be in the list of Shared Printers when you go to print.

So what's the problem? We need to use the web interface to set this printer up because Apple (in their wisdom) have decided not to include Raw printing in their setup. Because we have to set up the printer in this manner, it will appear in our print settings as a 'Shared' printer and thus cannot be the default printer (if you know of a way to get it back into the list of local printers, please post in the comments). This means you have to select it every time. If you find some way to select Raw from Apple's Printer Setup Utility, please post it in the comments.

    •    
  • Currently 2.43 / 5
  You rated: 3 / 5 (7 votes cast)
 
[77,988 views]  

10.3: Print to a remote CUPS server | 13 comments | Create New Account
Click here to return to the '10.3: Print to a remote CUPS server' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
10.3: Print to a remote CUPS server
Authored by: js on Jan 19, '04 11:52:39AM
10.3: Print to a remote CUPS server
Authored by: fenner on Jan 19, '04 11:54:39AM
In the Printer Setup Utility, an option-click on "Add" gets you an advanced selection in the printing protocol list; this at least lets you specify the full device URI. However, even this advanced interface doesn't seem to permit specifying that the printer is raw. If you want to do this from the command line, try
lpstat -t
to get a list of internal printer names (these are what show up on the CUPS GUI but have nothing to do with what Printer Setup Utility or the print panel display), and
lpoptions -p printername -o raw
to set up raw mode on the printer. To remove the raw attribute, use
lpoptions -p printername -r raw


[ Reply to This | # ]
10.3: Print to a remote CUPS server
Authored by: js on Jan 19, '04 11:56:51AM

You don't have to change to raw. This problem is simply overestimated.



[ Reply to This | # ]
10.3: Print to a remote CUPS server
Authored by: fenner on Jan 19, '04 01:52:10PM

I have to admit that I've got several printers configured to spool to a remote CUPS server and have never had the problem from this hint. I did want to share the option-click on add printer button, since afaik that's not documented anywhere and is nicer if you don't want to go through the cups web interface.



[ Reply to This | # ]
10.5: Print to a remote CUPS server --- old tricks no longer work
Authored by: rpgoldman on Feb 24, '08 10:22:48AM

Alas and alack, on OS X 10.5, there is no option-click when adding a printer, and no access to any advanced menu item.

So for newer Macs, this trick won't work. I find that the hand-munging of CUPS through the CUPS web interface won't, either. I was able to add a printer that way, and can print to it through the command line, but the native mac interfaces don't see the printer queue I added by hand. It doesn't show up in the printer System preferences tool, either, although one can see it through the cups web interface.

This gives me only a very crippled printing facility. :-(



[ Reply to This | # ]
10.5: Print to a remote CUPS server --- old tricks no longer work
Authored by: dsomar on Mar 06, '08 04:22:34PM
I'm dealing with a Leopard upgrade and learned that CUPS needs to be re-enabled to display shared printers in Leopard. There's a quick command :

cupsctl BrowseRemoteProtocols=cups

Take a look at http://mcdevzone.com/2007/10/28/printer-fix-for-leopard/

Hope this helps,
D

[ Reply to This | # ]
10.3: Print to a remote CUPS server
Authored by: gxw on Jan 19, '04 08:36:31PM

Never had any problems printing to my CUPS server on Linux (except for a permission issue).
Rendezvous even added the Linux CUPS printer to the Mac automagically.



[ Reply to This | # ]
10.3: Print to a remote CUPS server
Authored by: MattHaffner on Jan 20, '04 01:34:11AM

Actually, that's not Rendezvous doing the adding--it's part of the CUPS protocol.

But I agree with you. I had to do nothing to print to any of the multitude of CUPS print queues (multiple ones per printer, no less) in our department (served by Linux boxes).



[ Reply to This | # ]
10.3: Print to a remote CUPS server
Authored by: oik on Feb 08, '04 01:47:32PM

I had trouble adding my Linux server's printer to OS X via the Printer Setup Utility. It would always say "Incomplete or invalid address", even though I knew the IPP URL worked fine (my roommate's Win XP machine added and printed to the same URL quite well). I went to the CUPS web admin interface on the OS X box and added a new printer with the same URL and it works fine.

I didn't have to set "raw" on either box, but I may try that since printing takes a few minutes to spool the test page. But then again, I may not bother with it since the printer shows up fine in the Print Setup Utility's Printer List.



[ Reply to This | # ]
10.3: Print to a remote CUPS server
Authored by: budGibson on Feb 12, '04 05:24:10PM

Contrary to several comments below, there is a problem printing to printers served by CUPS servers that are not on your local subnet. Comments below that say "it just worked without any intervention from me" are clearly connecting to CUPS servers on their local subnet. Connections to CUPS servers on your local subnet do occur automatically. When the CUPS server is on a remote subnet, it is hard to get printing to the printers it serves to work from a Mac.

Now, if you have a CUPS server that is not on your local subnet, there is a simpler way to print to the printers it serves than described by the hint. Edit your CUPS configuration file, found at /etc/cups/cupsd.conf, adding the following line shortly after the line that begins # BrowsePoll:

BrowsePoll server.ip.address:portNo

Where server.ip.address is either the DNS name of the CUPS server or its numeric IP and portNo is by default the number 631 (check with your server admin if that does not work). Then, you need to restart cupsd (accomplished by me by restarting my Mac; in linux I would have just run the restart init script for cupsd).

Now, the printers served from the CUPS server will show up as shared printers on your Mac when you go to print. I had no problem getting a shared printer to stick as a default.

HTH,
Bud

[ Reply to This | # ]
10.3: Print to a remote CUPS server
Authored by: Fieldson on Mar 27, '05 10:44:10PM

Expanding on budGibson's response.
You also need to have

Browsing On

(and possibly)

BrowseProtocol cups

set in the cupsd.conf file on the client computer. Otherwise your computer won't look for the cups printer, even though you set BrowsePoll.

Cheers,
Gregory



[ Reply to This | # ]
10.3: Print to a remote CUPS server
Authored by: faceless on May 27, '04 06:56:09AM

I've seen so many convoluted solutions to this, but none of them seem to hit the fact that CUPS is supposed to be pretty much self-configuring. I'd tried all these routes too, playing about with the web interface and so in, and in the end completely scrapped my cupsd.conf file on the linux server and started again with "vi" and the man pages.

The result? It broadcasts the list of printers and OSX just picks it up by default. Note my machines are on the same subnet and protected by an external firewall, and my printer (HP Deskjet) is already working from Linux

Here's "cupsd.conf" on the Linux server

ServerName blah.blah.com
MaxLogSize 0
MaxJobs 10
Browsing On
BrowseProtocols cups
BrowseAddress @LOCAL
BrowseAllow from All
Listen 631
<Location />
Allow from All
AuthType None
</Location>
<Location /admin>
AuthType Basic
AuthClass System
</Location>

Yes, that's it. I also uncommented the "application/octet-stream" from my mime.convs and mime.types.

After restarting CUPS on Linux, and going to Printer Setup in OSX, I get a "Shared Printers" menu, and underneath is my printer. Easy. No need to mess with OSX's CUPS settings at all.



[ Reply to This | # ]
10.3: Print to a remote CUPS server
Authored by: mactolinuxprinti on May 07, '05 05:45:39PM

My mac can see the linux print queue, put the printer says

Network host '192.168.1.100' is busy.

when I try to print to it.

I have

Order Deny,Allow
Deny From All
Allow From 127.0.01,192.168.1.101

in /etc/cups/cupsd.conf on the linux box.

Printing works fine from the linux box.

Can anyone suggest a solution?



[ Reply to This | # ]