Subject:
Re: New submission: Printing with Debian and Windows Mini-HOWTO
From:
Jesse Meyer ####@####.####
Date:
8 Apr 2003 15:52:38 -0000
Message-Id: <3E92F066.9080605@btinet.net>
Kurt Pfeifle wrote:
> Jesse Meyer wrote:
>>
>> Debian woody. Your confusion might be over the fact that I have
>> the cupsys-bsd package installed, which acts as a replacement lp*
>> utilities.
>>
>> I hate to sound so sure of myself, but if I comment out the lines
>> and restart smbd, I can't print from my windows workstation. If I
>> put those lines back in and restart smbd, I can.
>
>
> So re-check my wording, please:
>
> --> "See 'man smb.conf'"
>
> --> "*If* Samba is linked against libcups,..."
>
>
> The man page recommends to set "printing = cups" and "printcap =
> cups". Of course, if you set "printing = sysv" (although you have an
> smbd linked against libcups, you are on your own and *have* to set
> commands manually....
>
> Please tell me if Samba 2.2.3a from Debian (Woody, whatever...) is
> linked against libcups:
>
> "ldd `which cupsd`"
dagda:/home/dasunt# ldd `which cupsd`
libz.so.1 => /usr/lib/libz.so.1 (0x40018000)
libslp.so.1 => /usr/lib/libslp.so.1 (0x40027000)
libcups.so.2 => /usr/lib/libcups.so.2 (0x40034000)
libnsl.so.1 => /lib/libnsl.so.1 (0x4004c000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40060000)
libc.so.6 => /lib/libc.so.6 (0x4008d000)
libm.so.6 => /lib/libm.so.6 (0x401aa000)
libresolv.so.2 => /lib/libresolv.so.2 (0x401cb000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
dagda:/home/dasunt# ldd `which smbd`
libcups.so.2 => /usr/lib/libcups.so.2 (0x40018000)
libdl.so.2 => /lib/libdl.so.2 (0x40030000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40034000)
libpam.so.0 => /lib/libpam.so.0 (0x40048000)
libc.so.6 => /lib/libc.so.6 (0x40050000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x4016d000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
You said cupsd, but don't you mean smbd? Included both, and from what I
see, it is linked against cups.
>
> Also, what are your settings for "printing = ..." and "printcap
> (name) = ..."?
printing = cups
printcap name = /etc/printcap.cups
load printers = yes
>
> If it works for this particular combination of OS/CUPS/Samba version
> the way you put it -- OK. But it surely isn't true for all other
> versions. You should point out then that "unfortunatly, contrary to
> recommendations, Debian decided to not build in direct CUPS support
> into its Samba packages. Therefor the advice in the "smb.conf" man
> page doesn't hold true here, and you need to do it differently.....
> blah blah..."
First rule of thumb - woody is old. An elderly grandfather compared to
most other distros. Therefore, the man 5 smb.conf page is probably out
of date from what you are using. The man page mentions cups in one
place (searching by /cups):
printing (S)
This parameters controls how printer status information is
interpreted on your system. It also affects the default values for the
print command, lpq command, lppause command , lpresume command, and lprm
command if specified in the [global] section.
Currently nine printing styles are supported. They are BSD, AIX,
LPRNG, PLP, SYSV, HPUX, QNX, SOFTQ, and CUPS.
To see what the defaults are for the other print commands when
using the various options use the testparm(1)program.
Debian tends to have 3 branches at any given moment - the stable branch,
the testing branch, and the unstable branch. All packages first go into
the unstable branch (forever known as Sid, named after the kid next door
in Toy Story who liked to break toys), then move into testing, and
eventually, testing enters a freeze, in which some bugs are squashed,
and finally becomes a stable release. The current stable release was
released about 9 months ago, if my memory is correct, and thus contains
some quite old packages. The version of smbd on my system is
2.2.3a-12.3, cupsys is 1.1.14-4.4 (everything after the - tends to be
debian version specific, which denotes patch levels). When I went
searching for information to set up this machine, this is the advice I
recieved. Perhaps later versions of cups/smbd had better integration,
which makes your way better. Or perhaps I got some bad advice. :)
Now I might have screwed up (probably did, actually), but if the
cupsys-bsd tools are installed, to fake the lp* commands, then I do not
see why one can't let samba consider any local printers to be a
traditional lp-style printer.
I see 3 ways of getting a cups printer working on a windows machine:
1) my current setup of faking an lp printer.
2) your way of letting smbd integrate with cups.
3) install unix printing support on the windows machine and let it
interface with cups directly.
Who is to say which way is the best?
Hope that helps,
~ Jesse Meyer