I have a Lexmark printer on /dev/lp0, entry in printcap seems fine. root is the only account that can successfully perform an lp to this printer and have it print. Other users can cat > /dev/lp0 and have it print to that printer, just can't get jobs to it through lp.
Remote printing is set up on the machine, but the permissions on /usr/bin/lp seem fine. I can even do an lp from the other accounts and it'll assign a job name, it just won't print. It's not stuck in the queue, doing an lpstat never shows any jobs.
Any ideas?
Got something to add? Send me email.
More Articles by anonymous © 2009-11-07 anonymous
Keeping URIs so that they will still be around in 2, 20 or 200 or even 2000 years is clearly not as simple as it sounds ... However, all over the Web, webmasters are making decisions which will make it really difficult for themselves in the future. (Tim Berners-Lee)
Thu Mar 9 20:32:04 2006: 1757 TonyLawrence
Lot of posts here on that; have you read them?
Thu Mar 9 21:05:16 2006: 1758 TonyLawrence
Something doesn't make sense: you say it's not stuck in the queue. If it's not in the queue, it either failed to print or did print (was sent to the printer anyway).
Look in the /var/spool/lpd/printername : are the jobs there and lpstat just isn't seeing them?
Wait - you said it's on /dev/lp0 - so it isn't a remote - WHAT users can't print to this? Local users? Remote users?
Fri Mar 10 12:39:57 2006: 1762 anonymous
the jobs aren't in /var/spool/lpd, in fact it seems like they disappear just as soon as I put in the lp command. (permissions on the directory were fine too)
root has no problems printing with lp - those jobs come out fine, it's just the other user accounts that refuse to print. There's no entries in the users.deny and I did a scoadmin printer just to check to see if any users had been set to be denied and there were none. I'm just completely baffled.
Fri Mar 10 12:40:51 2006: 1763 anonymous
sorry, it's the local user accounts that don't print
Fri Mar 10 12:55:46 2006: 1764 TonyLawrence
Look in the "requests" log. Do the users show up there? If they do, then the lp system *did* print and it's what they are sending that is somehow whacked.
You said they got a job id, so unless your system is totally broken, these got spooled. You can confirm that by "disable lexmark" (or whatever you called it)
and observing that the files do show up in the spool directory.
If you then "enable", and the jobs disappear, they'll be in the "requests" log and they went to the printer..
Fri Mar 10 12:57:04 2006: 1765 TonyLawrence
And it wouldn't be /var/spool/lpd: this is a local printer so it's /usr/spool/lp/temp
Fri Mar 10 15:00:06 2006: 1767 anonymous
This is interesting.
I disabled the local printer (local_lp is the name) and sent a job to the queue from one of the local user accounts. I checked /usr/spool/lp/temp and found the job there.
Then I enabled the printer and the job immediately disappeared. But the printer still printed nothing.
Fri Mar 10 15:05:52 2006: 1768 TonyLawrence
Well, I've been trying to tell you this: the problem is what you are sending to the printer. The job apparently is going there: if you really, really need to prove it you could:
touch /tmp/printfile
chmod 777 /tmp/printfile
/usr/lib/lpadmin local_lp -v /tmp/printfile
Fri Mar 10 15:38:19 2006: 1769 anonymous
Sorry for the continued craziness. But it keeps going.
I did the above - created /tmp/printfile, set permissions, and set it as the default device for printer local_lp.
Then I sent it jobs through lp from both root and the user accounts.
When I sent it jobs through root, they were clearly being appended to the file. When I sent it jobs through the user accounts, the file didn't change.
Fri Mar 10 15:41:29 2006: 1770 TonyLawrence
Then the user should have gotten email explaining what happened..
Fri Mar 10 16:35:18 2006: 1771 TonyLawrence
And now this really looks like your perms are munged. Have you REALLY checked this?
Mon Mar 13 19:31:51 2006: 1779 anonymous
Here are the permissions for lp:
/usr/bin
---x--s--x 1 bin lp 2600 Apr 27 1999 lp@
/usr/lpd/local
---x--s--x 1 bin lp 91484 Apr 27 1999 lp
/usr/lpd/remote
-rws--s--x 1 root daemon 36680 Apr 22 1999 lp@
/var/spool/lpd directory:
drwxrwxr-x 11 root daemon 512 Mar 13 14:12 lpd
Is there anything else I should be checking?
Tue Mar 14 13:19:47 2006: 1781 TonyLawrence
Did you run scoadmin to fix permissions - or at least check them?
There is something whacked here - you probably need to have someone log in and see what is really happening here.. or if there is someone local to you, have them stop in. I think we are just missing something obvious.
Tue Mar 20 20:17:11 2007: 2924 anonymous
hen I try to print to a network printer when *not* logged
in as root, the print job never reaches the printer. There
are no errors at the command line.
Solution
One of the reasons this can occur is due to incorrect
permissions on the /etc/hosts file. Check this first.
Common /etc/hosts permissions should be 0644.
So, change your /etc/hosts to the permissions above,
by using following command:
# chmod 0644 /etc/hosts
Sat Jun 2 15:28:58 2007: 3016 anonymous
common problem with unix printing. i've found no way to resolve this issue, under unix or linux. Seems the the lp command demands only root to print. Shoddy programming if you ask me. Should be a lpuser file somewhere on the system and anyone (username) listed in the file should be able to print to any printer allowed. No matter how screwed up his/her/it's document is, it should print something.
Tue Jul 31 09:26:41 2007: 3064 John
Had the same problem, print jobs for ordinary users 'stick' in the print queue & stop anything else printing in that queue. Cancel all the jobs for ordinary users & then any root jobs would print.
Set permissions on /etc/hosts (was a link file on my system, so cd to the link directory) & set the permissions to 644, all jobs dissapeared from queue as soon as set permissions & now printing fine !
Fri Aug 31 17:21:31 2007: 3099 anonymous
simply check the dev directory for the persmissons on lp, change to 666 and off you go!)
Mon Feb 16 21:08:47 2009: 5445 anonymous
FYI: I have encountered this kind of issue in the past and the resolution was this: The lp command was producing an error message due to the -o options not working with the driver file used. EG -o si was not understood by the version of the driver file used. When you are root, this error is reported (if you capture it) but the print job continues. If you are not root-equivalent, the error stops the print job from spooling out, it just disappears. Remove all the options on the line first, and test print, and you might find it to be the cause.
Mon Feb 16 21:18:11 2009: 5446 TonyLawrence
I'd have to see your driver script to understand how that could happen. An unknown option would just be ignored by any script I recall.
------------------------
Printer Friendly Version
SCO OpenServer 5.0 root can print to local prtr users can't Copyright © March 2006 anonymous
Have you tried Searching this site?
This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.
Contact us
Printer Friendly Version