Printing with Linux


Many Linux newbies find it difficult to configure a Linux printer. It's hard to believe all the praises of the power of Linux's printing system when you cannot get anything to print. In this section, we will figure out just how to get you printing under Linux.

The lpd printing system

There are a couple of printing systems that can work with Linux, but all of the major distributions use the lpd system. The lpd system uses the lpr command, which you will see in the dialog box if you were to try and print something from Netscape.

The lpd printing system has six main parts:

  1. lpr- the command that is used to initiate printing.
  2. lpd- software (called a daemon) that handles print requests.
  3. /dev/socket- software (a socket) that communicates with the printing system's daemon.
  4. The print spool queue maintained by the printing system's daemon process so that it can accept print requests while the printer is active. It is a set of files stored in a directory, such as /var/spool/lpd.
  5. /etc/printcap- a configuration file that specifies printer options.
  6. parport- a kernel driver that provides access to the parallel port.

Controlling the lpd Printing System

If you are using KDE, you can control the print queue by using klpq, KDE's printer-queue program. To use klpq, first select "KDE->Utilities> Printer Queue." Then the klpq dialog box will appear. Next, highlight the print job you want to cancel and click "Remove."

If you use GNOME, you should use gnomepq, its printer-queue program. You can find it at (here) or for a faster download, you can also find it at (here). The program is available as source code or as an RPM file. If you're using an RPM-based distribution, download the RPM file and install it by using the command:

rpm -Uvh gnomepq-0.2-1.i386.rpm

where gnomepq-0.2-1.i386.rpm is the name of the RPM file you downloaded. To launch gnomepq, open a terminal window and issue the command:


The gnomepq dialog box will appear. To delete a print job, simply right-click on the print job and select "Delete" from the pop-up menu.