22.1. Introduction to Printing on Linux

Like other operating systems, Linux can print directly to attached printers or indirectly to printers connected to another system on a network. Any program that wishes to print runs a command like lpr to submit a job to the print server daemon, which adds the job to a queue for the specified printer. When the printer is ready, the daemon opens the appropriate parallel port or USB device file and sends it the print job data. If the printer is attached to another system on the network, the daemon connects using the appropriate protocol and sends it the job for queuing and printing.

Almost all Linux programs submit print jobs in one of two formats—plain text, or PostScript. Because most consumer-grade printers do not support PostScript, the print server daemon must convert the submitted PostScript to a format that the printer does recognize. This is done using a driver program or script, most of which are based around the freely available ghostscript PostScript rendering program.

Almost every different printer manufacturer (and even different models by the same manufacturer) has its own data format in which it accepts print jobs. All manufacturers supply driver software for Windows with their printers, but very few include drivers for Linux. This means that the job of writing drivers has to be done by free software enthusiasts who cannot always keep up with the rate at which new printers with new data formats are released. Some newer printer models may not be supported on Linux until a while after their release, and some models for which driver information is not available may never be supported.

Several different print system packages exist for Linux, such as LPR, LPRng, and CUPS. All perform basically the same task but have different capabilities and are configured in different ways. Most modern Linux distributions include either LPRng or CUPS, but some older versions may just include LPR.

There are also several different packages of printer drivers, many of which were created by Linux distribution vendors. All have the same purpose of converting postscript into the data format accepted by a printer, but have different configuration files and capabilities. The best are the CUPS drivers, because they have been designed for and well integrated with the CUPS print server.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.12.242