{{tag>Focal matériel imprimante Canon}} ---- ====== Installer le pilote d'imprimantes Canon CAPT ====== **[[:liste_imprimantes_canon|Consulter la liste des imprimantes Canon]] pour savoir si votre imprimante est supportée par ce pilote fourni par Canon.** De nombreux problèmes subsistent avec la LBP2900 et peut-être d'autres LBP, cela est peut-être lié au dernier pilote de Canon (la version 2.7x). Un [[pilote_canon_capt_alternatif|pilote alternatif]] a été développé et fonctionne très bien avec ce modèle et probablement d'autres LBP. Une autre solution est proposée [[https://askubuntu.com/questions/956674/how-to-make-canon-lbp2900b-work-on-ubuntu-16-04-lts|ici]]. **en**, (installer le pilote 32 bits en 64 bits) et [[https://forum.ubuntu-fr.org/viewtopic.php?id=2010140|là]] **fr**. =====Installation automatique===== Il existe un script qui vous installer votre imprimante automatiquement. Vous pouvez le trouver sur [[https://github.com/hieplpvip/ubuntu_canon_printer|Github]]. =====Installation manuelle===== Le script proposé au point précédent est l'automatisation de ce qui va suivre. ==== Téléchargement du pilote==== Le pilote Canon CAPT se présente sous la forme d'un fichier unique de type archive au format **[[:tar|tar.gz]]**.\\ Cette archive d'environ 127 Mo nommée : **linux-capt-drv-v271-uken.tar.gz** est à télécharger **[[https://sg.canon/en/support/0100459601/7|ici]]**. Une fois télécharger, les fichiers devrait se trouver par défaut dans le dossier //**Téléchargements**// du compte utilisateur en cours.\\ [[:archivage|Extrayez]] l'archive //linux-capt-drv-v271-uken.tar.gz// ce qui libérera un dossier :<< **linux-capt-drv-v271-uken** >>. Le dossier **linux-capt-drv-v271-uken** inclut les sous-dossiers par [[:architecture_materielle#mon_ubuntu_est-il_en_32_bits_ou_en_64_bits|architectures]] : * //**32-bit_Driver**// : Contient les [[:paquet|paquets .deb]] pour l'installation sur **[[:architecture_materielle|architecture]] 32bits**((il y a également les paquets au format RPM 32-bits)). //Voir la méthode : [[#Installation du pilote pour 32 bits]].// * //**64-bit_Driver**// : Contient les [[:paquet|paquets .deb]] pour l'installation sur **[[:architecture_materielle|architecture]] 64bits**((il y a également les paquets au format RPM 64-bits)). //Voir la méthode : [[#Installation du pilote pour 64 bits|Installation du pilote pour 64 bits]].// * //**Doc**// : Contient les informations légales relatives à l'utilisation et à __l'installation du pilote__. \\ ==== Installation du pilote==== Le pilote Canon CAPT nécessite l'[[:tutoriel:comment_installer_un_paquet|installation des paquets]] : **[[apt>libglade2-0,libcanberra-gtk-module]]** Vérifier que l'imprimante est allumée et connectée à l'ordinateur. === Installation du pilote pour 32 bits=== Depuis le dossier **linux-capt-drv-v271-uken**, naviguez jusqu'au chemin //**32-bit_Driver**//. Dans ce dernier, se trouve un dossier //**Debian **//qui contient les deux pilotes mis sous forme de [[:paquet]] :\\ * **cndrvcups-common_3.21-1_i386.deb** * **cndrvcups-capt_2.71-1_i386.deb** Pour [[:tutoriel;comment_installer_un_paquet|installer les pilotes]], depuis votre [[:gestionnaire de fichiers]], il suffira généralement de faire un double-clic sur le [[:paquet]] **cndrvcups-common_3.21-1_i386.deb** et de suivre les instructions de votre [[:gestionnaire de paquets]]. Vous ferez ensuite un double-clic sur le [[:paquet]] **cndrvcups-capt_2.71-1_i386.deb** afin de finaliser l'installation du pilote. === Installation du pilote pour 64 bits === Au préalable le pilote CAPT pour les versions 64 bits nécessite aussi l'installation des paquets 32bits suivants : **[[apt>libatk1.0-0:i386,libcairo2:i386,libgtk2.0-0:i386,libpango1.0-0:i386,libstdc++6:i386,libxml2:i386,libpopt0:i386,zlib1g:i386,libc6:i386]]** \\. Depuis le dossier **linux-capt-drv-v271-uken**, naviguez jusqu'au chemin //**64-bit_Driver**//. Dans ce dernier, se trouve un dossier //**Debian **//qui contient les deux pilotes mis sous forme de [[:paquet]] :\\ * **cndrvcups-common_3.21-1_amd64.deb** * **cndrvcups-capt_2.71-1_amd64.deb** Pour [[:tutoriel:comment_installer_un_paquet|installer les pilotes]], depuis votre [[:gestionnaire de fichiers]], il suffira généralement de faire un double-clic sur le [[:paquet]] **cndrvcups-common_3.21-1_amd64.deb** et de suivre les instructions de votre [[:gestionnaire de paquets]]. Vous ferez ensuite un double-clic sur le [[:paquet]] **cndrvcups-capt_2.71-1_amd64.deb** afin de finaliser l'installation du pilote. ==== Installation de l'imprimante ==== La documentation, fournie dans l'archive d'installation du pilote, peut vous donner des informations complémentaires à cette page. === Pré-requis === Connaître le nom du **fichier ppd(([[wpfr>Printer_Postscript_Description|Printer Postscript Description]]))** du pilote, correspondant à votre imprimante.\\ Tapez cette commande dans un [[:terminal]] pour obtenir la liste des fichiers ppd disponibles : ls /usr/share/cups/model/ | grep CNCUPS Pour la plupart des modèles, vous trouverez 2 fichiers correspondants à votre imprimante : //CNCUPSxxxxCAPTK.ppd// et //CNCUPSxxxxCAPTJ.ppd//. La documentation Canon recommande le //CNCUPSxxxxCAPTK.ppd//. Si après avoir suivi ce tutoriel votre imprimante ne fonctionne pas, essayez avec le fichier //CNCUPSxxxxCAPTJ.ppd//. \\ Vous trouverez également **[[:liste_imprimantes_canon#lasershot_lbp_et_i-sensys_lbp|ici]]** la liste des fichiers PPD pour votre imprimante. === Relancer CUPS === * Pour que l'installation du pilote CAPT soit prise en compte par [[:CUPS]], entrer les commandes suivantes dans un [[:terminal]] : sudo systemctl stop cups sudo systemctl start cups * L'installation se passe en trois étapes : * Installer la nouvelle imprimante dans [[:CUPS]] en indiquant quel pilote utiliser, * Indiquer au démon ccpd((démon spécifique à Canon pour la gestion de l'imprimante)) cette imprimante, * Démarrer le démon ccpd. * Installez l'imprimante dans CUPS en tapant la commande suivante dans un [[:terminal]] : sudo /usr/sbin/lpadmin -p [nom de l'imprimante] -m [fichier ppd] -v [uri périphérique] -E où : * -p [nom de l'imprimante] : modèle de l'imprimante * -m [fichier ppd] : nom du fichier .ppd du pilote (cf [[#pré-requis]] pour connaître son nom) * -v [uri périphérique] : définit l'attribut device-uri de la file d'attente de l'imprimante. Ici on mettra : ''%%ccp://localhost:59787%%'' * -E : active l'imprimante déterminée et autorise les demandes d'impression sur ce périphérique. Exemple pour une LBP5000 : sudo /usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp://localhost:59787 -E Le nom du fichier .ppd doit être exact. Attention donc à bien en respecter la casse((minuscule/majuscule)). Si cette méthode ne fonctionne pas, vous pouvez toujours utiliser l'ancienne procédure qui consistait à : - Vérifier l'existence ou créer les dossiers et fichiers **/var/ccpd**, **/var/captmon** et **/var/ccpd/fifo0** : sudo mkdir /var/ccpd sudo mkdir /var/captmon sudo mkfifo /var/ccpd/fifo0 sudo chown -R lp:lp /var/ccpd/ - Installer l'imprimante dans CUPS avec la commande suivante :\\ (exemple pour une LBP5000) sudo /usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E - Enregistrer l'imprimante dans le démon ccpd en tapant la commande suivante dans un [[:terminal]] : sudo /usr/sbin/ccpdadmin -p [nom de l'imprimante] -o [device] où : * [Nom de l'imprimante] : nom que vous avez choisi lors de l'[[#commande d'installation|installation dans cups]] * [device] : emplacement du fichier du périphérique : Vérifier dans le répertoire ///dev/usb// le nom exact (lp0; lp1; lp2 ...) - **Valeur de [device] pour une connexion en usb sur ///dev/usb/lp0// :** * [device] sera remplacé par : // /dev/usb/lp0 // * Exemple pour une LBP5000 : sudo /usr/sbin/ccpdadmin -p LBP5000 -o /dev/usb/lp0\\ Exemple de retour de cette commande pour une LBP5000 : Usage: ccpdadmin [-p Printer-name -o Printer-dev-path] ccpdadmin [-x Remove-Printer-name] CUPS_ConfigPath = /etc/cups/ LOG Path = None UI Port = 59787 Entry Num : Spooler : Backend : FIFO path : Device Path : Status ---------------------------------------------------------------------------- [0] : LBP5000 : ccp : //localhost:59787 : /dev/usb/lp0 : New!! - **Valeur de [device] pour une connexion en réseau :** * net : [adresse IP] * Exemple pour une LBP5000 : sudo /usr/sbin/ccpdadmin -p LBP-5000 -o net:192.168.0.20 Il peut être nécessaire d'ajouter une ligne // Allow From [adresse IP] // dans les sections // // et // // du fichier ** /etc/cups/cupsd.conf **.\\ === Démarrer le démon ccpd === 1. Adapter le démon ccpd au fonctionnement d'Ubuntu : \\ [[:tutoriel:comment_modifier_un_fichier|Ouvrez avec les droits d'administration]] le fichier : **/etc/init.d/ccpd** et ajoutez ces lignes après les 2 premières : ### BEGIN INIT INFO # Provides: ccpd # Required-Start: $local_fs $remote_fs $syslog $network $named # Should-Start: $ALL # Required-Stop: $syslog $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Start Canon Printer Daemon for CUPS ### END INIT INFO Terminez en enregistrant ce fichier.\\ Vous devez avoir ceci : #!/bin/sh # startup script for Canon Printer Daemon for CUPS (ccpd) ### BEGIN INIT INFO # Provides: ccpd # Required-Start: $local_fs $remote_fs $syslog $network $named # Should-Start: $ALL # Required-Stop: $syslog $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Start Canon Printer Daemon for CUPS ### END INIT INFO if [ `ps awx | grep cupsd | grep -v grep | wc -l` -eq 0 ]; then while [ `ps awx | grep cupsd | grep -v grep | wc -l` -eq 0 ] do ........................................ \\ 2. Tapez la commande suivante : sudo service ccpd start \\ ==== Vérifications de l'installation ==== 1. Taper dans un [[:terminal]] la commande suivante pour vérifier le fonctionnement du démon ccpd : sudo service ccpd status vous devriez avoir en retour quelque chose du type : ● ccpd.service Loaded: loaded (/etc/init.d/ccpd; bad; vendor preset: enabled) Active: active (running) since mar. 2016-05-03 15:29:37 CEST; 1min 31s ago Docs: man:systemd-sysv-generator(8) Process: 11374 ExecStart=/etc/init.d/ccpd start (code=exited, status=0/SUCCESS Tasks: 5 (limit: 512) CGroup: /system.slice/ccpd.service ├─11382 /usr/sbin/ccpd ├─11383 /usr/sbin/ccpd └─11384 captmonlbp5000 --data-write-fd=4 --data-read-fd=11 --cmd-writ mai 03 15:29:37 user1-System-Product-Name systemd[1]: Starting ccpd.service... mai 03 15:29:37 user1-System-Product-Name ccpd[11374]: Starting /usr/sbin/ccpd: mai 03 15:29:37 user1-System-Product-Name systemd[1]: Started ccpd.service. lines 1-14/14 (END) Taper sur la touche **q** pour reprendre la main dans le terminal.Si vous ne voyez ce type de réponse, [[:tutoriel:comment_modifier_un_fichier|éditez avec les droits d'administration]] le fichier **/etc/ccpd.conf** et ajoutez ceci (remplacez //LBP5000// et ///dev/usb/lp0// par ce que vous avez indiqué précédemment) : DevicePath /dev/usb/lp0 Redémarrer le démon ccpd et vérifier de nouveau son statut : sudo service ccpd restart sudo service ccpd status 2. Tapez dans un [[:terminal]] la commande suivante pour vérifier l'enregistrement dans le démon ccpd : sudo ccpdadminla commande doit vous renvoyer : Usage: ccpdadmin [-p Printer-name -o Printer-dev-path] ccpdadmin [-x Remove-Printer-name] CUPS_ConfigPath = /etc/cups/ LOG Path = None UI Port = 59787 Entry Num :Spooler :Backend : FIFO path : Device Path : Status ------------------------------------------------------------------- [0] :LBP-XXX : ccp : //localhost:59787 : /dev/usb/lp0 : où //LBP-XXX// et ///dev/usb/lp0// sont à adapter selon la manière dont vous avez installé votre imprimante dans le démon ccpd.\\ S'il y a une erreur, elle apparaîtra en fin de ligne.\\ \\ 3. Taper dans un [[:terminal]] la commande suivante pour vérifiez l'état de l'imprimante : captstatusui -P [nom de l'imprimante] où [nom de l'imprimante] est le nom que vous avez donné lors de l'[[#Installation de l'imprimante dans CUPS|installation dans cups]].\\ La commande doit ouvrir la fenêtre du //Canon Statusmonitor//((Le //Canon Statusmonitor// donne accès à certaines fonctionnalités avancées de l'imprimante telles que : nombres pages imprimées, niveaux toners, calibrage, nettoyage ou encore mise en veille)) avec le message "**Ready to print** (ou sleeping)".\\ Si toutefois la commande retourne le message "**capstatusui Socket Error**", vous pouvez essayer de redémarrer le démon ccpd et le service d'impression avec les commandes suivantes : sudo service ccpd stop sudo service cups restart sudo service ccpd start Si cela ne suffit pas, laissez l'imprimante allumée et connectée puis redémarrez l'ordinateur. Penser ensuite à lancer le démon ccpd. Si ces vérifications sont positives, l'imprimante devrait-être opérationnelle.\\ Essayer d'imprimer un document à partir de l'application de votre choix. Si les impressions sortent correctement vous pouvez passer à l'étape suivante. Tant que vous n'aurez pas réalisé la partie [[#Automatiser le démarrage du démon ccpd]], il faudra lancer le démon ccpd manuellement à chaque redémarrage de l'ordinateur. sudo service ccpd start 4. Définir cette imprimante par défaut (si vous le souhaitez) :\\ Ouvrez l'application "//Imprimantes//" faites un clic droit sur l'icone de l'imprimante et sélectionnez "//Définir par défaut//". Il se peut que vous trouviez une deuxième imprimante identifiée "//LBPxxxx-2//". Elle aura été créée par le système de détection automatique des imprimantes. Ignorez là, le système ne sait pas installer correctement ces imprimantes et si vous la supprimez elle reviendra. === Automatiser le démarrage du démon ccpd === Une fois correctement installée, pour que l'imprimante fonctionne d'une façon transparente pour l'utilisateur, il faut automatiser le démarrage du démon ccpd. Taper la commande suivante dans un [[:terminal]] : sudo update-rc.d ccpd defaults ===== Retirer une imprimante ===== En cas d'erreur de manipulation, il peut être utile d'avoir à retirer une imprimante installée de manière erronée.\\ Dans un [[:terminal]], on saisira : sudo /usr/sbin/ccpdadmin -x [nom de l'imprimante] où [nom de l'imprimante] est le nom que vous avez donné lors de l'[[#commande d'installation|installation dans cups]].\\ Lorsque aucune imprimante n'est installée, la commande : sudo /usr/sbin/ccpdadmin donnera un résultat de ce type : Usage: ccpdadmin [-p Printer-name -o Printer-dev-path] ccpdadmin [-x Remove-Printer-name] CUPS_ConfigPath = /etc/cups/ LOG Path = None UI Port = 59787 Entry Num :Spooler :Backend :FIFO path :Device Path :Status ------------------------------------------------------ \\ ===== Sources ===== * Documentation Canon fournie avec le pilote d'installation * la page man de lpadmin * (en)[[https://help.ubuntu.com/community/CanonCaptDrv190|Installation Capt 1.9 sur Ubuntu.com]] * (en) [[http://v0xel.wordpress.com/2006/05/23/canoon-lbp-1120-on-ubuntu-510-how-to|Canon lbp-1120 How to]] sur v0xel.wordpress.com * (en) [[https://ubuntuforums.org/showthread.php?t=1315665|Fil de discussion]] sur ubuntuforums.org ---- //Contributeurs:// [[:utilisateurs:murex]], [[:utilisateurs:fabux]], [[:utilisateurs:Antoine P]]