139 lines
5.2 KiB
Plaintext
139 lines
5.2 KiB
Plaintext
The Linux Print2Win mini-HOWTO
|
||
|
||
Marcelo Pereira da Silva
|
||
|
||
|
||
|
||
marcelo@pereira.com
|
||
v1.1
|
||
|
||
|
||
Jan 2002
|
||
Revision History
|
||
Revision 1.1 2002-07-19 Revised by: ms
|
||
Revision 1.0 2002-01-01 Revised by: ms
|
||
|
||
|
||
This howto contains the general configuration to get Linux printing to a
|
||
Windows print share.
|
||
|
||
-----------------------------------------------------------------------------
|
||
Table of Contents
|
||
1. Introduction
|
||
2. Server (Windows)
|
||
3. Client (Linux)
|
||
3.1. Standard lpr
|
||
|
||
|
||
4. /etc/printcap Tips
|
||
5. License
|
||
6. Credits
|
||
|
||
-----------------------------------------------------------------------------
|
||
1. Introduction
|
||
|
||
As we want the print service running, we'll set up all the environment step
|
||
by step, to avoid mistakes or bad configurations.
|
||
|
||
First, set up the server; when you have the server running, configure the
|
||
clients.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2. Server (Windows)
|
||
|
||
There is no special rules when configuring the server. Just install the
|
||
printer driver in the Windows server, test it to verify that the printer is
|
||
running properly, and share the printer.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3. Client (Linux)
|
||
|
||
The client configuration is similar to Linux to Linux printing.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.1. Standard lpr
|
||
|
||
The simplest way to do it is to add an entry to /etc/printcap. As a quick
|
||
example, the entry for a generic matrix printer would be:
|
||
# EPSON LX300
|
||
epson:\
|
||
:sd=/var/spool/lpd/epson:\
|
||
:mx#0:\
|
||
:sh:\
|
||
:if=/var/spool/lpd/epson/filter:\
|
||
:lp=/dev/null:
|
||
|
||
Note Make sure you are using the correct filter, or the right generic one.
|
||
|
||
Be sure you have created the directory /var/spool/lpd/epson, and the users
|
||
you wish to use the printer have the right access to this.
|
||
|
||
For example, assume the Windows print server is named meriadoc, with an IP
|
||
address of 192.168.1.49, and the printer is shared from Windows as epsonLX.
|
||
|
||
So, you have to configure /var/spool/lpd/epson/.config like this:
|
||
share='\\meriadoc\epsonLX'
|
||
hostip=192.168.1.49
|
||
|
||
Where:
|
||
|
||
<EFBFBD><EFBFBD>*<2A>
|
||
|
||
share='\\windows-print-server-name\print-share-name'
|
||
|
||
<EFBFBD><EFBFBD>*<2A>
|
||
|
||
hostip=windows-print-server-IP
|
||
|
||
|
||
Once your /etc/printcap is configured, you have to enable the print share:
|
||
[localhost]$ lpc up epson
|
||
[localhost]$ lpc enable epson
|
||
|
||
If everything is ok, you can send jobs to the queue:
|
||
[localhost]$ lpr -Pepson file
|
||
-----------------------------------------------------------------------------
|
||
|
||
4. /etc/printcap Tips
|
||
|
||
I have used the entry below in the first example, but this is not a
|
||
particularly good idea:
|
||
...
|
||
:lp=/dev/null:\
|
||
|
||
Because lpr does an "exclusive" open on the file you specify as lp=. It
|
||
does this in order to prevent multiple processes from trying to print to the
|
||
same printer at the same time.
|
||
|
||
The side effect of this is that in your case, eng and colour can't print at
|
||
the same time, (usually more or less transparent since they probably print
|
||
quickly and since they queue you probably don't notice) but any other process
|
||
that tries to write to /dev/null will break!
|
||
|
||
On a single user system, probably not a big problem. I have a system with
|
||
over 50 printers. It would be a problem there.
|
||
|
||
The solution is to create a dummy printer for each. Eg: touch /dev/eng.
|
||
|
||
|
||
[localhost]$ touch /dev/eng
|
||
[localhost]$ touch /dev/colour
|
||
-----------------------------------------------------------------------------
|
||
|
||
5. License
|
||
|
||
This document, Print2Win-HOWTO, is copyrighted (c) 2001-2002 by Marcelo
|
||
Pereira da Silva. Permission is granted to copy, distribute and/or modify
|
||
this document under the terms of the GNU Free Documentation License, Version
|
||
1.1 or any later version published by the Free Software Foundation; with no
|
||
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.
|
||
A copy of the license is available at [http://www.gnu.org/copyleft/fdl.html]
|
||
http://www.gnu.org/copyleft/fdl.html.
|
||
-----------------------------------------------------------------------------
|
||
|
||
6. Credits
|
||
|
||
Thanks to all those who sent opinions about this document, to everybody who
|
||
told me some printing tips, to Rick Bressler, and a special thanks to Harish
|
||
Pillay, who wrote the first version of this document.
|