Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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

share|improve this question

3 Answers 3

up vote 2 down vote accepted

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

share|improve this answer
    
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 9 '10 at 18:05

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 :)

share|improve this answer
    
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 9 '10 at 18:47

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.

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.