How To Install A (Canon) Printer On Debian And Debian-Like Systems
This tutorial will cover how to install the well-known CUPS printing system, and optionally tell you how to have your Canon printer work. There are extra details about where to find Canon drivers and how to install the "Print to PDF" feature.
If you didn't check any option at the Debian network installation, you will need to download and install a few packages.
Run the following command as root:
# apt-get install cups cups-client "foomatic-db*"
This will install CUPS and download a database of printer drivers.
Allow Users To Print
As the Debian distribution installs a secure Linux system on your computer, most of the permissions involved by installing packages are "opt-in". This means you have to explicitly grant permission to users so that they can print.
This is done by adding them to the lpadmin group:
# adduser YOUR_NORMAL_ACCOUNT lpadmin
Configure Your Printer
Power on and plug your printer, and then browse to http://localhost:631/
Go to the Administration tab and click Add printer. At that point you will be required to type your normal user and password (not root).
CUPS will look for printers available on the network or attached to your computer.
Choose your printer in the Local printers section.
Fill the form if you want to, then see if your printer driver is
in the list.
NB: Your exact model number is probably not in the list, however if you've got a 3030 printer, the 3000 driver is the one you need.
If you don't find your printer in the list, either the driver just doesn't exist for non-Windows OS / Mac OS, or it is proprietary (non-free).
If you bought a Brother or HP printer, you're lucky because all of their current printers are provided with an opensource driver. Install the hplip package for Hewlett Packard printers.
You can't find Canon drivers on non-free repositories. You have to go to the Canon website and download them.
Download A Canon Printer Driver
Go to www.canon.com, select your country and language, then go to
the Support page, find your printer (in category "Printer"
Choose "Linux" as your operating system. Let the language setting as it is. (Because maybe the drivers could be hidden if the included manual doesn't exist in your language).
Download that UFR II driver file.
Install Canon UFR II Driver
You'll end up with a zip file / archive.
Open your Terminal again, change to your Downloads directory, and unzip that file:
$ unzip *ufr2*.zip
The unzipped directory is the language you choose, e.g. "english" or "italiano". cd to that directory, then open the "driver" directory corresponding to your architecture (32 or 64 bits), and finally open the RPM folder.
As you may know, RPM is the "Red Hat Package Manager", but Debian uses APT. RPM files have the ".rpm" extension and Debian packages get a ".deb" extension.
So, we will have to convert them.
For that purpose, install a program called alien. And I'd advice to install fakeroot as well. (Fakeroot allows you to work on Debian packaging without root privileges, which are not needed until the installation part.)
# apt-get install alien fakeroot
Then convert the packages:
$ fakeroot alien --to-deb *.rpm
Finally you can now install them as usual:
# dpkg -i *.deb
Configure Your Printer
Reload the "Add printer" page on the CUPS web interface, and this time you should be able to find your printer model in the list. (You can also press "Choose another ...." and go back to "Canon" again.)
You should not need to restart cups, but if you want to, just to be sure, do the following as root:
# service cups restart
Voilà ! You've successfully installed your printer!
Print To PDF
Here is a trick that could be helpful. If you're using an application that doesn't provide an "Export to PDF" function, you can simply print as normally and select a special "PDF printer."
In order to do that, you have to install the "cups-pdf" package:
# apt-get install cups-pdf
Your "PDF printed" documents will be put in a folder called "PDF" in your home directory, i.e. ~/PDF/
You may have to create this directory yourself if you have issues with the cups PDF printer.
Use The CUPS Web Frontend
The CUPS web user interface is the place to go whether you need to manage your printers and printing jobs, and find the reasons of printing issues. You can pause or cancel a job and even re-print a document.
Note you have to modify your /etc/cups/cupsd.conf configuration file if you want the interface to be accessible from other computers in your network.