L’installation d’imprimantes Canon sous Linux n’a jamais été drôle, et la LBP-1120 ne fait pas exception à la rêgle.
Jusqu’ici, il n’exitait qu’une seule solution, uriliser un driver réécrit pour une LBP-810 sous Linux, le CAPT 0.1 de Nicolas Boichat [la méthode pour utiliser CAPT 0.1 est décrite sur doc.ubuntu-fr.org et sur ubuntuforums.org]. Son fonctionnement était relatif (problèmes de pagination, d’impression sous Firefox, file d’attente à puger à la main,…).
Canon fournit désormais des drivers CAPT pour CUPS (Common UNIX Printing System). La dernière version est la 1.3 (04-04-2006). Notez que Canon ne fournit que le code source ou un package au format .rpm (pour Red Hat, donc).
Néanmoins, grâce aux efforts de Raphaël Doursenaud, qui a décrit la méthode pour CAPT 1.1 sur Debian, de Petar Vasić « abakus » qui a réécrit le tutorial pour CAPT 1.3 sur Ubuntu 5.10 (puis updaté pour 6.06), des petits malins de forums.ubuntu.fr qui ont bricolé sa méthode (notamment les pages LBP-2900 et LBP-3200), ainsi qu’à TNeo qui a mis à jour (en russe) le tuto avec les nouveaux noms des drivers Canon.
- Prérequis:
- Il n’y a pas besoin de programmes supplémentaires, Ubuntu 6.06 comprend alien et cups, et vous n’avez pas besoin de vous servir de l’interface graphique Canon (pour laquelle il faudrait installer libgtk1.2).
- Il n’y a qu’une imprimante CAPT installée, et elle est reliée à un port USB
- Toutes les commandes sont à entrer dans la console (Applications > Accessoires > Terminal)
- télécharger le fichier compressé comprenant le package rpm
$ wget http://software.canon-europe.com/files/soft23675/software/Driver.tar.gz
- décompresser le fichier
$ tar xvzf /chemin/de/mon/fichier/Driver.tar.gz
On obtient deux fichiers,cndrvcups-capt-1.30-1.i386.rpm
etcndrvcups-common-1.30-1.i386.rpm
, dans un répertoiredriver
- se placer dans le répertoire
driver
cd /chemin/de/mon/fichier/driver/
- exécutuer alien pour transformer les packages rpm en deb (donc utilisables sur une distribution basée sur Debian, comme l’est Ubuntu)
$ sudo alien -c cndrvcups-capt-1.30-1.i386.rpm
$ sudo alien -c cndrvcups-common-1.30-1.i386.rpm - installer les deux packages deb
$ sudo dpkg -i cndrvcups-common_1.30-2_i386.deb cndrvcups-capt_1.30-2_i386.deb
- Arrêter et redémarrer cups
$ sudo /etc/init.d/cupsys stop
$ sudo /etc/init.d/cupsys start - Créer les répertoires que dpkg n’a pas su créer (parce que les deb convertis depuis des rpm par alien ne sont pas parfaits…) [il semblerait que ces répertoires soient quand même créés, vérifier ou se contenter d’overkill]
$ sudo mkdir /var/ccpd
$ sudo mkdir /var/captmon
$ sudo mkfifo /var/ccpd/fifo0 - Donner les droits nécessaires à
fifo0
(777 est bizarre, mais indiqué par Petar Vasic)
$ sudo chmod 777 /var/ccpd/fifo0
- Enregistrer ppd dans le spooler
$ sudo /usr/sbin/lpadmin -p LBP1120 -m CNCUPSLBP1120CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
- Enregistrez l’imprimante dans le fichier de setup du daemon ccpd
$ sudo /usr/sbin/ccpdadmin -p LBP1120 -o /dev/usblp0
Attentionusblp0
est spécifique à la 6.06. Les versions précédentes utilisaientusb/lp0
- Créer (ou remplacer) le script
/etc/init.d/ccpd
par le script créé par R. Dourseneaud (qui est compatible Debian) :
$ mv /etc/init.d/ccpd ccpdold
$ wget http://galeb.etf.bg.ac.yu/~vp030172d/ccpd.txt /etc/init.d/ccpd/ccpd
$ sudo cmod 755 /etc/init.d/ccpd/ccpd - Démarrer ccpd
$ sudo /etc/init.d/ccpd start
- intégration du daemon d’impression ccpd au demarrage d’ubuntu (expliqué ici)
$ sudo update-rc.d ccpd defaults 20
(update-rc.d is the Debian utility to install and remove System-V style init script links) - Ouvrir le fichier à modifier
$ mv /etc/init.d/ccpd ccpdold
$ sudo nano /etc/init.d/cupsys - Remplacer (à la main)
modprobe ppdev 2>/dev/null || true # for ISO-1284 device name detection
start-stop-daemon --start --quiet --oknodo --pidfile "$PIDFILE" --exec $DAEMON
Par le texte
modprobe ppdev 2>/dev/null || true # for ISO-1284 device name detection
# Starting ccpd daemon
/etc/init.d/ccpd start
start-stop-daemon --start --quiet --oknodo --pidfile "$PIDFILE" --exec $DAEMON
(Il faut ajouter deux lignes) - Fermer nano
Ctrl + X puis O puis enter - Tester
$ sudo ccpdadmin
On devrait obtenir l’affichage suivant:
==================================================
ccpdadmin [-p Printer-name -o Printer-dev-path]
ccpdadmin [-x Remove-Printer-name]CUPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 39787Entry Num : Spooler : Backend : FIFO path : Device Path : Status
----------------------------------------------------------------------------
[0] : LBP1120 : ccp : /var/ccpd/fifo0 : /dev/usblp0 :
================================================== - Imprimer quelque chose
- Ca devrait marcher (pour moi, ça marche!)
On obtient deux fichiers, cndrvcups-common_1.30-2_i386.deb
et cndrvcups-capt_1.30-2_i386.deb
Autre méthode décrite ici:
- Indiquer à la machine de ne pas oublier de lancer ccpd après chaque reboot.