From: wmitchel@fergie.dnet.ge.com (Bill Mitchell)
Newsgroups: comp.os.linux
Subject: ANSWER: lpr on SLS
Date: 16 Dec 1992 14:30:32 GMT
Organization: GE Advanced Technology Labs
Distribution: world
Reply-To: wmitchell@atl.ge.com
NNTP-Posting-Host: edgar.atl.ge.com

As suggested by someone in a recent post, to help reduce the traffic
on this newsgroup, here is a summary of the responses to my query about
getting lpr to work.

For me (I'm running SLS 0.98pl1) the following 5 steps do it:

1) obtain lpr.tar.Z from sunsite.unc.edu:/pub/Linux/system/Daemons/lpr.tar.Z

2) logged in as root and in the directory /, type
tar -xZf lpr.tar.Z

3) edit /etc/rc to add the line "/usr/etc/lpd" at the end

4) chmod og+w /usr/spool/lp1 (I don't know if this is necessary,
but it can't hurt)

5) edit /etc/printcap to change line 1 from
lp|panasonic:lp=/dev/lp1:sd=/usr/spool/lp/panasonic:lf=/usr/bin/mail:mc#1:\
to
lp:lp=/dev/lp1:sd=/usr/spool/lp1:mc#1:\

That's all there is to it.  The fifth step is all I did since my query.
I suspect that the offending part was that the spool directory (sd=) is
a directory that does not exist.  For newbies like me, binaries released
with personalizations like this can be the source of a lot of frustration
and questions posted to comp.os.linux.  Don't get me wrong -- I'm truly
grateful to all the people who have contributed software, and I realize
that it's difficult to remember which things you take for granted are not
known to unix sys admin newbies.

In case this doesn't work for everyone, here's a summary of the suggestions
received by email and posted to this group:

Jaime Jofre (loser@clueless.newbie.tyro.org) writes:

   The lp capability should point to a printer device in your /dec directory.
For example, lp=/dev/lp1.  It works fine for me :)

Peter Orbaek <poe@daimi.aau.dk> responds to wongi@netcom.com (Isaac Wong) with:

>In article <1992Dec11.194257.18065@netcom.com> wongi@netcom.com (Isaac Wong)
> writes:
>after lpr, i check the spool dir and it looks ok. ps to check for lpd and it's
>there, but lpq says daemon not present! any clue?

Lpq will report "no deamon present" if there's no deamon serving the 
printer in question.

In overview the lpd system works like this:

        There's one main lpd daemon that should always run.

        When a job is received, lpd forks and the child handles the
        queue for that job until the queue is empty. It's such a 
        child that lpq misses.

>BTW, i have the 'of' field of the printcap removed and i was using a test print
>in my printcap for testing, like:

>test:lp=/tmp/lp_test:sd=/usr/spool/test:lf=/dev/console:

That should work. You might want to have a af= entry too.

>Also, anyone's got a printcap for HP LaserJet IIIP ?

You might want to have a /usr/adm/lpd-errs file that is world-writable,
that is the default destination for log messages from lpd.

Jaime Jofre (loser@clueless.newbie.tyro.org) writes again:

Make sure you remove the output filter option in the printcap.  As it comes,
the printcap references a filter that you probably don't have, therefore
no daemon!  The line to remove is: of:/usr/lib/xxxx.xxx

David Simpson (c60c-2gf@web-2a.berkeley.edu) points out the non-obvious (to
me anyway):

I had this problem as well, and with a closer look at the lpr.README, I
realized what my problem was.  Being a Linux and sys. admin. newbie, I
misinterpreted the 'setgid' phrase to mean set the group id
to daemon.  You have to set the gid bit in lpr, lpc, and lpd by
typing chomd 2??? filename, where ??? are your permissions.  Also be sure
to get rid of any unneccessary commands in your printcap file.
You should be able to man printcap.

Hope this wasn't obvious, and helps you out a bit.

and in private email adds:

Also, my /etc/printcap entry is quite
sparse, no extra stuff.

lp1|panasonic|under my bed|:\
        lp=/dev/lp1:sd=/usr/spool/lp1:lf=/usr/adm/lplog:

David Dhuyvetter (cvadr021@csupomona.edu) adds:

  Be sure you have _both_ /etc/printcap and /usr/etc/princap.  (or one and a
link in the other directory)  This got things going for me.

  Do you know where I can find a complete doc of the printcap file?  The man
page says nothing about mc, ht, or ft.  I'm trying to get the ht to tell my
printer to translate lf->lf+cr, but it seems to be ignoring it. 

[Can anyone help him with that question?  These are in the provided
/etc/printcap, but not in the printcap man page.]

Victor Langeveld <vic@mbfys.kun.nl> suggests:

There is a filter mentioned in the default printcap. Entry "of=...".
My quess is that that is your problem.



-- 
 -- Bill

William F. Mitchell           |  wmitchell@atl.ge.com
GE Advanced Technology Labs   |  na.mitchell@na-net.ornl.gov

Just the facts -- no opinion disclaimer necessary.
Newsgroups: comp.os.linux