On 2015-10-25, Jona Joachim <j...@joachim.cc> wrote: > Hi, > I was tired of CUPS so I decided keep it simple and stupid and use > lpd/lpr. Strangely, things don't work out as expected. It seems that > lpd never executes input filters. > > Here is the content of /etc/printcap: > lp|hl6050|Brother HL6050:\ > :lp=:rm=hl6050.lan:\ > :if=/home/jaj/bin/printbrother.sh:\ > :sh: > > mg3150|canon|Canon MG3150:\ > :lp=:rm=canon.lan:\ > :if=/home/jaj/bin/printcanon.sh:\ > :sh: > > Here is the content of printcanon.sh: > #!/bin/sh > > logger "printcanon called $@" > > /usr/local/bin/a2ps -BRq --columns=1 -o - | \ > /usr/local/bin/foomatic-rip -q -P Canon-PIXMA-MG3150 \ > --ppd /home/jaj/bin/Canon-PIXMA-MG3150-ijs-simplified.ppd > > printbrother.sh is the same except for driver and ppd. > Both scripts are executable. > I never see the "printcanon called" message in syslog and the printers > get incorrect data. The first printer understands a subset of > postscript so it prints fine, the second printer however does not. > If I run a document manually through the filter and the enqueue it to > lpr, the printers are more than happy to print. > > I see no error nowhere. > > $ cat /var/log/lpd-errs > Oct 25 07:47:01 asterix lpd[9652]: restarted > Oct 25 14:57:06 asterix lpd[17953]: restarted > > $ cat /var/spool/output/lpd/status > sending to hl6050.lan > > I went through the code of lpd to see where things could go wrong but > it's a bit complex and I couldn't understand the bits. > > Does anybody know where I could look to solve this? > > Best regards, > Jona > >
Does the lpd user have permission to run those scripts? Maybe run lpd under ktrace -i for more clues. lpd filters definitely worked in -current as of April because I was using them for the music queue at p2k15.