Rechercher dans ce blog

mardi 16 juin 2009

lpd queue with cups using cups-lpd

Pour créer une queue lpd avec CUPS il faut utiliser un petit daemon auxiliaire lancé par inetd

pour ne pas imprimer la banner il faut ajouter l'option -o job-sheets=none

En fait je suppose que l'on peut utiliser les options de lpr (voir plus bas)

CUPS-LPD

cups-lpd(8)

Name

cups-lpd - receive print jobs and report printer status to lpd clients

Synopsis

cups-lpd [ -h hostname[:port] ] [ -n ] [ -o option=value ]

Description

cups-lpd is the CUPS Line Printer Daemon ("LPD") mini-server that supports legacy client systems that use the LPD protocol. cups-lpd does not act as a standalone network daemon but instead operates using the Internet "super-server" inetd(8) or xinetd(8). If you are using inetd, add the following line to the inetd.conf file to enable the cups-lpd mini-server:

   printer stream tcp nowait lp /usr/libexec/cups/daemon/cups-lpd cups-lpd \

   -o document-format=application/octet-stream

Note: If you are using Solaris 10 or higher, you must run the inetdconv(1m) program to register the changes to the inetd.conf file.

If you are using the newer xinetd(8) daemon, create a file named /etc/xinetd.d/cups containing the following lines:

   service printer

   {

   socket_type = stream

   protocol = tcp

   wait = no

   user = lp

group = sys

passenv =

   server = /usr/libexec/cups/daemon/cups-lpd

server_args = -o document-format=application/octet-stream

   }

Options

-h hostname[:port]

Sets the CUPS server (and port) to use.

-n

Disables reverse address lookups; normally cups-lpd will try to discover the hostname of the client via a reverse DNS lookup.

-o name=value

Inserts options for all print queues. Most often this is used to disable the "l" filter so that remote print jobs are filtered as needed for printing; the examples in the previous section set the "document-format" option to "application/octet-stream" which forces autodetection of the print file format.

Performance

cups-lpd performs well with small numbers of clients and printers. However, since a new process is created for each connection and since each process must query the printing system before each job submission, it does not scale to larger configurations. We highly recommend that large configurations use the native IPP support provided by CUPS instead.

Security

cups-lpd currently does not perform any access control based on the settings in cupsd.conf(5) or in the hosts.allow(5) or hosts.deny(5) files used by TCP wrappers. Therefore, running cups-lpd on your server will allow any computer on your network (and perhaps the entire Internet) to print to your server.

While xinetd has built-in access control support, you should use the TCP wrappers package with inetd to limit access to only those computers that should be able to print through your server.

cups-lpd is not enabled by the standard CUPS distribution. Please consult with your operating system vendor to determine whether it is enabled on your system.

Compatibility

cups-lpd does not enforce the restricted source port number specified in RFC 1179, as using restricted ports does not prevent users from submitting print jobs. While this behavior is different than standard Berkeley LPD implementations, it should not affect normal client operations.

The output of the status requests follows RFC 2569, Mapping between LPD and IPP Protocols. Since many LPD implementations stray from this definition, remote status reporting to LPD clients may be unreliable.

LPR OPTIONS

The following options are recognized by lpr:

-E

Forces encryption when connecting to the server.

-H server[:port]

Specifies an alternate server.

-C "name"

-J "name"

-T "name"

Sets the job name.

-P destination[/instance]

Prints files to the named printer.

-U username

Specifies an alternate username.

-# copies

Sets the number of copies to print from 1 to 100.

-h

Disables banner printing. This option is equivalent to "-o job-sheets=none".

-l

Specifies that the print file is already formatted for the destination and should be sent without filtering. This option is equivalent to "-o raw".

-m

Send an email on job completion.

-o option[=value]

Sets a job option.

-p

Specifies that the print file should be formatted with a shaded header with the date, time, job name, and page number. This option is equivalent to "-o prettyprint" and is only useful when printing text files.

-q

Hold job for printing.

-r

Specifies that the named print files should be deleted after printing them.

Compatibility

The "c", "d", "f", "g", "i", "n", "t", "v", and "w" options are not supported by CUPS and produce a warning message if used.