Troubleshooting Printing Problems
Most Linux distributions rely on the standard printing service, inherited from Unix, known as CUPS (-the Common Unix Printing System) to guide a document or image from the desktop to the printer device. This is a fairly straightforward process that seldom goes wrong but which may occasionally need a helping hand. This section lists a few troubleshooting tips you can use if you should encounter problems printing from Linux.
Most, if not all, Linux distros facilitate at least some basic printing troubleshooting directly from the desktop GUI. In this chapter, we shall be using Fedora as an example, but the concepts will be common across all flavours of Linux.
In Fedora, you can access the printer configuration via the "System Settings" option from the User menu. When this is selected, a new dialogue box should display, similar to the one below:
From this, you can tell whether it is enabled or disabled (-here the status is shown as Off), the current state of the device (here, it is Paused) and the number of jobs queued (in the example, it is one). Click on the Show button to list the jobs currently waiting for the device:
From here, you can pause/delete or resume a particular document, by selecting the document and then clicking the appropriate video recorder style button (Play/Pause/Stop).
If the printer is showing as disabled (Off), you can try re-enabling it by clicking on the padlock icon, entering the administrator password, then clicking on the box to the left of the "OFF" box (-it should then display as "ON"):
If the active jobs then begin printing, then the problem has been resolved, and you can click the "Lock" button to ensure no accidental changes can occur from now on.
Behind the scenes, the CUPS service relies on the cups daemon. You should first check that this is running from the command line, using the grep command:
ps -efx | grep cups
If it is running, you should see output similar to the example below:
$ ps -ef | grep cups
root 981 1 0 09:36 ? 00:00:00 cupsd -C /etc/cups/cupsd.conf
fredb 2478 2453 0 09:44 pts/0 00:00:00 grep --color=auto cups
The cups daemon can be started, restarted or stopped like any other, using the syntax:
sudo service cups [start|restart|stop]
$ sudo service cups restart
[sudo] password for admin:
Restarting cups (via systemctl): [ OK ]
If this does not fix the problem, you can go on the examine the printer configuration file using:
sudo cat /etc/cups/printers.conf
This file is a standard text file - and can be edited using any basic text editor (-e.g. vi):
sudo vi /etc/cups/printers.conf
See reference 1 for details on what you can amend within this file. The generals CUPS configuration can also be viewed (-but we do not advise that you change it) using:
sudo more /etc/cups/cupsd.conf
Like most components in Linux, the CUPS log files are written in the "cups" subdirectory under the standard Linux log directory:
$ ls /var/log/cups
access_log access_log-20111211 error_log-20111204
access_log-20111120 error_log error_log-20111211
access_log-20111127 error_log-20111120 page_log
access_log-20111204 error_log-20111127 page_log-20110717
These files can be invaluable in tracking down a problem where there are no other clues.