A Guide To Linux Printing - page 3
Files are normally submitted to the Linux printing system using the program lpr. Lpr is called by most applications when data needs to be sent to the printer. Invoking lpr by hand is a matter of calling the lpr program from the command line. Both users and applications can specify options for the print job by passing command line arguments to lpr. The most common option to set is the printer name. When you create a printer in Linux a name is normally assigned to it. Multiple printer configurations each with a different name can connect to the same physical printer. The two configurations might use different filter scripts or a different Ghostscript driver. Specifying, the printer name on the lpr command line is done with the -P option. To print the file test.ps to the printer named laser1, you would use the command "lpr -Plaser1 test.ps". Additional command line options for lpr are documented in lpr's man page. Lpr's task is to send the file to the print spooler. Network printers have the file sent by lpr to the remote print server. When printing to a printer connected to the local machine lpr will pass the file to the local print spooler.