[Samba] Printing from Win2000 to Linux
Joel Hammer
Joel at HammersHome.com
Sat Jan 18 14:12:00 GMT 2003
One interesting trick. To see which commands smbd supports for printing,
run:
strings `which smbd` | grep command
You will see commands to pause the entire queue, which I have left out of my
share. If you wanted to fine tune a queue, you could define all these
commands to do just what you like. For example, you might like to make
the printing command also mail a message saying that a user has printed a
file.
This could be made part of your printing command:
echo "user %U has printed a file %J from client %m" | mail -s JobDone administrator
You might also make pausing the queue impossible from a samba client. So,
you could define:
queuepause command = echo "You cannot do this" | smbclient -M %m
(I haven't tried this one.)
Joel
On Sat, Jan 18, 2003 at 08:41:39AM -0500, Joel Hammer wrote:
> I don't understand your print shares. That doesn't mean they are
> incorrect, it just means I don't use this method for configuring my
> smb.conf.
>
> Here is the easiest way I know.
>
> If you can print fine from the linux box, that means that the linux box can
> handle postscript files, since postscript is THE printing language on linux.
> Therefore, send all your windows files to the same queue you print from in
> linux. And, on the windows box, select HP laserjet III plus as your driver.
> This is a generic postscript driver, that is, it will convert your document
> into a generic postscript file. This file can be read with gv, for
> example. The file is then transferred to the spool directory specified
> in your print share, whence it is printed with lpr.
>
> I hate to depend on automatic, behind the scenes tricks to solve my
> printing problems, since you will never stop having printing problems and
> you might as well understand what is happening.
>
> Here is what I do. I use lprng but cups should not be too different, I would
> hope. There are some permissions problems in cups that I haven't seen in
> lprng.
>
>
> [global]
> encrypt passwords = yes
> netbios name = HAMMER2
> interfaces = 192.168.0.2
> security = SHARE
> guest account = ftp
>
> [ps]
> path = /tmp
> read only = No
> create mask = 0700
> guest ok = yes
> hosts allow = 192.168.
> printable = Yes
> printing = lprng
> print command = echo %J %p %s >> /tmp/junkJ;\
> a="`echo '%J' | sed "s/^.*- //"`" ;\
> echo This is truncated $a >> /tmp/junkJ;\
> /usr/bin/lpr -Pps -J"$a" %s;\
> rm %s
> lpq command = /usr/bin/lpq -Pps
> lprm command = /usr/bin/lprm -Pps %j
> lppause command = /usr/sbin/lpc hold ps %j
> lpresume command = /usr/sbin/lpc release ps %j
> share modes = No
> use client driver = yes
>
>
> I explicitly define all the printing commands. Just paranoid,
> I guess. It really isn't needed, if everything is working according to
> plan. Note: printing = parameter is a share level parameter.
>
> man smb.conf
> :/ printing
>
> I don't think share modes does anything but I am too lazy to find out.
>
> Just be sure the ps queue can handle postscript jobs, and you should be
> close to a solution.
>
> I won't give you my printcap file, since I use lprng and that might have
> a different format from cups, for all I know.
>
> Joel
>
>
>
>
>
> So, On Sat, Jan 18, 2003 at 09:37:56AM +0100, Michael Herber wrote:
> > I have two computers here - one with Win2000 and the other with SuSE
> > 8.1. My goal is that I can print from Win to my printer connected on the
> > Linux machine.
> > Now I tried quite a few things but nothing will work. First of all, here
> > my smb.conf:
> >
> > # Samba config file created using SWAT
> > # from 0.0.0.0 (0.0.0.0)
> > # Date: 2003/01/11 16:17:19
> >
> > # Global parameters
> > [global]
> > security = share
> > guest account = nobody
> > guest ok = Yes
> > printing = cups
> > printer name = lp
> > veto files = /*.eml/*.nws/riched20.dll/*.{*}/
> > load printers = Yes
> >
> > [homes]
> > comment = Home Directories
> > valid users = %S
> > read only = Yes
> > guest ok = No
> > veto files =
> > browseable = No
> > fstype = FAT
> >
> > [printers]
> > comment = All Printers
> > browseable = yes
> > public = yes
> > guest ok = yes
> > writable = yes
> > printable = yes
> > path = /var/spool/samba
> >
> > [print$]
> > comment = Printer Drivers
> > browsable = yes
> > guest ok = yes
> > read only = yes
> >
> > I know that there are two possibilities to install the printer on the
> > Win machine:
> >
> > 1. When I try to install it as local printer, I select "Standard
> > TCP/IP-Port" and enter the ip of the Linux computer "e.g.
> > 129.168.0.20"). The next dialogue tells me that the device can't be
> > found an I can select the type of device (e.g. "generic network card").
> > So I stopped here because oviously, this doesn't work correctly.
> >
> > 2. As network printer. Windows finds my Linux, even the printer, but
> > tells me that the server doesn't offer a correct driver for the printer.
> > I can then install a driver on the local machine, that means the Windows
> > one, right? Now I downloaded the right driver and select the .inf-file.
> > But then a dialogue tells me that the driver isn't the correct one for
> > this version of windows or not available. So no chance here too.
> >
> > But I know from other users in the net that it is possible to print from
> > Win 2000 to Linux correctly. So is somebody here who can help me till
> > this really works?
> >
> >
> >
> >
> > --
> > To unsubscribe from this list go to the following URL and read the
> > instructions: http://lists.samba.org/mailman/listinfo/samba
> --
> 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