Archaic wrote:
While in a discussion with a friend, I found that I was not aware of
some of the particulars involved in a certain setup. The following
questions assume a non-postscript printer on a linux box shared via
samba.
When a print job comes in over smb from a windows client, and that
client has the correct printer driver installed, is that file already
transformed into what the printer can read? And if so, would the print
server need anything beyond cups? (This is assuming that no one is
printing directly from the print server itself).
This depends upon what you mean by "correct printer driver".
Scenario 1: Manufacturer-supplied printer driver. In this case, the data
on the wire are in the format that the printer understands. For this to
rork, raw print jobs must be enabled in CUPS (edit /etc/cups/mime.convs
and /etc/cups/mime.types)
Scenario 2: The universal driver is downloaded from
http://www.cups.org/windows/index.php - in this case, PostScript is used
on the wire, and CUPS converts from PostScript to the printer format.
For this to work, a Linux CUPS-compatible driver for the printer must be
installed, e.g. this would be Gimp-Print (or now gutenprint) for Epson
inkjets.
You want to read:
file:///usr/share/samba/swat/help/Samba3-HOWTO/classicalprinting.html
file:///usr/share/samba/swat/help/Samba3-HOWTO/CUPS-printing.html
Although, due to all complexity associated with SAMBA printing, I prefer
configuring Windows 2000/XP clients to print directly to CUPS, without
any need for SAMBA. To do that:
1) Configure CUPS so that you are able to print a test page from Linux.
Enable access from the needed subnets in /etc/cups/cupsd.conf
2) Download http://ftp.easysw.com/pub/cups/windows/cups-samba-5.0rc3.tar.gz
3) Run the following commands
tar zxf cups-samba-5.0rc3.tar.gz
tar xf cups-samba.ss
cd usr/share/cups/drivers/
cp /etc/cups/ppd/relevant-printer.ppd .
4) Save the text below to the "cups.inf" file into the same directory
and edit it to match the ppd file name. Be sure to set line end marks to
DOS (CRLF).
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[Version]
Signature="$Windows NT$"
Provider="Microsoft"
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
DriverVer=03/16/2000,5.00.2195.1
[Manufacturer]
"CUPS"=CUPS
[CUPS]
"HP DeskJet 600/600C" = PCL-601.PPD
[PCL-601.PPD]
[EMAIL PROTECTED],PSCRIPT
DataSection=PSCRIPT_DATA
[PSCRIPT]
cupsdrv5.DLL
cupsui5.DLL
cups5.HLP
[PSCRIPT_DATA]
DriverFile=cupsdrv5.DLL
ConfigFile=cupsui5.DLL
HelpFile=cups5.HLP
[DestinationDirs]
DefaultDestDir=66000
[SourceDisksNames.x86]
1 = "CUPS Installation Disk"
[SourceDisksFiles]
cupsui5.dll = 1
cups5.hlp = 1
cupsdrv5.dll = 1
PCL-601.PPD = 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5) Copy all files from usr/share/cups/drivers/ to some temporary folder
on the Windows client. Start -> Settings -> Printers, add an Internet
printer, type in the URL of the form
http://print-server.example.com:631/printers/relevant-printer
When Windows asks for a driver, point it to that cups.inf file you got
from this mail.
6) Print a test page from Windows.
Alternatively, you may want to use the stock Adobe PostScript driver
(although I don't know any reason for such preference). In such case,
you will need only the ppd file from CUPS and the following "adobe.inf"
file:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[Version]
Signature="$Windows NT$"
Provider=%MS%
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
DriverVer=03/16/2000,5.00.2195.1
[ClassInstall32.NT]
AddReg=printer_class_addreg
[Manufacturer]
"CUPS"=CUPS
[CUPS]
"HP DeskJet 600 Series" = PCL-601.PPD
[PSCRIPT.OEM]
CopyFiles=PSCRIPT
[PCL-601.PPD]
[EMAIL PROTECTED],PSCRIPT
DataSection=PSCRIPT_DATA
[PSCRIPT]
PSCRIPT5.DLL
PS5UI.DLL
PSCRIPT.HLP
PSCRIPT.NTF
[PSCRIPT_DATA]
DriverFile=PSCRIPT5.DLL
ConfigFile=PS5UI.DLL
HelpFile=PSCRIPT.HLP
[DestinationDirs]
DefaultDestDir=66000
[SourceDisksNames.x86]
1 = %W2Kcd%,driver.cab,,"I386"
2 = "CUPS"
[SourceDisksFiles]
ps5ui.dll = 1
pscript.hlp = 1
pscript.ntf = 1
pscript5.dll = 1
PCL-601.PPD = 2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
In this case, after you point Windows to this inf file during the
installation of the Internet printer, it will complain about missing
PSCRIPT5.DLL file. Point it to the driver.cab file somewhere in
C:\Windows\System32\Drivers
--
Alexander E. Patrakov
--
http://linuxfromscratch.org/mailman/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page