The Linux Printer Package is an integrated suite of utilities for the Linux operating system, allowing you to configure and manage Linux printers in a user-friendly way.
This package supports all common printing systems, including variants of LPD (BSD, LPRng, ...) and the new Common Unix Printing System (CUPS).
LLPR, a replacement for the 'lpr' command.
These programs are depending on the GTK libraries (version 1.2 or higher) to function properly. Before you can run these tools, you will need to make sure the libraries are properly installed on your system. Most Linux distributions install these libraries by default, sometimes as part of the GNOME Desktop installation.
You need to have administrator privileges to be able to affect global settings.
Maybe you do not have the GTK libraries installed. These usually come with most Linux distributions, but you may have to install them manually. Refer to your distribution's installation manual for more details about installing additional packages.
Some versions of the KDE or GNOME desktop environments may require that you restart your session for the changes to take effect.
Some printers have conflicting settings, meaning that some settings for two options can't be selected at the same time. When you change a setting and the Printer Package detects such a conflict, the conflicting option is changed to a "No Choice" value, and you have to choose an option that does not conflict before being able to submit the changes.
In some conditions, it may
not be possible to change the default queue. This happens with some variants of LPRng, especially on recent RedHat systems that use the 'printconf' database of queues.
When using printconf, the /etc/printcap file is automatically refreshed from the database of printers managed by the system (usually through the 'printtool' command), and the queues in /etc/printcap.local are appended to the resulting file.
Since the default queue in LPRng is defined as the first queue in /etc/printcap, therefore it is not possible for the Linux Printer Package to change the default when some queues have otherwise been defined using printtool.
LPD systems identify the default queue as the one named 'lp'. Thus if there is already a queue by this name, and if it doesn't have any alias, then you won't be able to change the default. To work around this, you can either delete the queue, or rename it by manually editing the /etc/printcap file.
The N-up feature is achieved through post-processing of the PostScript data that is being sent to the printing system. However, such post-processing can only be adequately achieved if the PostScript data conforms to the Adobe Document Structing Conventions. Problems may arise when using N-up and other features relying on post-processing if the document being printed isn't compliant.
Legacy BSD lpr systems have a hard limitation on the length of the option string that can be passed to the printing system. As such, if you selected a number of different options, the length of the options may be exceeded and some of your choices won't be passed to the programs responsible for implementing them. Try to select less options that deviate from the defaults, to save on memory usage.
Most Unix applications that offer a Landscape orientation option in their printing options will generate correct PostScript code that should be printed as is. In that case, you need to make sure that you leave the LLPR option to its default Portrait setting, to avoid unwanted rotations of the page that would result in a cropped output.
If the data being sent is in Encapsulated PostScript (EPS) format, some earlier versions of CUPS (1.1.10 and before) have a bug preventing them from being processed correctly. When going through LLPR to print, the Printer Package will work around this issue by converting the data to regular PostScript. However, if your application bypasses LLPR and feeds EPS data to CUPS, the document may not print correctly.
To be able to configure and use SMB-shared printers (such as printers shared on a Windows machine), you need to have a correct installation of the SAMBA package that enables that feature. The 'smbclient' command should be available and usable on your system.
Most Unix applications will expect a command like the regular 'lpr' command to be non-interactive and thus return immediately. Since LLPR is waiting for user input before passing the job on to the print spooler, very often the application will wait for the process to return, and thus will appear to be frozen (its windows won't refresh). This is normal and the application should resume functioning correctly after the user exits LLPR.
It can be specified in the "Add Printer" dialog of the configuration tool, if you don't use the CUPS printing system. Unfortunately, CUPS currently doesn't allow to specify the IP address of SMB printers, so you will have to be able to browse the resource with Samba in order to be able to print.
Some versions of CUPS, especially those shipped with Mandrake Linux before the 8.1 release, have some known bugs when processing the PostScript output from some applications. Try upgrading to the latest version of CUPS (at least 1.1.14). Some RPM packages for most popular distributions are provided as a convenience with this Linux Printing Package.
There may be some local options defined in your ~/.lpoptions file, which is manipulated by the lpoptions command. These options will always be used if not overriden by LLPR settings. To get rid of all options for a printer, run the following command, replacing 'printer' with the name of the queue:
lpoptions -x printer
Most printing systems will not run as the super-user but as a special user (usually 'lp'). Therefore, make sure that the file you have chosen to print to is accessible to the user owning the spooler daemon.
Unfortunately, some Unix applications may generate non-compliant PostScript output that may not be supported by Ghostscript, or even the printer itself in PostScript mode. You can try to capture the output to a file and view the results with Ghostscript (gv or ghostview will allow you to do so interactively) and see if you get error messages. However, since the application is at probably fault, contact your software vendor to inform them of the issue.
This is a known bug of Ghostscript (until GNU Ghostscript version 7.05) when the base color space of the document is indexed color space and it is converted through CIE color space. Because Postscript uses CIE color space for Color Matching System, you should upgrade Ghostscript on your system at least GNU Ghostscript version 7.06 or later. You can find the recent Ghostscript at www.ghostscript.com.
This section gives a few technical details for some of the printing systems supported by the Linux Printer Package.
Printers configured by this package are able to recognize extended command-line options, that can be passed to lpr or lp (consult your system documentation to find out the exact syntax).
Most of these options are compatible with similar options offered by the CUPS printing system. A detailed reference of standard CUPS printing options is available at this link.
All CUPS options are supported on the LLPR command line, and can be specified with the -o flag. For example:
llpr -o landscape document.ps
The CUPS options that are not handled by LLPR and that are available on the command line for regular printing tools are the following :
media, landscape, number-up, orientation-requested, Collate, OutputOrder, sides, job-sheets, page-ranges, page-set, brightness, gamma, raw
Please note that due to some restrictions on the way options are passed in LPRng systems, the syntax of the job-sheets and media options is slightly different: instead of separating the elements of these options with commas (,), they have to be separated with underscores (_).
For instance: use job-sheets=none_secret instead of job-sheets=none,secret as it would be used with CUPS.
The Linux Printer Package also recognizes the num-copies option, which is used to specify the number of copies of the print job to be produced. For Linux printers, it should be used instead of the regular lpr options (-K or -#), as it allows to enable collating.
For example, this command prints 3 copies and enables collating:
lpr -Z num-copies=3 -Z Collate=true document.ps