J’utilise depuis des années une imprimante laser Canon LBP-1120 en imprimante d’appoint. Elle n’est pas correctement reconnue sous les systèmes Ubuntu et dérivés. Lors de la mise à jour sous Mint 18 elle n’était plus reconnue. Après quelques recherches j’ai réussi à l’installer…
Installation
Téléchargement et installation du pilote
Les pilotes Canon sont téléchargés sur le site officiel, il n’est pas nécessaire de se promener sur le site, on peut le faire en ligne de commande :
wget http://gdlp01.c-wss.com/gds/6/0100004596/03/Linux_CAPT_PrinterDriver_V260_uk_EN.tar.gz
Il existe une version plus récente des pilotes (2.70), je ne l’ai pas testée.
L’archive obtenue contient plusieurs fichiers. Les paquets contenus dans 64-bit_Driver/Debian
sont ceux qui nous intéressent. Les paquets cndrvcups-common_2.60-1_amd64.deb
et cndrvcups-capt_2.60-1_amd64.deb
doivent d’abord être installés (et dans cet ordre).
Paquets complémentaires
L’installation des paquets Canon n’est pas suffisante, il faut installer des paquets complémentaires pour l’architecture i386. Rien de bien méchant (une fois qu’on le sait…) :
sudo apt-get install libstdc++6:i386 libxml2:i386 zlib1g:i386 libpopt0:i386
Configuration et enregistrement du pilote
Pour commencer il faut rechercher sur quel port l’imprimante est branchée. La commande ls -l /dev/usb/
permet de trouver le port utilisé par l’imprimante. Par un des hasards de l’informatique ici, j’obtiens :
crw-rw---- 1 root lp 180, 1 sept. 8 18:32 lp1
L’imprimante est donc connecté sur lp1
sudo /usr/sbin/lpadmin -p LBP1120 -m CNCUPSLBP1120CAPTK.ppd -v ccp://localhost:59787 -E sudo /usr/sbin/ccpdadmin -p LBP1120 -o /dev/usb/lp1 sudo /etc/init.d/ccpd restart
L’imprimante est alors accessible par le nom LBP1120 dans le gestionnaire d’imprimantes. Il fait laisser l’imprimante qui a été trouvée par Linux et la mettre en pause (sinon il va la redétecter à chaque démarrage). Ici, c’est celle qui est identifiée LASER-SHOT-LBP-1120.
Normalement la commande sudo /etc/init.d/ccpd status
doit retourner deux valeurs (ce sont des numéros de processus).
Automatisation des commandes
Pour éviter de relancer les pilotes à la main à chaque démarrage du système on créé (ou complète) le fichier /etc/rc.local
.
sudo vim /etc/rc.local
Dans ce fichier on ajoute les lignes suivantes :
sleep 120 /etc/init.d/ccpd stop /etc/init.d/ccpd restart
Normalement, si l’imprimante est alimentée avant que le PC ne soit allumé, tout doit fonctionner.
Afficher l’état du pilote au démarrage
Dans le menu principal de Mint, aller sur le menu Applications au démarrage. Créer une nouvelle application en cliquant sur Ajouter. Les champs sont remplis avec les éléments suivant :
- Nom : Imprimante Canon (ou un truc comme ça ! )
Commande : captstatusui -P LBP1120
en ajoutant l’option -e
la fenêtre n’apparaîtra qu’en cas d’erreur.
- Commentaire : comme vous voulez 😉
- Délai d’exécution : 5, permet aux autres services d’être démarré avant, je ne sais pas si c’est indispensable mais ça marche comme ça, donc on change rien !
Liens utiles
- La procédure d’installation issue du forum Ubuntu (traduite par Google depuis le finnois !).
- Pour avoir l’interface graphique du pilote affichée en permanence je me suis inspiré de ce post.
Note du 2/10/2016 : de temps en temps l’imprimante n’est plus sur /dev/usb/lp1
mais repasse sur /dev/usb/lp0
sans explication. Un lien symbolique permet de résoudre le problème sudo ln -s /dev/usb/lp1 /dev/sub/lp0
… C’est pas beau mais ça marche !