3

In one of the schools I work at, I was told that users are having trouble printing -- that the print queues keep getting jammed, and they are prompted for a password that they don't have to unjam them.

Our users are using Macs running OS X 10.5.7. The computers are printing directly to a network printer (ie. without going through a print server first).

I found out how to determine which machines have problems:

lpstat -o -p

shows which jobs are in the queue, and states things about the printers. On a problem computer, it ends with this:

printer CJHS_WestLab_HP1320 disabled since Wed Dec 16 09:35:54 2009 -
    /usr/libexec/cups/backend/lpd failed

I think the reason that print jobs are failing is because somehow, the printer is defaulting to using size A4 paper -- and students here use US Letter-sized paper exclusively. The job then goes to the printer, which starts blinking until you hit one button to print anyway, or another to cancel the job.

I have two questions:

  • how can I enforce a US Letter page size (in a script?)
  • can I let users clear the queue themselves? enable them to pause and unpause printers?
    • if not, is there a good script to run to purge the queues?

I can see that as an admin, I can purge print jobs in these ways:

  • I found a nice script that'll clear the queues every two minutes -- but surely there is a more elegant solution to the problem!? [I'll take something that works over something that is elegant, but elegant + works == goodness].
  • And, with just a little more searching ... cancel -a -. It still prompts for someone who belongs to the lpadmin group, and it doesn't resume stuck printers ... but it is really useful to know, for fixing things as an admin.

I also found this Mac OS X hint that negates the requirement for users to be in the lpadmin group by editing /etc/cups/cupsd.conf . This sounds great -- I'm just worried that it'll be stomped on by a software update.

Still, I can't help but feel that there is something I'm overlooking, and that there is a better solution to this problem. (And I'd love to know why the default page size is A4, and how to fix that.)

Clinton Blackmore
  • 3,510
  • 6
  • 35
  • 61

3 Answers3

3

To avoid messing with cupsd.conf (and risking stompage), you can add users to the _lpadmin group:

sudo dseditgroup -o edit -a fred _lpadmin

or just add everyone:

sudo dseditgroup -o edit -t group -a everyone _lpadmin

BTW, membership in _lpadmin grants both the ability to manage queues, and also configure printer settings; if you just want to grant queue management, I believe you can do that by adding people to _lpoperator instead.

As for avoiding A4, my first thought is to edit the printer's ppd file to remove all mention of the cursed PageSize -- but this is not something I know anything about...

Gordon Davisson
  • 11,036
  • 3
  • 27
  • 33
  • I take it you've had problems with A4 as well :) I've been wondering about adding users to the lpadmin group, and wondering if it could be done in workgroup manager. On my 10.5 machine, there is an _lp and _lpadmin group -- I think _loperator might be new to 10.6. – Clinton Blackmore Jan 20 '10 at 15:23
  • Oh, I didn't realize you meant 'everyone' in the group command literally. I thought I was supposed to substitute a group in there that has all the users, or most of them. This has worked really nicely. Combined with telling the printer (over its web interface) to resise A4-sized documents and print them, I believe I've got my problem solved. – Clinton Blackmore Mar 09 '10 at 18:05
1

for your page size issue i had the oposite problem defaulting to us Letter fixed it with lpadmin

use and lpadmin comand on your printer and add "-o PageSize=*" * being the size you want to default to for example mine would be -o PageSize=A4

run man lpadmin in terminal to get a better look :)

  • `lpstat -v` gives the names of all the printers, which can be passed to `lpoptions` or `lpadmin`. The parameter I want is `-o media=Letter`. While these commands will change ~/.cups/lpoptions and /private/etc/cups/lpoptions, it does not (appear to) affect how GUI programs print. – Clinton Blackmore Mar 09 '10 at 18:47
1

When you go to System Preferences -> Print & Fax and change the "Default Paper Size in Page Setup", it writes the change to ~/Library/Preferences/com.apple.print.PrintingPrefs.plist .

The parameter can be ready by running

defaults read com.apple.print.PrintingPrefs DefaultPaperID

and typically returns na-letter or iso-a4.

It can be changed by the specified user by running

defaults write com.apple.print.PrintingPrefs DefaultPaperID na-letter

I want to manage this preference for my entire lab. To do this, I selected the computer group in Workgroup Manager, clicked on Preferences (up top) and then on the Details tab on the right. I then hit the plus button and found my correctly configured ~/Library/Preferences/com.apple.print.PrintingPrefs.plist file and went with the default of managing the properties "Often". I then found com.apple.print.PrintingPrefs in the list and hit the pencil to edit it. Under the "Often" keys, I deleted everything except the DefaultPaperID, and hit "Apply Now" and "Done".

I've confirmed that the setting takes effect (Apple Menu -> About This Mac -> More Info, and then, when System Profiler comes up, scroll down to "Managed Client" (near the bottom), and see if it shows the setting). I think it'll work nicely.

Clinton Blackmore
  • 3,510
  • 6
  • 35
  • 61