You need the necessary compiling tools, so if you haven't already done so, open a console and enter the following command
sudo aptitude install libgtk2.0-dev libxml2-dev gettext libnss-dev libnspr-dev libgtkspell.
This will download all the necessary dependencies.
Download the printer and scanner drivers from here. You will need to download the following files :
Download these files to your home directory.
You will now need to download Alien so you can convert the .RPM files into .DEB files. Install alien using the following command
sudo aptitude install alien
To convert the .RPM files into .DEB files
sudo alien -d *.rpm
To install the printer drivers
sudo dpkg -i cnij*.deb
To install the scanner drivers
sudo dpkg -i scan*.deb
sudo aptitude install libpng3
sudo ln -s /usr/lib/libtiff.so.4 /usr/lib/libtiff.so.3
sudo /etc/init.d/cupsys restart
sudo lpadmin -p MP160 -P canonmp160.ppd -v cnij_usb:/dev/usblp0 -E
sudo apt-get install libxml1
Now you have the printer completely installed.
Now we need to get the scanner completely installed. To do this, we need to install the scanner back-end.
Download the sane scanner back-end from here. Save it to your home directory.
Uncompress the downloaded file using the following command
tar -xvjf mp150-0.13.1.tar.bz2
sudo make install
(if asked to overwrite any files, choose Yes)
Turn on your Canon all-in-one printer, do a complete restart (not a simple log-out), and log back in. To test your scanner, place something in your scanner and open XSane by clicking Applications -> Graphics -> XSane Image Scanner. To scan, click on the Scan button. Don't forget to set the scan resolution to your liking.