[Samba] Printing - "lprm command" not getting executed

Joel Hammer Joel at HammersHome.com
Thu Dec 5 22:34:00 GMT 2002


Here is what I used for one share. Looks like yours.

[Win4LinZ53]
	comment = Raw Printer for Z53
	path = /tmp
	create mask = 0700
	guest ok = yes
	hosts allow = 192.168.
	printable = Yes
	printing = lprng
	print command = echo %p %s >> /tmp/junkJ; /usr/bin/lpr -PWin4LinZ53 -J'%J' %s; rm %s
	lpq command = /usr/bin/lpq -PWin4LinZ53
	lprm command = /usr/bin/lprm -PWin4LinZ53 %j
	lppause command = /usr/sbin/lpc hold -PWin4LinZ53 %j
	lpresume command = /usr/sbin/lpc release -PWin4LinZ53 %j
	printer name = lp
	share modes = No

There is a file, /etc/lpd.perms, whose syntax is awful.
I have one line in mine:
DEFAULT ACCEPT
Other problems come to mind, mainly, permissions.
Joel

On Thu, Dec 05, 2002 at 12:30:39PM -0800, David Neilson wrote:
On Thu, Dec 05, 2002 at 12:30:39PM -0800, David Neilson wrote:
> I am attempting to get printing services for Windows 2000 clients working 
> with Samba on a Red Hat 7.2 box.  The problem is I can not cancel print jobs
> 
> (either from a PC or the local smb client).   File sharing, and printing 
> other than this problem, work fine.  
> 
> Here is a listing of configuration and system info:  1) the samba packages 
> installed, 2) output of "uname -a", 3) the relevant parts of the smb.conf 
> file, 4) printing capabilities which work, and 5) more detailed information 
> about the problem.
> 
> 
> 1) SAMBA PACKAGES
> samba-2.2.1a-4
> samba-common-2.2.1a-4
> samba-client-2.2.1a-4
> 
> 
> 2) RED HAT LINUX
> Linux pegasus 2.4.7-10 #1 Thu Sep 6 17:27:27 EDT 2001 i686 unknown
> 
> 
> 3) EXCERPTS FROM SMB.CONF
> [global]
> # workgroup = NT-Domain-Name or Workgroup-Name
>    workgroup = WIN   # A W2K DOMAIN
> 
> # server string is the equivalent of the NT Description field
>    domain logons = yes
> 
> # if you want to automatically load your printer list rather
> # than setting them up individually then you'll need this
>    printcap name = /etc/printcap
>    load printers = yes
> 
> # It should not be necessary to spell out the print system type unless
> # yours is non-standard. Currently supported print systems include:
> # bsd, sysv, plp, lprng, aix, hpux, qnx
>    printing = bsd ### I HAVE ALSO TRIED lprng, AND LEAVING THIS COMMENTED
> OUT.
> 
> # Security mode. Most people will want user level security. See
> # security_level.txt for details.
>    security = domain
> 
> # You may wish to use password encryption. Please read
> # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
> # Do not enable this option unless you have read those documents
>    encrypt passwords = yes
>    smb passwd file = /etc/samba/smbpasswd
> 
> printer admin = tiberius,dneilson,root
> print command = /usr/bin/lpr -r -P%p %s
> lpq command = /usr/bin/lpq -P%p %j
> lprm command = /usr/bin/lprm -P%p %j
> queuepause command = /usr/sbin/lpc stop %p
> queueresume command = /usr/sbin/lpc start %p
> 
> #============================ Share Definitions
> ==============================
> [lp11]
>    comment=David's Printer
>    path=/var/spool/samba/public
>    valid users=dneilson mellwein
>    printer=lp11
>    printable=yes
>    printer admin=tiberius,dneilson,root
>    print command=/usr/bin/lpr -r -P%p %s
>    lprm command=/usr/bin/lprm -P%p %j
>    public=yes
> 
> 
> 4) PRINTING CAPABILITIES THAT WORK
> I can print from the local smbclient as well as any Windows 2000 client I 
> choose.  I am able to pause and unpause the print queue.  I have not had 
> any problem printing any kind of document in the correct format.
> 
> 
> 5) MORE DETAILS OF THE PROBLEM.
> When I try to delete a job, Samba gives the indication it deleted the job.
> On a Windows 2000 client, after I delete the job and hit Refresh, the job 
> is gone.  On the local smbclient, after I cancel the job and type "queue",
>  the job is gone.  But in both cases, if I type lpstat -t from the server
> command line, the job is still out there.
> 
> This problem can't be specific to Samba 2.2.1a, because I have tried it on
>  a machine with 2.2.7, and have gotten the same results.  
> 
> In troubleshooting, I changed the "lprm command" line to read: "lprm 
> command=/tmp/lprm %p %j".  The /tmp/lprm script consists of the following:
> #### START SCRIPT /tmp/lprm
> /usr/bin/id > /tmp/lprm.out
> /usr/bin/lprm -P$1 $2 >> /tmp/lprm.out 2>&1
> #### END SCRIPT /tmp/lprm
> When I cancel jobs, this script should at least create an output file, 
> but it doesn't - which indicates it doesn't get run.  As a result, I think
>  Samba is not paying any attention to the "lprm command" line in the 
> smb.conf.  Be aware that "testparm" will show the "lprm command" as having 
> the correct parameters (/usr/bin/lprm -P%p %j).  
> 
> I have checked the samba log files, and they are not written to when I 
> try to cancel jobs.
> 
> I have tried running a trace of the smbd command when I try to cancel jobs,
>  and here is the output.  It is only one line long:
> ### START strace OUTPUT
> select(1024, [9 10], NULL, NULL, NULL <unfinished ...>
> ### END strace OUTPUT
> 
> >From the Unix command line, if I run the lprm command as myself (dneilson)
>  "lprm -Plp11 <JOB_ID>", I can delete the job without any problem.  
> 
> 
> Thanks for any help you can provide.  
> 
> David Neilson
> 
> -- 
> To unsubscribe from this list go to the following URL and read the
> instructions:  http://lists.samba.org/mailman/listinfo/samba



More information about the samba mailing list